2025-07-30 12:25 구동을 위한 소스 변경

This commit is contained in:
myname 2025-07-30 12:26:05 +09:00
parent d96a801e81
commit a254d42117
289 changed files with 12432 additions and 2349 deletions

162
jik.txt Normal file
View File

@ -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년 뒤, 나는 어떤 '업'을 하는 사람으로 불리고 싶은가?'
그 질문에 대한 답을 찾아가는 여정 자체가, 당신을 이 시대 가장 현명한 '프로 직장인'으로 만들어 줄 것입니다.
**(마지막 자막: 당신의 커리어는, 당신이 직접 쓰는 한 편의 이야기입니다.)**
**진행자:**
여러분의 독립적이고 성공적인 커리어를 진심으로 응원하겠습니다. 감사합니다.
**(영상 끝)**

68
mobal.txt Normal file
View File

@ -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년, 아니 그 이상 젊어질 수 있습니다. 오늘부터 알려드린 건강한 습관들을 하나씩 실천해보시는 건 어떨까요? 활력 넘치는 당신의 머릿결을 응원합니다.
**(음악 마무리)**

217
ohship_later.txt Normal file
View File

@ -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 '제물 바침' 텍스트 표시)
(화면: 완성된 비교표 전체를 보여줌)
나레이터:
홍수의 원인과 결말의 세부적인 내용에서 약간의 차이가 있지만, '신이 홍수를 경고하고, 선택된 자가 배를
만들어 생명을 보존하고, 산에 정박한 뒤 새를 날려 땅을 확인하고, 제사를 지낸다'는 이야기의 핵심 골격은
사실상 동일합니다.

36
pom.xml
View File

@ -23,6 +23,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<webcontent-dir>${project.basedir}\src\main\webapp\WEB-INF\lib</webcontent-dir>
<db.type>postgresql</db.type>
</properties>
<repositories>
@ -166,6 +167,13 @@
<version>5.1.31</version>
</dependency>
<!-- postgresql driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.23</version>
</dependency>
<!-- oracle 10g driver -->
<!-- <dependency>
<groupId>ojdbc</groupId>
@ -579,9 +587,35 @@
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>egovframework/sqlmap/config/altibase/*.xml</exclude>
<exclude>egovframework/sqlmap/config/cubrid/*.xml</exclude>
<exclude>egovframework/sqlmap/config/maria/*.xml</exclude>
<exclude>egovframework/sqlmap/config/mysql/*.xml</exclude>
<exclude>egovframework/sqlmap/config/oracle/*.xml</exclude>
<exclude>egovframework/sqlmap/config/tibero/*.xml</exclude>
<exclude>egovframework/sqlmap/let/**/*.xml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/egovframework/sqlmap/config/${db.type}</directory>
<includes>
<include>*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/egovframework/sqlmap/let</directory>
<includes>
<include>**/*SQL_${db.type}.xml</include>
</includes>
</resource>
</resources>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>offedu</finalName>
<finalName>ipedu</finalName>
<pluginManagement>
<plugins>
<plugin>

View File

@ -565,9 +565,9 @@ public final class StringUtil2 {
public static void main(String args[]) throws Exception {
// 단문 장문 byte 체크
String smsTxt = "[한국저작권위원회] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
+ "[한국저작권위원회 adr.copyright.or.kr 마이페이지]에서 확인해주시기 바랍니다.";
String smsTxt2 = "[한한한한한한한국저작권위원회] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
String smsTxt = "[한국지식재산보호원] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
+ "[한국지식재산보호원 adr.copyright.or.kr 마이페이지]에서 확인해주시기 바랍니다.";
String smsTxt2 = "[한한한한한한한국지식재산보호원] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
+ "[해주시기 바랍랍니니다.";
int bytes = smsTxt2.getBytes("euc-kr").length;
System.out.println("1 bytes: " + bytes);

View File

@ -66,28 +66,28 @@ public class KccadrConstants {
// 조정 알림SMS 내용
public static final String ADR_SMS_URL = "adr.copyright.or.kr";
public static final String ADR_SMS_CN_001 = // 보완요청
"[한국저작권위원회] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
+ "[한국저작권위원회 "+ADR_SMS_URL+" 마이페이지]에서 확인해주시기 바랍니다.";
"[한국지식재산보호원] 신청하신 신청 접수내역에 보완이 필요합니다.\r\n"
+ "[한국지식재산보호원 "+ADR_SMS_URL+" 마이페이지]에서 확인해주시기 바랍니다.";
public static final String ADR_SMS_CN_002 = // 수수료납부요청
"[한국저작권위원회] 신청하신 신청이 가접수 되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청이 가접수 되었습니다.\r\n"
+ "[수수료 납부 페이지]에서 수수료 금액을 확인하신 후 납부해주시기 바랍니다.";
public static final String ADR_SMS_CN_003 = // 조정접수
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]이/가 최종접수 되었습니다." ;
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]이/가 최종접수 되었습니다." ;
public static final String ADR_SMS_CN_004 = // 신청통지서승인
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]의 1차 교육신청이 확정되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]의 1차 교육신청이 확정되었습니다.\r\n"
+ "[조정홈페이지 "+ADR_SMS_URL+"]를 통해 해당 내용을 확인해주시기 바랍니다.";
public static final String ADR_SMS_CN_005 = // 신청서 결재완료
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]의 신청서가 등록되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]의 신청서가 등록되었습니다.\r\n"
+ "[조정홈페이지 "+ADR_SMS_URL+"]를 통해 해당 내용을 확인해주시기 바랍니다.";
public static final String ADR_SMS_CN_006 = // 일정변경 결재완료
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]의 일정변경가 등록되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]의 일정변경가 등록되었습니다.\r\n"
+ "[조정홈페이지 "+ADR_SMS_URL+"]를 통해 해당 내용을 확인해주시기 바랍니다.";
public static final String ADR_SMS_CN_007 = // 신청확정 확인완료
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]의 담당자확정결정문이 등록되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]의 담당자확정결정문이 등록되었습니다.\r\n"
+ "[조정홈페이지 "+ADR_SMS_URL+"]를 통해 해당 내용을 확인해주시기 바랍니다.";
public static final String ADR_SMS_CN_008 = // 확정 + 미확정
"[한국저작권위원회] 신청하신 신청 신청번호 [{0}]의 담당자확정으로 성립/불성립 되었습니다.\r\n"
"[한국지식재산보호원] 신청하신 신청 신청번호 [{0}]의 담당자확정으로 성립/불성립 되었습니다.\r\n"
+ "[조정홈페이지 "+ADR_SMS_URL+"]를 통해 해당 내용을 확인해주시기 바랍니다.";

View File

@ -253,7 +253,7 @@ public class CrownixAjaxController {
modelAndView.addObject("data_43", vEACmpltCrtfcVO.getDesc3());
modelAndView.addObject("data_44", vEACmpltCrtfcVO.getDesc4());
modelAndView.addObject("data_7", "위 사람은 한국저작권위원회에서 진행하는 '"+vEACmpltCrtfcVO.getPrcsNm()+"'을 수료 하였기에 위 교육이수증을 부여 합니다.");
modelAndView.addObject("data_7", "위 사람은 한국지식재산보호원에서 진행하는 '"+vEACmpltCrtfcVO.getPrcsNm()+"'을 수료 하였기에 위 교육이수증을 부여 합니다.");
String s_rd = vEACmpltCrtfcVO.getRd();
s_rd = s_rd.substring(0,4)+""+s_rd.substring(4,6)+""+s_rd.substring(6,8)+"";

View File

@ -130,7 +130,7 @@ public class VeSendMail {
System.out.println("==============Cn================= \n"+Cn);
//메일제목
message.setSubject("[한국저작권위원회] 찾아가는 교육서비스_알림");
message.setSubject("[한국지식재산보호원] 찾아가는 교육서비스_알림");
/*
@ -157,7 +157,7 @@ public class VeSendMail {
email="school@copyright.or.kr";// 메일
}else if("Z".equals(sndFlag)) { //
fromAddr = "school@copyright.or.kr";
message.setSubject("[한국저작권위원회] 찾아가는 저작권 교육관련 협조요청 사항");
message.setSubject("[한국지식재산보호원] 찾아가는 저작권 교육관련 협조요청 사항");
}else if("S".equals(sndFlag)) { // 성인
name= "이미애 책임"; // 담당자명
phone="02-2669-0083";// 폰번호
@ -179,7 +179,7 @@ public class VeSendMail {
fromAddr = "cev@copyright.or.kr";
//메일제목
message.setSubject("[한국저작권위원회] 저작권 교육콘텐츠 수령 방법 안내");
message.setSubject("[한국지식재산보호원] 저작권 교육콘텐츠 수령 방법 안내");
//메일내용
Cn = "<!DOCTYPE html>\r\n" +
"<html lang=\"ko\">\r\n" +
@ -196,13 +196,13 @@ public class VeSendMail {
" <tbody>\r\n" +
" <tr>\r\n" +
" <td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:30px 40px 40px;\">\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"http://copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:200px; border:0px currentColor;vertical-align:middle\"></a>\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"http://copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:200px; border:0px currentColor;vertical-align:middle\"></a>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
" <tr>\r\n" +
" <td align=\"center\" bgcolor=\"#ffffff\" style=\"padding:0 40px 22px;\">\r\n" +
" <p style=\"margin:0;padding:24px;font-family:'Noto Sans KR';line-height:26px;text-align:left;border:3px solid rgb(223,223,223);\">\r\n" +
" 안녕하세요~<br>한국저작권위원회 교육개발팀 조혜진 주임입니다.<br><br>저작권 교육에 관심을 가지고 신청해주셔서 진심으로 감사드립니다.<br><br>메일 하단에 ‘콘텐츠 수령 방법’에 대한 안내 링크가 있습니다.<br>클릭하여 다운로드 후, 안내 방법에 따라 신청하신 동영상 파일을 저장하여 사용하시면 됩니다.<br><br>교육 종료 후에는 ‘수강내역목록-강의이수정보등록’을 통해 이수내용(교육일시/교육인원) 작성 부탁드립니다. 교육이수 확인을 위해 필요한 과정이므로 반드시 등록해주시기 바랍니다.<br><br><span style=\"text-decoration:underline;\">더불어 신규과정으로 마이크로러닝 콘텐츠 6종을 함께 추천해 드립니다.</span><br>마이크로러닝 콘텐츠는 3분 정도의 숏폼 콘텐츠로 학교(초·중·고·대), 공공기관 등을 대상으로 제작한 5종과 가볍게 볼 수 있는 아이스브레이킹 영상 1종으로 구성되어 있습니다.<br><br>교육 시작 전이나 쉬는 시간에 분위기 전환을 위해 활용하시기 좋으며, 관심 있으신 선생님께서는 아래 링크를 통해 신청 부탁드립니다.<br>※ 마이크로러닝 콘텐츠 신청하기: <a href=\"https://www.copyright.or.kr/offedu\" style=\"text-decoration:none;color:#000000;\" target=\"_blank\">https://www.copyright.or.kr/offedu</a><br><br>교육과정 안내 및 콘텐츠 신청과 관련된 추가 문의사항은<br>아래 번호로 연락주시면 상세히 안내해드리도록 하겠습니다.<br><br>감사합니다.<br><br>조혜진 드림<br><br><a href=\"tel:055-792-0217\" style=\"text-decoration:none;color:#000000;\">☎ 055-792-0217</a><br><br><a href=\"https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000016280&fileSn=0\" style=\"text-decoration:none;color:red;\"><strong style=\"font-size:20px;color:red\">[클릭하여 다운로드] ‘콘텐츠 수령 방법 안내’</strong></a>\r\n" +
" 안녕하세요~<br>한국지식재산보호원 교육개발팀 조혜진 주임입니다.<br><br>저작권 교육에 관심을 가지고 신청해주셔서 진심으로 감사드립니다.<br><br>메일 하단에 ‘콘텐츠 수령 방법’에 대한 안내 링크가 있습니다.<br>클릭하여 다운로드 후, 안내 방법에 따라 신청하신 동영상 파일을 저장하여 사용하시면 됩니다.<br><br>교육 종료 후에는 ‘수강내역목록-강의이수정보등록’을 통해 이수내용(교육일시/교육인원) 작성 부탁드립니다. 교육이수 확인을 위해 필요한 과정이므로 반드시 등록해주시기 바랍니다.<br><br><span style=\"text-decoration:underline;\">더불어 신규과정으로 마이크로러닝 콘텐츠 6종을 함께 추천해 드립니다.</span><br>마이크로러닝 콘텐츠는 3분 정도의 숏폼 콘텐츠로 학교(초·중·고·대), 공공기관 등을 대상으로 제작한 5종과 가볍게 볼 수 있는 아이스브레이킹 영상 1종으로 구성되어 있습니다.<br><br>교육 시작 전이나 쉬는 시간에 분위기 전환을 위해 활용하시기 좋으며, 관심 있으신 선생님께서는 아래 링크를 통해 신청 부탁드립니다.<br>※ 마이크로러닝 콘텐츠 신청하기: <a href=\"https://www.copyright.or.kr/offedu\" style=\"text-decoration:none;color:#000000;\" target=\"_blank\">https://www.copyright.or.kr/offedu</a><br><br>교육과정 안내 및 콘텐츠 신청과 관련된 추가 문의사항은<br>아래 번호로 연락주시면 상세히 안내해드리도록 하겠습니다.<br><br>감사합니다.<br><br>조혜진 드림<br><br><a href=\"tel:055-792-0217\" style=\"text-decoration:none;color:#000000;\">☎ 055-792-0217</a><br><br><a href=\"https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000016280&fileSn=0\" style=\"text-decoration:none;color:red;\"><strong style=\"font-size:20px;color:red\">[클릭하여 다운로드] ‘콘텐츠 수령 방법 안내’</strong></a>\r\n" +
" </p>\r\n" +
" </td>\r\n" +
" </tr>\r\n" +
@ -212,7 +212,7 @@ public class VeSendMail {
" <tbody>\r\n" +
" <tr>\r\n" +
" <td align=\"left\" style=\"padding:0 28px;\">\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle\" class=\"CToWUd\"></a>\r\n" +
" <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle\" class=\"CToWUd\"></a>\r\n" +
" </td>\r\n" +
" <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\r\n" +
" <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\r\n" +
@ -282,7 +282,7 @@ public class VeSendMail {
.replace("[[_Phone_]]", phone)
.replace("[[_Phone_tel_]]", phone)
.replace("[[_Email_]]", email)
.replace("[[_Content_]]", "안녕하세요, 한국저작권위원회 교육운영팀입니다.<br>"+Cn)
.replace("[[_Content_]]", "안녕하세요, 한국지식재산보호원 교육운영팀입니다.<br>"+Cn)
;
Cn = emailContent;
}else if("S".equals(sndFlag)){ // S -> 찾교성인 . 템플릿 변경
@ -357,7 +357,7 @@ public class VeSendMail {
+ "<tbody>"
+ "<tr>"
+ "<td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:30px 40px 40px;\">"
+ "<a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"http://www.edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:200px; border:0px currentColor;vertical-align:middle\"></a>"
+ "<a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"http://www.edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:200px; border:0px currentColor;vertical-align:middle\"></a>"
+ "</td>"
+ "</tr>"
+ "<tr>"
@ -378,7 +378,7 @@ public class VeSendMail {
+ "<tbody>"
+ "<tr>"
+ " <td align=\"left\" style=\"padding:0 28px;\">\r\n"
+ " <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle\" class=\"CToWUd\"></a>\r\n"
+ " <a href=\"https://oneid.copyright.or.kr/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle\" class=\"CToWUd\"></a>\r\n"
+ " </td>\r\n"
+ " <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\r\n"
+ " <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\r\n"

View File

@ -94,7 +94,7 @@ public class VEInstrFeeAcmdtVO extends ComDefaultVO implements Serializable {
private String scholArea;//학교지역
private String feeInsttCd;//강사료지급주체 //01-한국저작권위원회,02-신청기관
private String feeInsttCd;//강사료지급주체 //01-한국지식재산보호원,02-신청기관
public String getOnewayDstnc() {

View File

@ -780,7 +780,7 @@ public class EduRsltMngAdultController {
System.out.println(vEInstrFeeAcmdtVO.getFeeInsttCd());
System.out.println(vEInstrFeeAcmdtVO.getFeeInsttCd());
if("01".equals(vo.getFeeInsttCd())){
vo.setFeeInsttCd("한국저작권위원회");
vo.setFeeInsttCd("한국지식재산보호원");
}else if("02".equals(vo.getFeeInsttCd())){
vo.setFeeInsttCd("신청기관");
}

View File

@ -773,7 +773,7 @@ public class SndMngController {
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:25px 40px 0 40px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/web/main/mainPage.do\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:170px; border:0px currentColor;vertical-align:middle\"></a>\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/web/main/mainPage.do\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:170px; border:0px currentColor;vertical-align:middle\"></a>\n" +
" </td>\n" +
" </tr>\n" +
" <tr>\n" +
@ -828,7 +828,7 @@ public class SndMngController {
" <span style=\"color:#e95504;\">3. 강사참석확인서</span>: 저작권배움터 완료목록에서 양식을 다운로드 받으신 후,<br>강사서명 날인후 스캔본 업로드 요청<br><br>\n" +
" <span style=\"color:#926b5d; font-weight: bold;\">※ 교육 시 강의 녹화, 재사용, 배포 등은 저작권법 위반이므로 사전에 강사와 협의가 필요합니다.</span><br><br>\n" +
" 1~3의 요청사항은 교육 완료 후 일주일 이내 시스템 반영 부탁드립니다.<br>\n" +
" 기타 문의사항은 한국저작권위원회 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 기타 문의사항은 한국지식재산보호원 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 감사합니다. \n" +
" </p>\n" +
" </td>\n" +
@ -839,7 +839,7 @@ public class SndMngController {
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" style=\"padding:0 28px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle; width:150px;\" class=\"CToWUd\"></a>\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle; width:150px;\" class=\"CToWUd\"></a>\n" +
" </td>\n" +
" <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\n" +
" <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\n" +
@ -872,7 +872,7 @@ public class SndMngController {
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:25px 40px 0 40px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/web/main/mainPage.do\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:170px; border:0px currentColor;vertical-align:middle\"></a>\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/web/main/mainPage.do\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:170px; border:0px currentColor;vertical-align:middle\"></a>\n" +
" </td>\n" +
" </tr>\n" +
" <tr>\n" +
@ -933,7 +933,7 @@ public class SndMngController {
" <span style=\"color:#e95504;\">3. 강사참석확인서</span>: 저작권배움터 완료목록에서 양식을 다운로드 받으신 후,<br>강사서명 날인후 스캔본 업로드 요청<br><br>\n" +
" <span style=\"color:#926b5d; font-weight: bold;\">※ 교육 시 강의 녹화, 재사용, 배포 등은 저작권법 위반이므로 사전에 강사와 협의가 필요합니다.</span><br><br>\n" +
" 1~3의 요청사항은 교육 완료 후 일주일 이내 시스템 반영 부탁드립니다.<br>\n" +
" 기타 문의사항은 한국저작권위원회 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 기타 문의사항은 한국지식재산보호원 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 감사합니다. \n" +
" </p>\n" +
" </td>\n" +
@ -944,7 +944,7 @@ public class SndMngController {
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" style=\"padding:0 28px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle; width:150px;\" class=\"CToWUd\"></a>\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국지식재산보호원-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle; width:150px;\" class=\"CToWUd\"></a>\n" +
" </td>\n" +
" <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\n" +
" <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\n" +

View File

@ -385,92 +385,102 @@ public class MainController {
@RequestMapping(value = "/web/main/mainPage.do")
public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception{
//메인이미지
String referer = (String)request.getHeader("REFERER");
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
model.addAttribute("userAuthority", userAuthority); //권한 - 강사일 메인의 청소년, 성인, 체험교실, 콘텐츠 메뉴 링크이동 막기 위해 추가
/** EgovPropertyService.sample */
MainzoneVO mainzoneVO = new MainzoneVO();
mainzoneVO.setPageUnit(propertiesService.getInt("pageUnit"));
mainzoneVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit());
paginationInfo.setPageSize(mainzoneVO.getPageSize());
mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex());
mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
mainzoneVO.setUseYn("Y"); //사용하는것만
mainzoneVO.setDeviceType("P"); //PC
List<?> mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지
mainzoneVO.setDeviceType("M"); //모바일
List<?> mainzoneListM = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지
model.addAttribute("mainzoneList", mainzoneList); //PC
model.addAttribute("mainzoneListM", mainzoneListM); //모바일
/*
* 반응형으로 사용을 해야해서 모바일에서도 팝업 영역의 데이터를 불러와야해서 주석처리했음
* 우영두
* 2021.10.29
* */
/** 팝업 알림창괸리 */
//if(!isMobile(request)){ //PC인경우만
PopupManageVO popupManageVO = new PopupManageVO();
popupManageVO.setRecordCountPerPage(10); //10개만
popupManageVO.setNtceAt("Y"); //사용만
popupManageVO.setMainPageFlag("Y") ; //메인화면의 용도(시작일 종료일 사이 조회)
List<?> popupList = egovPopupManageService.selectPopupMainList(popupManageVO);
model.addAttribute("popupList", popupList);
//}
/** 팝업존 알림창괸리 */
//if(!isMobile(request)){
PopupzoneVO popupzoneVo = new PopupzoneVO();
popupzoneVo.setFirstIndex(0);
popupzoneVo.setSeCd("02"); //좌측팝업
popupzoneVo.setUseYn("Y");
try {
System.out.println("aaaaaaaaaaaaaaaaaaaaaa");
String referer = (String)request.getHeader("REFERER");
List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
model.addAttribute("popupzoneList", popupzoneList);
//popupzoneVo.setSeCd("03");
//List<?> popupzoneTopList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
//model.addAttribute("popupzoneTopList", popupzoneTopList);
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
model.addAttribute("userAuthority", userAuthority); //권한 - 강사일 메인의 청소년, 성인, 체험교실, 콘텐츠 메뉴 링크이동 막기 위해 추가
/** EgovPropertyService.sample */
MainzoneVO mainzoneVO = new MainzoneVO();
mainzoneVO.setPageUnit(propertiesService.getInt("pageUnit"));
mainzoneVO.setPageSize(propertiesService.getInt("pageSize"));
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex());
paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit());
paginationInfo.setPageSize(mainzoneVO.getPageSize());
mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex());
mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
mainzoneVO.setUseYn("Y"); //사용하는것만
mainzoneVO.setDeviceType("P"); //PC
List<?> mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지
mainzoneVO.setDeviceType("M"); //모바일
List<?> mainzoneListM = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지
//}
/** 게시판 조회 - 공지사항 */
BoardVO boardVO = new BoardVO();
boardVO.setRecordCountPerPage(5); //게시글
boardVO.setFirstIndex(0); //
boardVO.setBbsId("BBSMSTR_000000000653");
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
//게시글 내용 html 태그 삭제
for(int i=0; i<vo.size(); i++) {
vo.get(i).setNttCn(vo.get(i).getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0]);
model.addAttribute("mainzoneList", mainzoneList); //PC
model.addAttribute("mainzoneListM", mainzoneListM); //모바일
/*
* 반응형으로 사용을 해야해서 모바일에서도 팝업 영역의 데이터를 불러와야해서 주석처리했음
* 우영두
* 2021.10.29
* */
/** 팝업 알림창괸리 */
//if(!isMobile(request)){ //PC인경우만
PopupManageVO popupManageVO = new PopupManageVO();
popupManageVO.setRecordCountPerPage(10); //10개만
popupManageVO.setNtceAt("Y"); //사용만
popupManageVO.setMainPageFlag("Y") ; //메인화면의 용도(시작일 종료일 사이 조회)
List<?> popupList = egovPopupManageService.selectPopupMainList(popupManageVO);
model.addAttribute("popupList", popupList);
//}
/** 팝업존 알림창괸리 */
//if(!isMobile(request)){
PopupzoneVO popupzoneVo = new PopupzoneVO();
popupzoneVo.setFirstIndex(0);
popupzoneVo.setSeCd("02"); //좌측팝업
popupzoneVo.setUseYn("Y");
List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
model.addAttribute("popupzoneList", popupzoneList);
//popupzoneVo.setSeCd("03");
//List<?> popupzoneTopList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
//model.addAttribute("popupzoneTopList", popupzoneTopList);
//}
/** 게시판 조회 - 공지사항 */
BoardVO boardVO = new BoardVO();
boardVO.setRecordCountPerPage(5); //게시글
boardVO.setFirstIndex(0); //
boardVO.setBbsId("BBSMSTR_000000000653");
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
//게시글 내용 html 태그 삭제
for(int i=0; i<vo.size(); i++) {
vo.get(i).setNttCn(vo.get(i).getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0]);
}
model.addAttribute("bbsList", vo);
/** 게시판 조회 - 교육자료실 */
BoardVO boardVO_2 = new BoardVO();
boardVO_2.setRecordCountPerPage(5); //게시글
boardVO_2.setFirstIndex(0); //
boardVO_2.setBbsId("BBSMSTR_000000000000");
List<BoardVO> vo_2 = bbsMngService.selectMainBoardRecent(boardVO_2);
//게시글 내용 html 태그 삭제
for(int i=0; i<vo_2.size(); i++) {
vo_2.get(i).setNttCn(vo_2.get(i).getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0]);
}
model.addAttribute("bbsList_2", vo_2);
System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
}catch(Exception ex) {
ex.printStackTrace();
System.out.println(ex.getMessage());
}
model.addAttribute("bbsList", vo);
/** 게시판 조회 - 교육자료실 */
BoardVO boardVO_2 = new BoardVO();
boardVO_2.setRecordCountPerPage(5); //게시글
boardVO_2.setFirstIndex(0); //
boardVO_2.setBbsId("BBSMSTR_000000000000");
List<BoardVO> vo_2 = bbsMngService.selectMainBoardRecent(boardVO_2);
//게시글 내용 html 태그 삭제
for(int i=0; i<vo_2.size(); i++) {
vo_2.get(i).setNttCn(vo_2.get(i).getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0]);
}
model.addAttribute("bbsList_2", vo_2);
return "web/main/mainPage";
}
@ -963,22 +973,27 @@ public class MainController {
public String firstSiteCheck(HttpServletRequest request, @RequestParam Map<String, Object> commandMap,
ModelMap model)
throws Exception {
System.out.println("/com/firstSiteCheck.do");
SiteManagerVO siteManagerVO = new SiteManagerVO();
//점검중 페이지 체크
siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO);
if("Y".equals(siteManagerVO.getInspFlag() )){ //점검중
return "web/com/insp";
}
//SSO 토큰 유효시간 timeout 메인페이지로 이동
if(!"".equals(request.getSession().getAttribute("SsoLogout"))) {
if(request.getSession().getAttribute("SsoLogout") != null) {
request.removeAttribute("SsoLogout");
return "redirect:/";
try {
System.out.println("/com/firstSiteCheck.do");
SiteManagerVO siteManagerVO = new SiteManagerVO();
//점검중 페이지 체크
siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO);
if("Y".equals(siteManagerVO.getInspFlag() )){ //점검중
return "web/com/insp";
}
//SSO 토큰 유효시간 timeout 메인페이지로 이동
if(!"".equals(request.getSession().getAttribute("SsoLogout"))) {
if(request.getSession().getAttribute("SsoLogout") != null) {
request.removeAttribute("SsoLogout");
return "redirect:/";
}
}
model.addAttribute("siteManagerVO", siteManagerVO);
}catch(Exception ex) {
ex.printStackTrace();
}
model.addAttribute("siteManagerVO", siteManagerVO);
return "web/com/webLayout";
}

View File

@ -20,14 +20,14 @@ Globals.OsType = WINDOWS
Globals.LocalIp = 127.0.0.1
# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
Globals.DbType = tibero
Globals.DbType = postgresql
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
Globals.UserName= teduUr
Globals.Password= tedu1234
Globals.UserName= koipaEdu
Globals.Password= koipaEdu123
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
Globals.DriverClassName=org.postgresql.Driver
#\ub85c\uceec DB
Globals.Url=jdbc:tibero:thin:@192.168.0.60:8633:tibero
Globals.Url=jdbc:postgresql://192.168.0.60:5432/koipaEduDB
#\uc6b4\uc601 \uac1c\ubc1cDB
#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
#\uc6b4\uc601 DB

View File

@ -32,7 +32,7 @@
<property name="validationQuery" value="select 1" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="7200000" />
<!-- 특정 시간마다 validationQuery 실행 셋팅 끝 -->
<!-- 특정 시간마다 validationQuery<EFBFBD><EFBFBD><EFBFBD> 실행 셋팅 끝 -->
</bean>
<bean id="dataSource-mysql" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
@ -110,6 +110,39 @@
</property>
</bean>
<!-- PostgreSQL -->
<bean id="dataSource-postgresql-spied" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}" />
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}" />
<property name="password" value="${Globals.Password}" />
<!-- 특정 시간마다 validationQuery를 실행 셋팅 시작 -->
<property name="validationQuery" value="select 1" />
<property name="initialSize" value="10" />
<property name="minIdle" value="10" />
<property name="maxWait" value="30000" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="100" />
<property name="minEvictableIdleTimeMillis" value="60000" />
<property name="removeAbandonedTimeout" value="60" />
<property name="timeBetweenEvictionRunsMillis" value="7200000" />
<property name="testOnBorrow" value="true" />
<property name="testWhileIdle" value="true" />
<!-- 특정 시간마다 validationQuery를 실행 셋팅 끝 -->
</bean>
<bean id="dataSource-postgresql" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSource-postgresql-spied" />
<property name="logFormatter">
<bean class="kcc.let.utl.log4j.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="margin" value="8" />
<property name="sqlPrefix" value="SQL:" />
</bean>
</property>
</bean>
<!-- cubrid -->
<bean id="dataSource-cubrid" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}" />
@ -118,4 +151,4 @@
<property name="password" value="${Globals.Password}" />
</bean>
</beans>
</beans>

View File

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd"
xmlns:util="http://www.springframework.org/schema/util" >
<!-- 프로퍼티 정보 설정 -->
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
<entry key="posblAtchFileSize" value="5242880"/>
<entry key="posblResveThumbAtchFileNum" value="1"/>
<entry key="posblResveImgAtchFileNum" value="3"/>
<entry key="posblResvePortpolioAtchFileNum" value="3"/>
<!-- <entry key="Globals.fileStorePath" value="/user/file/sht/"/>
<entry key="Globals.addedOptions" value="false"/> -->
<entry key="Globals.fileStorePath" value="/app/doc/offedu/sht/"/>
<entry key="Globals.resveFileStorePath" value="/app/doc/offedu/resve/"/>
<entry key="Globals.addedOptions" value="false"/>
</map>
</property>
</bean>
<util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals.properties" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd"
xmlns:util="http://www.springframework.org/schema/util" >
<!-- 프로퍼티 정보 설정 -->
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
<entry key="posblAtchFileSize" value="5242880"/>
<entry key="posblResveThumbAtchFileNum" value="1"/>
<entry key="posblResveImgAtchFileNum" value="3"/>
<entry key="posblResvePortpolioAtchFileNum" value="3"/>
<!-- <entry key="Globals.fileStorePath" value="/user/file/sht/"/>
<entry key="Globals.addedOptions" value="false"/> -->
<entry key="Globals.fileStorePath" value="/app/doc/ipedu/sht/"/>
<entry key="Globals.resveFileStorePath" value="/app/doc/ipedu/resve/"/>
<entry key="Globals.addedOptions" value="false"/>
</map>
</property>
</bean>
<util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals.properties" />
</beans>

View File

@ -13,6 +13,7 @@
<security:http pattern="/resource/**" security="none"/>
<security:http pattern="\A/WEB-INF/jsp/.*\Z" request-matcher="regex" security="none"/>
<!-- , mber_seq AS mber_seq -->
<egov-security:config id="securityConfig"
loginUrl="/uat/uia/actionMain.do"
logoutSuccessUrl="/uat/uia/actionMain.do"
@ -23,7 +24,8 @@
jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP,
USER_ADRES, USER_EMAIL, USER_SE, '-' ORGNZT_ID, ESNTL_ID,
'-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY, mber_seq AS mber_seq
'-' ORGNZT_NM, AUTHOR_CODE AS AUTHORITY
, '' AS mber_seq
FROM COMVNUSERMASTER A
INNER JOIN LETTNEMPLYRSCRTYESTBS B ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID
WHERE CONCAT(USER_SE, USER_ID) = ?"

View File

@ -99,7 +99,7 @@
) VALUES (
MMS_MSG_SEQ.NEXTVAL
,#trId#
,'[한국저작권위원회]'
,'[한국지식재산보호원]'
,replace(#rpplPhone#, '-', '')
,#sendTelNo#
,'0'

View File

@ -0,0 +1,820 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="UserLog">
<typeAlias alias="egovMap"
type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<!-- 로그인로그 VO -->
<typeAlias alias="loginLog"
type="kcc.let.sym.log.clg.service.LoginLog" />
<!-- 로그인로그 맵 -->
<resultMap id="LoginLogVO" class="kcc.let.sym.log.clg.service.LoginLog">
<result property="logId" column="LOG_ID" />
<result property="creatDt" column="CREAT_DT" />
<result property="loginMthd" column="CONECT_MTHD" />
<result property="loginIp" column="CONECT_IP" />
<result property="loginId" column="CONECT_ID" />
<result property="loginNm" column="LOGIN_NM" />
</resultMap>
<!-- 로그인 로그 등록 -->
<insert id="LoginLogDAO.logInsertLoginLog" parameterClass="loginLog">
/* LoginLogDAO.logInsertLoginLog */
INSERT INTO LETTNLOGINLOG
( LOG_ID
, CONECT_MTHD
, CONECT_ID
, CONECT_IP
, ERROR_OCCRRNC_AT
, ERROR_CODE
<isNotEmpty property="userAt">
,USER_AT
</isNotEmpty>
<isNotEmpty property="deviceType">
,DEVICE_TYPE
</isNotEmpty>
<isNotEmpty property="progrmFileNm">
,PROGRM_FILE_NM
</isNotEmpty>
<isNotEmpty property="menuNm">
,MENU_NM
</isNotEmpty>
, CREAT_DT )
VALUES ( #logId#
, #loginMthd#
, #loginId#
, #loginIp#
, #errOccrrAt#
, #errorCode#
<isNotEmpty property="userAt">
,#userAt#
</isNotEmpty>
<isNotEmpty property="deviceType">
,#deviceType#
</isNotEmpty>
<isNotEmpty property="progrmFileNm">
, (SELECT PROGRM_FILE_NM FROM LETTNMENUINFO WHERE PROGRM_FILE_NM = #progrmFileNm# LIMIT 1 )
</isNotEmpty>
<isNotEmpty property="menuNm">
,#menuNm#
</isNotEmpty>
, NOW())
</insert>
<!-- 로그인 로그 상세 조회 -->
<select id="LoginLogDAO.selectLoginLog" parameterClass="loginLog" resultMap="LoginLogVO">
<![CDATA[
SELECT
a.LOG_ID
, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI') CREAT_DT
, a.CONECT_MTHD
, a.CONECT_IP
, a.CONECT_ID
, b.USER_NM AS LOGIN_NM
FROM
LETTNLOGINLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE
a.LOG_ID = #logId#
]]>
</select>
<!-- 로그인 로그 목록 조회 -->
<select id="LoginLogDAO.selectLoginLogInf" parameterClass="loginLog" resultMap="LoginLogVO">
<![CDATA[
SELECT
a.LOG_ID
, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS') CREAT_DT
, a.CONECT_MTHD
, a.CONECT_IP
, a.CONECT_ID
, b.USER_ID AS LOGIN_NM
FROM
LETTNLOGINLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE
1 = 1
]]>
<isNotEmpty prepend="AND" property="searchWrd">
<![CDATA[ a.CONECT_MTHD LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchBgnDe">
<![CDATA[ TO_CHAR(a.CREAT_DT, 'YYYYMMDD') BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="userAt">
USER_AT = #userAt#
</isNotEmpty>
<![CDATA[ ORDER BY a.CREAT_DT DESC ]]>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 로그인 로그 총건수 -->
<select id="LoginLogDAO.selectLoginLogInfCnt" parameterClass="loginLog" resultClass="java.lang.Integer">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT COUNT(a.LOG_ID) as cnt
FROM
LETTNLOGINLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE
1 = 1
]]>
<isNotEmpty prepend="AND" property="searchWrd">
<![CDATA[ a.CONECT_MTHD LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchBgnDe">
<![CDATA[ TO_CHAR(a.CREAT_DT, 'YYYYMMDD') BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="userAt">
USER_AT = #userAt#
</isNotEmpty>
</select>
<!-- 오늘 날짜 로그인 로그 상세 조회 -->
<select id="LoginLogDAO.selectLoginUserLog" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
a.LOG_ID
, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI') CREAT_DT
, a.CONECT_MTHD
, a.CONECT_IP
, a.CONECT_ID
FROM
LETTNLOGINLOG a
WHERE
TO_CHAR(CREAT_DT, 'YYYYMMDD') = #creatDt#
AND CONECT_IP = #loginIp#
AND CONECT_ID = '' /* 관리자 제외 */
LIMIT 1
]]>
</select>
<!-- 관리자 대쉬보드 접속 리스트 -->
<select id="LoginLogDAO.selectMainAmdinLog" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT
a.LOG_ID logId ,
b.USER_NM loginNm,
TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS' ) creatDt,
a.CONECT_IP loginIp,
a.PROGRM_FILE_NM AS progrmFileNm,
a.MENU_NM AS menuNm,
b.USER_ID AS loginId
FROM
LETTNLOGINLOG a INNER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE 1=1
AND a.CONECT_ID != ''
ORDER BY a.LOG_ID DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 관리자 대쉬보드 접속 TOTCNT -->
<select id="LoginLogDAO.selectMainAmdinLogTotCnt" parameterClass="loginLog" resultClass="int">
/* 임시.*NOT_SQL_LOG.* */
SELECT
COUNT(a.LOG_ID)
FROM
LETTNLOGINLOG a INNER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE 1=1
AND a.CONECT_ID != ''
</select>
<!-- 관리자 로그 등록 -->
<insert id="LoginLogDAO.logInsertAdminLoginLog" parameterClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
/* LoginLogDAO.logInsertAdminLoginLog */
INSERT INTO LETTNLOGINLOG
( LOG_ID
, CONECT_MTHD
, CONECT_ID
, CONECT_IP
, ERROR_OCCRRNC_AT
, ERROR_CODE
<isNotEmpty property="userAt">
,USER_AT
</isNotEmpty>
<isNotEmpty property="deviceType">
,DEVICE_TYPE
</isNotEmpty>
,PROGRM_FILE_NM
,MENU_NM
, CREAT_DT )
VALUES ( #logId#
, #loginMthd#
, #loginId#
, #loginIp#
, #errOccrrAt#
, #errorCode#
<isNotEmpty property="userAt">
,#userAt#
</isNotEmpty>
<isNotEmpty property="deviceType">
,#deviceType#
</isNotEmpty>
,
( 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())
</insert>
<!-- 관리자 대쉬보드 접속 리스트 -->
<select id="LoginLogDAO.selectAmdinLog" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT
COUNT(1) OVER() AS totCnt ,
a.ADMINLOG_ID logId ,
b.USER_NM loginNm,
TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS' ) creatDt,
a.CONECT_IP loginIp,
a.PROGRM_FILE_NM AS progrmFileNm,
a.MENU_NM AS menuNm,
a.APPRO_NM AS approNm,
b.USER_ID AS loginId,
a.URL AS url
FROM
LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE 1=1
AND a.CONECT_ID != ''
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%') OR a.URL LIKE CONCAT('%' , #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchStartDt">
AND TO_CHAR(a.CREAT_DT, 'YYYY.MM.DD' ) >= #searchStartDt#
</isNotEmpty>
<isNotEmpty property="searchEndDt">
AND #searchEndDt# >= TO_CHAR(a.CREAT_DT, 'YYYY.MM.DD' )
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 관리자 대쉬보드 접속 TOTCNT -->
<select id="LoginLogDAO.selectAmdinLogTotCnt" parameterClass="loginLog" resultClass="int">
/* 임시.*NOT_SQL_LOG.* */
SELECT
COUNT(a.ADMINLOG_ID)
FROM
LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b
ON a.CONECT_ID = b.ESNTL_ID
WHERE 1=1
AND a.CONECT_ID != ''
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%') OR a.URL LIKE CONCAT('%' , #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
</select>
<!-- 관리자 로그설정 메소드 리스트 -->
<select id="LoginLogDAO.selectLogMethodList" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT
COUNT(A.ADMOT_ID) OVER() AS totCnt,
A.ADMOT_ID AS admotId,
A.METHOD_NM AS methodNm,
TO_CHAR(A.CREAT_DT, 'YYYY-MM-DD') AS creatDt,
A.MENU_NM AS menuNm,
A.APPRO_NM AS approNm,
A.PARAM AS param,
A.CREAT_DT AS tempSortNum,
A.PRIVACY AS privacy,
A.method_cd as dateType
FROM LETTNADMINMETHOD A
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( A.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%') OR A.METHOD_NM LIKE CONCAT('%' , #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
A.METHOD_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 관리자 로그설정 메소드 VO -->
<select id="LoginLogDAO.selectLogMethod" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT
A.ADMOT_ID AS admotId,
A.METHOD_NM AS methodNm,
TO_CHAR(A.CREAT_DT, 'YYYY-MM-DD') AS creatDt,
A.MENU_NM AS menuNm,
A.APPRO_NM AS approNm,
A.PARAM AS param,
A.PRIVACY AS privacy,
A.method_cd AS dateType
FROM LETTNADMINMETHOD A
WHERE 1=1
<isNotEmpty property="admotId">
AND ADMOT_ID = #admotId#
</isNotEmpty>
<isNotEmpty property="methodNm">
AND METHOD_NM = #methodNm#
</isNotEmpty>
<isNotEmpty property="param">
AND PARAM = #param#
</isNotEmpty>
</select>
<!-- 관리자 로그설정 메소드 수정 -->
<update id="LoginLogDAO.updateLogMethod" parameterClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
UPDATE LETTNADMINMETHOD
SET METHOD_NM = #methodNm#
, PARAM = #param#
, MENU_NM = #menuNm#
, APPRO_NM = #approNm#
, PRIVACY = #privacy#
WHERE ADMOT_ID = #admotId#
</update>
<insert id="LoginLogDAO.insertLogMethod" parameterClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
INSERT INTO LETTNADMINMETHOD
(
ADMOT_ID,
METHOD_NM,
PARAM,
MENU_NM,
APPRO_NM,
PRIVACY
)
VALUES
(
#admotId#,
#methodNm#,
#param#,
#menuNm#,
#approNm#,
#privacy#
)
</insert>
<delete id="LoginLogDAO.deleteLogMethod">
DELETE FROM LETTNADMINMETHOD
WHERE ADMOT_ID=#admotId#
</delete>
<!-- 이전 관리자 로그인 로그 상세 조회 -->
<select id="LoginLogDAO.selectBeforeAmdinLog" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT TO_CHAR(A.CREAT_DT, 'YYYY-MM-DD HH24:MI' ) creatDt FROM LETTNADMINLOG A
WHERE A.CONECT_ID = #conectId#
AND A.PROGRM_FILE_NM = 'selectActionSecurityLogin'
ORDER BY A.CREAT_DT DESC
LIMIT 1
</select>
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
<insert id="LoginLogDAO.logInsertWebLoginLog" parameterClass="loginLog">
/* 임시.*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#
</insert>
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1" parameterClass="loginLog">
/* 임시.*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#
</update>
<!-- 사용자 접속 로그 등록(매뉴에 없는 페이지 등록용 )-->
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2" parameterClass="loginLog">
/* 임시.*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()
</update>
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1_bak" parameterClass="loginLog">
/* 임시.*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
</update>
<!-- 사용자 접속 로그 등록(매뉴에 없는 페이지 등록용 )-->
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2_bak" parameterClass="loginLog">
/* 임시.*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()
</update>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) -->
<update id="LoginLogDAO.logInsertWebLoginLogNewStep3_bak" parameterClass="loginLog">
/* 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
</update>
<!-- 사용자 메뉴별 접속 리스트 -->
<select id="LoginLogDAO.selectWebLogList" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT COUNT(A.MENU_NM) OVER() AS totCnt,
COUNT(B.CREAT_DT) menuCnt,
A.MENU_NM AS menuNm,
TO_CHAR(B.CREAT_DT , 'YYYY-MM-DD') AS creatDt,
A.PROGRM_FILE_NM as progrmFileNm,
A.MENU_NO as logId /** 임시정렬번호 */
FROM (
SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO
FROM
LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != ''
<isNotEmpty property="searchKeyword">
AND A.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isNotEmpty>
) A
LEFT JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
WHERE 1=1
<isNotEmpty property="searchKeyword">
</isNotEmpty>
GROUP BY menuNm, creatDt
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 사용자 메뉴별 접속 로그 리스트 -->
<select id="LoginLogDAO.selectWebMenuLogList" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
<isEqual property="dateType" compareValue="D"> /** 일별 */
SELECT C.creatDt creatDt ,
C.menuNm menuNm,
C.progrmFileNm progrmFileNm,
C.menuNo menuNo,
COALESCE(D.menuCnt , 0) menuCnt
FROM
(
SELECT A.creatDt , B.menuNm , B.progrmFileNm, B.menuNo FROM
(
SELECT TO_CHAR(d, 'YYYY-MM-DD') AS creatDt
FROM generate_series(
CAST(#searchBgnDe# AS DATE),
CAST(#searchEndDe# AS DATE),
'1 day'::interval
) d
) A
CROSS JOIN
( SELECT A.MENU_NM AS menuNm,
A.PROGRM_FILE_NM AS progrmFileNm ,
A.MENU_NO AS menuNo
FROM LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B
ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
INNER JOIN LETTNMENUCREATDTLS C
ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != ''
) B
) C
LEFT JOIN
(
SELECT COUNT(B.CREAT_DT) menuCnt, A.MENU_NM AS menuNm, TO_CHAR(B.CREAT_DT , 'YYYY-MM-DD') AS creatDt, A.PROGRM_FILE_NM as progrmFileNm, A.MENU_NO as logId /** 임시정렬번호 */ FROM ( SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO FROM LETTNMENUINFO A INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
WHERE 1=1
GROUP BY menuNm , creatDt
) D ON C.creatDt = D.creatDt
AND C.progrmFileNm = D.progrmFileNm
WHERE 1=1
</isEqual>
<isEqual property="dateType" compareValue="M"> /** 월별 */
<![CDATA[
SELECT C.creatDt creatDt ,
C.menuNm menuNm,
C.progrmFileNm progrmFileNm,
C.menuNo menuNo ,
COALESCE(D.menuCnt , 0) menuCnt
FROM
(
SELECT A.creatDt , B.menuNm , B.progrmFileNm, B.menuNo FROM
(
SELECT TO_CHAR(m, 'YYYY-MM') creatDt
FROM generate_series(
date_trunc('month', CAST(#searchBgnDe# AS DATE)),
date_trunc('month', CAST(#searchEndDe# AS DATE)),
'1 month'::interval
) m
) A
CROSS JOIN
( SELECT A.MENU_NM AS menuNm,
A.PROGRM_FILE_NM AS progrmFileNm ,
A.MENU_NO AS menuNo
FROM LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B
ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
INNER JOIN LETTNMENUCREATDTLS C
ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != ''
) B
) C
LEFT JOIN
(
SELECT COUNT(B.CREAT_DT) menuCnt, A.MENU_NM AS menuNm, TO_CHAR(B.CREAT_DT , 'YYYY-MM') AS creatDt, A.PROGRM_FILE_NM as progrmFileNm, A.MENU_NO as logId /** 임시정렬번호 */ FROM ( SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO FROM LETTNMENUINFO A INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
WHERE 1=1
GROUP BY menuNm , creatDt
) D ON C.creatDt = D.creatDt
AND C.progrmFileNm = D.progrmFileNm
WHERE 1=1
]]>
</isEqual>
<isEqual property="dateType" compareValue="Y"> /** 년별 */
<![CDATA[
SELECT C.creatDt creatDt ,
C.menuNm menuNm,
C.progrmFileNm progrmFileNm,
C.menuNo menuNo ,
COALESCE(D.menuCnt , 0) menuCnt
FROM
(
SELECT A.creatDt , B.menuNm , B.progrmFileNm, B.menuNo FROM
(
SELECT TO_CHAR(y, 'YYYY') creatDt
FROM generate_series(
date_trunc('year', CAST(#searchBgnDe# AS DATE)),
date_trunc('year', CAST(#searchEndDe# AS DATE)),
'1 year'::interval
) y
) A
CROSS JOIN
( SELECT A.MENU_NM AS menuNm,
A.PROGRM_FILE_NM AS progrmFileNm ,
A.MENU_NO AS menuNo
FROM LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B
ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
INNER JOIN LETTNMENUCREATDTLS C
ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != ''
) B
) C
LEFT JOIN
(
SELECT COUNT(B.CREAT_DT) menuCnt, A.MENU_NM AS menuNm, TO_CHAR(B.CREAT_DT , 'YYYY') AS creatDt, A.PROGRM_FILE_NM as progrmFileNm, A.MENU_NO as logId /** 임시정렬번호 */ FROM ( SELECT A.MENU_NM , A.PROGRM_FILE_NM , A.MENU_NO FROM LETTNMENUINFO A INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM INNER JOIN LETTNMENUCREATDTLS C ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != '' ) A INNER JOIN LETTNLOGINLOG B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
WHERE 1=1
GROUP BY menuNm , creatDt
) D ON C.creatDt = D.creatDt
AND C.progrmFileNm = D.progrmFileNm
WHERE 1=1
]]>
</isEqual>
<isNotEmpty prepend="AND" property="searchKeyword">
C.menuNm LIKE CONCAT ('%', #searchKeyword#,'%')
</isNotEmpty>
ORDER BY menuNo , creatDt DESC
</select>
<!-- 사용자 메뉴별 접속 로그 리스트 (접속일자(조회))-->
<select id="LoginLogDAO.selectDateLogList" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT TO_CHAR(d, 'YYYY-MM-DD') AS creatDt
FROM generate_series(
'2020-09-09'::date,
current_date,
'1 day'::interval
) d
</select>
<!-- 사용자 메뉴별 접속 로그 리스트(사용자 매뉴(전체)) -->
<select id="LoginLogDAO.selectUserMenuList" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT A.MENU_NM AS menuNm,
A.PROGRM_FILE_NM AS progrmFileNm ,
A.MENU_NO AS menuNo
FROM LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B
ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
INNER JOIN LETTNMENUCREATDTLS C
ON C.MENU_NO = A.MENU_NO
WHERE B.URL IS NOT NULL
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND B.URL != ''
<isNotEmpty prepend="AND" property="searchKeyword">
<![CDATA[ A.MENU_NM LIKE CONCAT ('%', #searchKeyword#,'%') ]]>
</isNotEmpty>
</select>
<!-- footer 하단 접속자수 조회 -->
<select id="LoginLogDAO.selectLogCnt" parameterClass="loginLog" resultClass="loginLog">
/* 임시.*NOT_SQL_LOG.* */
SELECT A.todayLogCnt , B.totalLogCnt from
( SELECT COUNT(*) todayLogCnt , 'TEMP' AS TEMP FROM LETTNLOGINLOG
WHERE TO_CHAR(CREAT_DT, 'YYYY-MM-DD') = TO_CHAR(now() , 'YYYY-MM-DD') ) A
INNER JOIN
(SELECT COUNT(LOG_ID) AS totalLogCnt ,'TEMP' AS TEMP
FROM LETTNLOGINLOG
WHERE 1=1 )
B ON A.TEMP = B.TEMP
</select>
</sqlMap>

View File

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="ProgrmManage">
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="progrmManageVO" type="kcc.let.sym.prm.service.ProgrmManageVO"/>
<!-- 프로그램목록 관리 -->
<resultMap id="progrmManage" class="kcc.let.sym.prm.service.ProgrmManageVO">
<result property="progrmFileNm" column="progrmFileNm" columnIndex="1"/>
<result property="progrmStrePath" column="progrmStrePath" columnIndex="2"/>
<result property="progrmKoreanNm" column="progrmKoreanNm" columnIndex="3"/>
<result property="progrmDc" column="progrmDc" columnIndex="4"/>
<result property="URL" column="URL" columnIndex="5"/>
</resultMap>
<select id="progrmManageDAO.selectProgrmList_D" parameterClass="comDefaultVO" resultMap="progrmManage">
<![CDATA[
SELECT
PROGRM_FILE_NM AS "progrmFileNm"
, PROGRM_STRE_PATH AS "progrmStrePath"
, PROGRM_KOREAN_NM AS "progrmKoreanNm"
, PROGRM_DC AS "progrmDc"
, URL AS "URL"
FROM LETTNPROGRMLIST
WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #searchKeyword#, '%')
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<!-- 총건수 조회 -->
<select id="progrmManageDAO.selectProgrmListTotCnt_S" parameterClass="comDefaultVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) AS totcnt
FROM LETTNPROGRMLIST
WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #searchKeyword#, '%')
]]>
</select>
<!-- 파일명존재여부 조회 -->
<select id="progrmManageDAO.selectProgrmNMTotCnt" parameterClass="comDefaultVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) AS totcnt
FROM LETTNPROGRMLIST
WHERE PROGRM_FILE_NM = #searchKeyword#
]]>
</select>
<select id="progrmManageDAO.selectProgrm_D" parameterClass="comDefaultVO" resultClass="progrmManageVO">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
PROGRM_FILE_NM AS progrmFileNm
, PROGRM_STRE_PATH AS progrmStrePath
, PROGRM_KOREAN_NM AS progrmKoreanNm
, PROGRM_DC AS progrmDc
, PROGRM_BBS_ID AS progrmBbsId
, PROGRM_HTML_FILE_ID AS progrmHtmlFileId
, URL AS URL
FROM LETTNPROGRMLIST
WHERE PROGRM_FILE_NM = #searchKeyword#
]]>
</select>
<insert id="progrmManageDAO.insertProgrm_S">
<![CDATA[
INSERT INTO LETTNPROGRMLIST
( PROGRM_FILE_NM
, PROGRM_STRE_PATH
, PROGRM_KOREAN_NM
, PROGRM_DC
, PROGRM_BBS_ID
, PROGRM_HTML_FILE_ID
, URL )
VALUES ( #progrmFileNm#
, #progrmStrePath#
, #progrmKoreanNm#
, #progrmDc#
, #progrmBbsId#
, #progrmHtmlFileId#
, #URL# )
]]>
</insert>
<update id="progrmManageDAO.updateProgrm_S">
<![CDATA[
UPDATE LETTNPROGRMLIST
SET PROGRM_STRE_PATH=#progrmStrePath#
, PROGRM_KOREAN_NM=#progrmKoreanNm#
, PROGRM_DC =#progrmDc#
, PROGRM_BBS_ID =#progrmBbsId#
, PROGRM_HTML_FILE_ID =#progrmHtmlFileId#
, URL =#URL#
WHERE PROGRM_FILE_NM=#progrmFileNm#
]]>
</update>
<delete id="progrmManageDAO.deleteProgrm_S">
<![CDATA[
DELETE FROM LETTNPROGRMLIST
WHERE PROGRM_FILE_NM=#progrmFileNm#
]]>
</delete>
<delete id="progrmManageDAO.deleteAllProgrm">
<![CDATA[
DELETE FROM LETTNPROGRMLIST WHERE PROGRM_FILE_NM <> 'dir'
]]>
</delete>
<!-- 메뉴정보 총건수 조회 -->
<select id="progrmManageDAO.selectProgrmListTotCnt" parameterClass="progrmManageVO" resultClass="int">
<![CDATA[
SELECT COUNT(*) AS totcnt FROM LETTNPROGRMLIST
]]>
</select>
<select id="progrmManageDAO.selectProgrmUrl" parameterClass="comDefaultVO" resultClass="progrmManageVO">
/* 임시.*NOT_SQL_LOG.* progrmManageDAO.selectProgrmUrl */
SELECT
PROGRM_FILE_NM AS progrmFileNm
, PROGRM_STRE_PATH AS progrmStrePath
, PROGRM_KOREAN_NM AS progrmKoreanNm
, PROGRM_DC AS progrmDc
, PROGRM_BBS_ID AS progrmBbsId
, PROGRM_HTML_FILE_ID AS progrmHtmlFileId
, URL AS URL
FROM LETTNPROGRMLIST
WHERE URL = #searchKeyword#
</select>
<select id="progrmManageDAO.selectProgrmUrl4JSP" parameterClass="comDefaultVO" resultClass="progrmManageVO">
/* 임시.*NOT_SQL_LOG.* progrmManageDAO.selectProgrmUrl4JSP */
SELECT
PROGRM_FILE_NM AS progrmFileNm
, PROGRM_STRE_PATH AS progrmStrePath
, PROGRM_KOREAN_NM AS progrmKoreanNm
, PROGRM_DC AS progrmDc
, PROGRM_BBS_ID AS progrmBbsId
, PROGRM_HTML_FILE_ID AS progrmHtmlFileId
, URL AS URL
FROM LETTNPROGRMLIST
WHERE URL like CONCAT(#searchKeyword#,'%')
</select>
<select id="progrmManageDAO.getBbsUrlByNttId" resultClass="string">
<![CDATA[
SELECT
C.URL
FROM LETTNBBSMASTER B
INNER JOIN (
SELECT A.PROGRM_BBS_ID, B.MENU_NO, B.MENU_NM, B.MENU_USER_TYPE, A.URL
FROM LETTNPROGRMLIST A INNER JOIN LETTNMENUINFO B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
AND A.URL != ''
INNER JOIN LETTNMENUCREATDTLS C ON B.MENU_NO = C.MENU_NO
AND C.AUTHOR_CODE = 'ROLE_ANONYMOUS'
AND C.USE_YN = 'Y'
) C ON B.MENU_NO = C.MENU_NO
AND B.BBS_ID = #bbsId#
]]>
</select>
</sqlMap>

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="UserLog">
<typeAlias alias="UserLogVO" type="kcc.com.sym.log.ulg.service.UserLog"/>
<!-- 사용자로그 맵 -->
<resultMap id="UserLogVO" class="kcc.com.sym.log.ulg.service.UserLog">
<result property="occrrncDe" column="OCCRRNC_DE"/>
<result property="rqesterId" column="RQESTER_ID"/>
<result property="rqsterNm" column="RQESTER_NM"/>
<result property="srvcNm" column="SVC_NM"/>
<result property="methodNm" column="METHOD_NM"/>
<result property="creatCo" column="CREAT_CO"/>
<result property="updtCo" column="UPDT_CO"/>
<result property="rdCnt" column="RDCNT"/>
<result property="deleteCo" column="DELETE_CO"/>
<result property="outptCo" column="OUTPT_CO"/>
<result property="errorCo" column="ERROR_CO"/>
</resultMap>
<!-- 사용자 로그 등록 -->
<insert id="UserLog.logInsertUserLog">
<![CDATA[
INSERT INTO COMTNUSERLOG
SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' )
, b.RQESTER_ID
, b.SVC_NM
, b.METHOD_NM
, SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO
, SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO
, SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT
, SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO
, 0 AS OUTPT_CO
, 0 AS ERROR_CO
FROM LETTNSYSLOG b
WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' )
FROM COMTNUSERLOG c
WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(NOW(), -1), '%Y%m%d')
)
AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(NOW(), -1), '%Y%m%d')
AND b.RQESTER_ID IS NOT NULL
GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' )
, b.RQESTER_ID
, b.SVC_NM
, b.METHOD_NM
]]>
</insert>
<!-- 사용자 로그 상세 조회 -->
<select id="UserLog.selectUserLog" parameterClass="UserLogVO" resultClass="UserLogVO">
<![CDATA[
SELECT
a.OCCRRNC_DE
, a.RQESTER_ID
, b.USER_NM AS RQESTER_NM
, a.SVC_NM
, a.METHOD_NM
, a.CREAT_CO
, a.UPDT_CO
, a.RDCNT
, a.DELETE_CO
, a.OUTPT_CO
, a.ERROR_CO
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
WHERE
DATE_FORMAT(a.OCCRRNC_DE, '%Y%m%d') = #occrrncDe#
AND a.RQESTER_ID = #rqesterId#
AND a.SVC_NM = #srvcNm#
AND a.METHOD_NM = #methodNm#
]]>
</select>
<!-- 사용자 로그 목록 조회 -->
<select id="UserLog.selectUserLogInf" parameterClass="UserLogVO" resultClass="UserLogVO">
<![CDATA[
SELECT
a.REQUST_ID requstId,
a.JOB_SE_CODE jobSeCode,
a.INSTT_CODE insttCode,
a.OCCRRNC_DE occrrncDe,
a.RQESTER_IP rqesterIp,
a.RQESTER_ID rqesterId,
a.TRGET_MENU_NM trgetMenuNm,
a.SVC_NM svcNm,
a.METHOD_NM methodNm,
a.PROCESS_SE_CODE processSeCode,
a.PROCESS_CO processCo,
a.PROCESS_TIME processTime,
a.RSPNS_CODE rspnsCode,
a.ERROR_SE errorSe,
a.ERROR_CO errorCo,
a.ERROR_CODE errorCode,
b.USER_NM AS rqesterNm
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
WHERE
1 = 1
]]>
<isNotEmpty property="searchWrd">
<![CDATA[ AND
b.USER_NM LIKE CONCAT ('%', #searchWrd#,'%')
]]>
</isNotEmpty>
<isNotEmpty property="searchBgnDe">
<isNotEmpty property="searchEndDe" >
AND
a.OCCRRNC_DE BETWEEN REPLACE(#searchBgnDe#,'-','') AND REPLACE(#searchEndDe#,'-','')
</isNotEmpty>
</isNotEmpty>
ORDER BY a.OCCRRNC_DE DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 사용자 로그 총건수 -->
<select id="UserLog.selectUserLogInfCnt" parameterClass="UserLogVO" resultClass="int">
<![CDATA[
SELECT COUNT(a.OCCRRNC_DE) as cnt
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
WHERE
1 = 1
]]>
<isNotEmpty property="searchBgnDe">
<![CDATA[ AND
b.USER_NM LIKE CONCAT ('%', #searchWrd#,'%')
]]>
</isNotEmpty>
<isNotEmpty property="searchBgnDe">
<![CDATA[ AND
a.OCCRRNC_DE BETWEEN REPLACE(#searchBgnDe#,'-','') AND REPLACE(#searchEndDe#,'-','')
]]>
</isNotEmpty>
</select>
</sqlMap>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/sym/ccm/notify/VEANotify_SQL_postgre.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/read/Read_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
<sqlMap resource="egovframework/sqlmap/let/sym/log/lgm/EgovSysLog_SQL_postgre.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mpm/EgovMainMenu_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uat/uap/EgovLoginPolicy_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Postgresql.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/migration/SQL_Ncms.xml"/>
<sqlMap resource="egovframework/sqlmap/let/sym/site/EgovSiteManage_SQL_Postgresql.xml"/>
<!-- <sqlMap resource="egovframework/sqlmap/config/postgresql/EgovMenuCreat_SQL_Postgresql.xml"/> -->
<sqlMap resource="egovframework/sqlmap/config/postgresql/EgovLoginLog_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/config/postgresql/EgovProgrmManage_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/config/postgresql/EgovUserLog_SQL_Postgresql.xml"/>
<!-- <sqlMap resource="egovframework/sqlmap/config/postgresql/EgovWebLog_SQL_Postgresql.xml"/> -->
<!-- <sqlMap resource="egovframework/sqlmap/config/postgresql/EgovMenuManage_SQL_Postgresql.xml"/> -->
<sqlMap resource="egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_postgre.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_postgresql.xml"/>
</sqlMapConfig>

View File

@ -870,7 +870,7 @@
) VALUES (
(SELECT IFNULL(MAX(MSGKEY), 0) + 1 FROM ADR_MMS_MSG)
,#trId#
,'[한국저작권위원회]'
,'[한국지식재산보호원]'
,#rpplPhone#
,#sendTelNo#
,'0'

View File

@ -870,7 +870,7 @@
) VALUES (
(SELECT IFNULL(MAX(MSGKEY), 0) + 1 FROM ADR_MMS_MSG)
,#trId#
,'[한국저작권위원회]'
,'[한국지식재산보호원]'
,#rpplPhone#
,#sendTelNo#
,'0'

View File

@ -0,0 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="File">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="FileVO" type="kcc.com.cmm.service.FileVO"/>
<resultMap id="fileList" class="kcc.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/>
<result property="fileCn" column="FILE_CN" columnIndex="2"/>
<result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/>
<result property="fileMg" column="FILE_SIZE" columnIndex="4"/>
<result property="fileSn" column="FILE_SN" columnIndex="5"/>
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
<result property="creatDt" column="CREAT_DT" columnIndex="9"/>
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
</resultMap>
<resultMap id="fileDetail" class="kcc.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/>
<result property="fileCn" column="FILE_CN" columnIndex="2"/>
<result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/>
<result property="fileMg" column="FILE_SIZE" columnIndex="4"/>
<result property="fileSn" column="FILE_SN" columnIndex="5"/>
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
<result property="thumbFileNm" column="THUMB_FILE_NM" />
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
</resultMap>
<select id="FileManageDAO.selectFileList" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS') AS CREAT_DT
FROM
LETTNFILE a, LETTNFILEDETAIL b
WHERE 1=1
AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.ATCH_FILE_ID = #atchFileId#
AND
a.USE_AT = 'Y'
ORDER BY b.FILE_SN
]]>
</select>
<select id="FileManageDAO.selectZipFileList" parameterClass="FileVO" resultMap="fileList" >
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS') AS CREAT_DT
FROM
LETTNFILE a, LETTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
<isEqual property="downloadType" compareValue="A">
AND a.ATCH_FILE_ID IN
<iterate property="atchFileIdList" open="(" close=")" conjunction=",">
#atchFileIdList[]#
</iterate>
<isNotEmpty property="fileSn">
AND b.FILE_SN = #fileSn#
</isNotEmpty>
</isEqual>
<isEqual property="downloadType" compareValue="B">
AND a.ATCH_FILE_ID = #atchFileId#
AND b.FILE_SN IN
<iterate property="atchFileSnList" open="(" close=")" conjunction=",">
#atchFileSnList[]#
</iterate>
</isEqual>
ORDER BY b.FILE_SN
</select>
<insert id="FileManageDAO.insertFileMaster" parameterClass="FileVO" >
<![CDATA[
INSERT INTO LETTNFILE
(ATCH_FILE_ID, CREAT_DT, USE_AT)
VALUES
( #atchFileId#, NOW(), 'Y')
]]>
</insert>
<insert id="FileManageDAO.insertFileDetail" parameterClass="FileVO" >
<![CDATA[
INSERT INTO LETTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN, THUMB_FILE_NM )
VALUES
( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn#, #thumbFileNm# )
]]>
</insert>
<delete id="FileManageDAO.deleteFileDetail" parameterClass="FileVO" >
<![CDATA[
DELETE FROM LETTNFILEDETAIL
WHERE
ATCH_FILE_ID = #atchFileId#
AND
FILE_SN = #fileSn#
]]>
</delete>
<select id="FileManageDAO.getMaxFileSN" parameterClass="FileVO" resultClass="java.lang.Integer">
<![CDATA[
SELECT COALESCE(MAX(FILE_SN),0)+1 AS FILE_SN
FROM LETTNFILEDETAIL
WHERE ATCH_FILE_ID = #atchFileId#
]]>
</select>
<select id="FileManageDAO.selectFileInf" parameterClass="FileVO" resultMap="fileDetail" >
<![CDATA[
SELECT
ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE, THUMB_FILE_NM
FROM
LETTNFILEDETAIL
WHERE
ATCH_FILE_ID = #atchFileId#
AND
FILE_SN = #fileSn#
]]>
</select>
<update id="FileManageDAO.deleteCOMTNFILE" parameterClass="FileVO" >
<![CDATA[
UPDATE LETTNFILE
SET USE_AT = 'N'
WHERE ATCH_FILE_ID = #atchFileId#
]]>
</update>
<select id="FileManageDAO.selectFileListByFileNm" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, TO_CHAR(a.CREAT_DT, 'YYYY-MM-DD HH24:MI:SS') AS CREAT_DT
FROM
LETTNFILE a, LETTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="streFileNm">
<![CDATA[ b.STRE_FILE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm">
<![CDATA[ b.ORIGNL_FILE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.ATCH_FILE_ID, b.FILE_SN
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<select id="FileManageDAO.selectFileListCntByFileNm" parameterClass="FileVO" resultClass="java.lang.Integer" >
<![CDATA[
SELECT
COUNT(a.ATCH_FILE_ID)
FROM
LETTNFILE a, LETTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
a.USE_AT = 'Y'
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="streFileNm">
<![CDATA[ b.STRE_FILE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm">
<![CDATA[ b.ORIGNL_FILE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
</select>
<select id="FileManageDAO.selectImageFileList" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[
SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT
FROM
LETTNFILE a, LETTNFILEDETAIL b
WHERE
a.ATCH_FILE_ID = #atchFileId#
AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND
UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG')
AND
a.USE_AT = 'Y'
ORDER BY b.FILE_SN
]]>
</select>
<update id="FileManageDAO.updateFileInfo" parameterClass="FileVO" >
<![CDATA[
INSERT INTO LETTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN )
VALUES
( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn# )
ON CONFLICT (ATCH_FILE_ID, FILE_SN) DO UPDATE SET
FILE_STRE_COURS = #fileStreCours#,
STRE_FILE_NM = #streFileNm#,
ORIGNL_FILE_NM = #orignlFileNm#,
FILE_EXTSN = #fileExtsn#,
FILE_SIZE = #fileMg#,
FILE_CN = #fileCn#
]]>
</update>
<update id="FileManageDAO.updateFileName" parameterClass="FileVO" >
UPDATE
LETTNFILEDETAIL
SET
ORIGNL_FILE_NM = #orignlFileNm#
WHERE 1=1
AND ATCH_FILE_ID = #atchFileId#
AND FILE_SN = #fileSn#
</update>
</sqlMap>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Read">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="readVO" type="kcc.com.cmm.ReadVO"/>
<resultMap id="readList" class="kcc.com.cmm.ReadVO">
<result property="menuNo" column="MENU_NO" columnIndex="1"/>
<result property="readId" column="READ_ID" columnIndex="2"/>
<result property="loginId" column="LOGIN_ID" columnIndex="3"/>
</resultMap>
<select id="readDAO.selectReadYn" parameterClass="readVO" resultMap="readList" >
SELECT
MENU_NO,
READ_ID,
LOGIN_ID
FROM
READYN
WHERE
READ_ID = #readId#
AND LOGIN_ID= #loginId#
</select>
<insert id="readDAO.insertReadYn" parameterClass="readVO" >
INSERT INTO READYN (
MENU_NO,
READ_ID,
LOGIN_ID
) values(
#menuNo#,
#readId#,
#loginId#
)
</insert>
</sqlMap>

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="CmmUse">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="ComDefaultCodeVO" type="kcc.com.cmm.ComDefaultCodeVO"/>
<resultMap id="CmmCodeDetail" class="kcc.com.cmm.service.CmmnDetailCode">
<result property="codeId" column="CODE_ID" columnIndex="1"/>
<result property="code" column="CODE" columnIndex="2"/>
<result property="codeNm" column="CODE_NM" columnIndex="3"/>
<result property="codeDc" column="CODE_DC" columnIndex="4"/>
</resultMap>
<select id="CmmUseDAO.selectCmmCodeDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
ORDER BY SORT
]]>
</select>
<select id="CmmUseDAO.selectOgrnztIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# AS CODE_ID,
ORGNZT_ID AS CODE,
ORGNZT_NM AS CODE_NM,
ORGNZT_DC AS CODE_DC
FROM
LETTNORGNZTINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
ORGNZT_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectGroupIdDetail" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
#tableNm# AS CODE_ID,
GROUP_ID AS CODE,
GROUP_NM AS CODE_NM,
GROUP_DC AS CODE_DC
FROM
LETTNAUTHORGROUPINFO
WHERE 1=1
]]>
<isEqual prepend="AND" property="haveDetailCondition" compareValue="Y">
GROUP_ID LIKE #detailConditionValue#
</isEqual>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValue" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
USE_AT = 'Y'
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
<select id="CmmUseDAO.selectCmmCodeDetailValueOnlyName" parameterClass="ComDefaultCodeVO" resultMap="CmmCodeDetail">
<![CDATA[
SELECT
CODE_ID, CODE, CODE_NM, CODE_DC
FROM
LETTCCMMNDETAILCODE
WHERE
1=1
AND CODE_ID = #codeId#
]]>
<isEmpty property="codeDc">
AND CODE = #code#
</isEmpty>
<isNotEmpty property="codeDc">
AND CODE_DC = #codeDc#
</isNotEmpty>
</select>
</sqlMap>

View File

@ -0,0 +1,672 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="BBSMaster">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="BoardMasterVO" type="kcc.let.cop.bbs.service.BoardMasterVO"/>
<typeAlias alias="BoardMaster" type="kcc.let.cop.bbs.service.BoardMaster"/>
<typeAlias alias="boardVO" type="kcc.let.cop.bbs.service.BoardVO"/>
<typeAlias alias="ComDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<resultMap id="boardMasterList" class="kcc.let.cop.bbs.service.BoardMasterVO">
<result property="bbsId" column="BBS_ID"/>
<result property="bbsTyCode" column="BBS_TY_CODE"/>
<result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/>
<result property="bbsAttrbCode" column="BBS_ATTRB_CODE"/>
<result property="bbsAttrbCodeNm" column="BBS_ATTRB_CODE_NM"/>
<result property="bbsNm" column="BBS_NM"/>
<result property="tmplatId" column="TMPLAT_ID"/>
<result property="useAt" column="USE_AT"/>
<result property="useAtTxt" column="USE_AT_TXT"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/>
<result property="totCnt" column="TOTCNT"/>
<result property="newCnt" column="NEWCNT"/>
<result property="writeYn" column="WRITE_YN"/>
<result property="menuNm" column="MENU_NM"/>
</resultMap>
<resultMap id="boardMasterDetail" class="kcc.let.cop.bbs.service.BoardMasterVO">
<result property="bbsId" column="BBS_ID"/>
<result property="bbsTyCode" column="BBS_TY_CODE"/>
<result property="bbsAttrbCode" column="BBS_ATTRB_CODE"/>
<result property="bbsNm" column="BBS_NM"/>
<result property="bbsIntrcn" column="BBS_INTRCN"/>
<result property="replyPosblAt" column="REPLY_POSBL_AT"/>
<result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/>
<result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/>
<result property="posblAtchFileSize" column="ATCH_POSBL_FILE_SIZE"/>
<result property="tmplatId" column="TMPLAT_ID"/>
<result property="frstRegisterId" column="FRST_REGISTER_ID"/>
<result property="frstRegisterNm" column="FRST_REGISTER_NM"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/>
<result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/>
<result property="bbsAttrbCodeNm" column="BBS_ATTRB_CODE_NM"/>
<result property="tmplatNm" column="TMPLAT_NM"/>
<result property="authFlag" column="AUTH_FLAG"/>
<result property="tmplatCours" column="TMPLAT_COURS"/>
<result property="listNum" column="LIST_NUM" nullValue="0" />
<result property="pageNum" column="PAGE_NUM" nullValue="0" />
<result property="titleNum" column="TITLE_NUM" nullValue="0" />
<result property="addYn" column="ADD_YN" nullValue="" />
<result property="noticeYn" column="NOTICE_YN" nullValue="" />
<result property="passwordYn" column="PASSWORD_YN" nullValue="" />
<result property="openYn" column="OPEN_YN" nullValue="" />
<result property="regidayYn" column="REGIDAY_YN" nullValue="" />
<result property="regierYn" column="REGIER_YN" nullValue="" />
<result property="ipYn" column="IP_YN" nullValue="" />
<result property="manageAuth" column="MANAGE_AUTH" nullValue="" />
<result property="noticeAuth" column="NOTICE_AUTH" nullValue="" />
<result property="listAuth" column="LIST_AUTH" nullValue="" />
<result property="viewAuth" column="VIEW_AUTH" nullValue="" />
<result property="writeAuth" column="WRITE_AUTH" nullValue="" />
<result property="replyAuth" column="REPLY_AUTH" nullValue="" />
<result property="addAuth" column="ADD_AUTH" nullValue="" />
<result property="fileatchAuth" column="FILEATCH_AUTH" nullValue="" />
<result property="deleteAuth" column="DELETE_AUTH" nullValue="" />
<result property="viewsYn" column="VIEWS_YN" nullValue="" />
<result property="useAt" column="USE_AT" nullValue="" />
<result property="bbsDc" column="BBS_DC" nullValue="" />
<result property="menuCours" column="MENU_COURS" nullValue="" />
<result property="firstDeptMenuNo" column="FIRST_DEPT_MENU_NO" nullValue="" />
<result property="thumbAtchFileYn" column="THUMB_ATCH_FILE_YN" nullValue="" />
<result property="seCmmnCdId" column="SE_CMMN_CD_ID" nullValue="" />
<result property="koglCnYn" column="KOGL_CN_YN" nullValue="" />
<result property="linkUrlYn" column="LINK_URL_YN" nullValue="" />
<result property="ntceDateYn" column="NTCE_DATE_YN" nullValue="" />
<result property="writeYn" column="WRITE_YN" nullValue="" />
<result property="menuNm" column="MENU_NM" nullValue="" />
<result property="menuNo" column="MENU_NO" nullValue="" />
<result property="secretYn" column="SECRET_YN" nullValue="" />
</resultMap>
<resultMap id="boardMasterAll" class="kcc.let.cop.bbs.service.BoardMasterVO">
<result property="bbsId" column="BBS_ID"/>
<result property="bbsTyCode" column="BBS_TY_CODE"/>
<result property="bbsAttrbCode" column="BBS_ATTRB_CODE"/>
<result property="bbsNm" column="BBS_NM"/>
<result property="tmplatId" column="TMPLAT_ID"/>
</resultMap>
<select id="BBSAttributeManageDAO.selectBBSMasterInfs" parameterClass="BoardMasterVO" resultMap="boardMasterList" >
<![CDATA[
SELECT
a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM,
a.BBS_ATTRB_CODE, c.CODE_NM as BBS_ATTRB_CODE_NM, a.BBS_NM,
a.TMPLAT_ID, a.USE_AT,
CASE a.USE_AT WHEN 'N' THEN '미사용' ELSE '사용' END AS USE_AT_TXT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM,
COALESCE(d.TOTCNT, 0) as TOTCNT,
COALESCE(d.NEWCNT, 0) as NEWCNT,
a.WRITE_YN,
CASE WHEN e.MENU_NM='root' THEN '' ELSE e.MENU_NM END as MENU_NM
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE
LEFT OUTER JOIN
(SELECT BBS_ID,
COUNT(1) AS TOTCNT,
COUNT(CASE WHEN FRST_REGIST_PNTTM >= (NOW() - INTERVAL '7 day') THEN BBS_ID ELSE NULL END) as NEWCNT
FROM (SELECT BBS_ID, FRST_REGIST_PNTTM, USE_AT
FROM LETTNBBS WHERE USE_AT = 'Y') z GROUP BY z.BBS_ID
) d
ON a.BBS_ID = d.BBS_ID
LEFT OUTER JOIN LETTNMENUINFO e ON a.MENU_NO = e.MENU_NO
WHERE 1=1
]]>
<isNotEmpty property="useAt">
AND a.USE_AT = #useAt#
</isNotEmpty>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[( a.BBS_NM LIKE '%' || #searchWrd# || '%' or e.MENU_NM LIKE '%' || #searchWrd# || '%' )]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isNotEmpty prepend="AND" property="bbsMngId">
<![CDATA[ a.BBS_ID IN (SELECT BBS_ID FROM LETTNBBSMNG WHERE EMPLYR_ID = #bbsMngId#) ]]>
</isNotEmpty>
<isNotEmpty property="bbsTyCode">
AND a.BBS_TY_CODE = #bbsTyCode#
</isNotEmpty>
<isNotEmpty property="seCmmnCdId">
AND a.SE_CMMN_CD_ID = #seCmmnCdId#
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="BBSAttributeManageDAO.selectBBSMasterInfsCnt" parameterClass="BoardMasterVO" resultClass="java.lang.Integer" >
<![CDATA[
SELECT
COUNT(a.BBS_ID)
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE
LEFT OUTER JOIN LETTNMENUINFO e ON a.MENU_NO = e.MENU_NO
WHERE 1=1
]]>
<isNotEmpty property="useAt">
AND a.USE_AT = #useAt#
</isNotEmpty>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[( a.BBS_NM LIKE '%' || #searchWrd# || '%' or e.MENU_NM LIKE '%' || #searchWrd# || '%' )]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isNotEmpty prepend="AND" property="bbsMngId">
<![CDATA[ a.BBS_ID IN (SELECT BBS_ID FROM LETTNBBSMNG WHERE EMPLYR_ID = #bbsMngId#) ]]>
</isNotEmpty>
<isNotEmpty property="searchConditionSite"> /* 수퍼 관리자가 조회 */
AND a.SITE_ID = #searchConditionSite#
</isNotEmpty>
</select>
<update id="BBSAttributeManageDAO.deleteBBSMasterInf" parameterClass="BoardMaster">
<![CDATA[
UPDATE LETTNBBSMASTER SET
USE_AT = 'N',
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE BBS_ID = #bbsId#
]]>
</update>
<select id="BBSAttributeManageDAO.selectAllBBSMaster" parameterClass="BoardMasterVO" resultMap="boardMasterAll" >
<![CDATA[
SELECT
BBS_ID, BBS_TY_CODE, BBS_ATTRB_CODE, BBS_NM, TMPLAT_ID
FROM
LETTNBBSMASTER
WHERE USE_AT = 'Y'
]]>
</select>
<select id="BBSAttributeManageDAO.selectAllBdMstrByTrget" parameterClass="BoardMasterVO" resultMap="boardMasterAll" >
<![CDATA[
SELECT
a.BBS_ID, a.BBS_TY_CODE, a.BBS_ATTRB_CODE, a.BBS_NM, a.TMPLAT_ID
FROM
LETTNBBSMASTER a, LETTNBBSUSE b
WHERE
a.BBS_ID = b.BBS_ID
AND
b.TRGET_ID = #trgetId#
AND
a.USE_AT = 'Y' AND b.USE_AT = 'Y'
ORDER BY a.BBS_ID
]]>
</select>
<select id="BBSAttributeManageDAO.selectBdMstrListByTrget" parameterClass="BoardMasterVO" resultMap="boardMasterList" >
<![CDATA[
/* no use */
SELECT
a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM,
a.BBS_ATTRB_CODE, c.CODE_NM as BBS_ATTRB_CODE_NM, a.BBS_NM,
a.TMPLAT_ID, a.USE_AT,
CASE a.USE_AT WHEN 'N' THEN '미사용' ELSE '사용' END AS USE_AT_TXT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE,
LETTNBBSUSE d
WHERE
a.BBS_ID = d.BBS_ID
AND
d.TRGET_ID = #trgetId#
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.FRST_REGIST_PNTTM DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<select id="BBSAttributeManageDAO.selectBdMstrListCntByTrget" parameterClass="BoardMasterVO" resultClass="java.lang.Integer" >
<![CDATA[
/* no use */
SELECT
COUNT(a.BBS_ID)
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE,
LETTNBBSUSE d
WHERE
a.BBS_ID = d.BBS_ID
AND
d.TRGET_ID = #trgetId#
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
</select>
<select id="BBSAttributeManageDAO.selectNotUsedBdMstrList" parameterClass="BoardMasterVO" resultMap="boardMasterList" >
<![CDATA[
/* no use */
SELECT
a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM,
a.BBS_ATTRB_CODE, c.CODE_NM as BBS_ATTRB_CODE_NM, a.BBS_NM,
a.TMPLAT_ID, a.USE_AT,
CASE a.USE_AT WHEN 'N' THEN '미사용' ELSE '사용' END AS USE_AT_TXT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE
WHERE a.USE_AT = 'Y'
AND a.BBS_ID NOT IN (SELECT BBS_ID FROM LETTNBBSUSE WHERE USE_AT = 'Y')
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.FRST_REGIST_PNTTM DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<select id="BBSAttributeManageDAO.selectNotUsedBdMstrListCnt" parameterClass="BoardMasterVO" resultClass="java.lang.Integer" >
<![CDATA[
/* no use */
SELECT
COUNT(a.BBS_ID)
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE
WHERE a.USE_AT = 'Y'
AND a.BBS_ID NOT IN (SELECT BBS_ID FROM LETTNBBSUSE WHERE USE_AT = 'Y')
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ a.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="1">
<![CDATA[ b.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
</select>
<insert id="BBSAttributeManageDAO.insertBBSMasterInf" parameterClass="BoardMaster" >
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 ,
<isEqual property="bbsTyCode" compareValue="BBST07">
MENU_NO,
</isEqual>
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# ,
<isEqual property="bbsTyCode" compareValue="BBST07">
'9620000', /**사전정보공표 */
</isEqual>
#viewsYn#,#seCmmnCdId#,#secretYn#
)
</insert>
<select id="BBSAttributeManageDAO.selectBBSMasterInf" parameterClass="BoardMaster" resultMap="boardMasterDetail" >
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN,
a.BBS_ATTRB_CODE, c.CODE_NM as BBS_ATTRB_CODE_NM, a.BBS_NM,
a.TMPLAT_ID, d.CODE_NM as TMPLAT_NM, d.CODE_DC as TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER,
a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM,
a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM,
'' as AUTH_FLAG, /* 게시판사용 테이블 사용안함 */
a.LIST_NUM ,
a.PAGE_NUM,
a.TITLE_NUM,
a.REPLY_YN,
a.ADD_YN,
a.NOTICE_YN,
a.PASSWORD_YN,
a.OPEN_YN,
a.REGIDAY_YN,
a.REGIER_YN,
a.IP_YN,
a.MANAGE_AUTH,
a.NOTICE_AUTH,
a.LIST_AUTH,
a.VIEW_AUTH,
a.WRITE_AUTH,
a.REPLY_AUTH,
a.ADD_AUTH,
a.FILEATCH_AUTH,
a.DELETE_AUTH ,
a.VIEWS_YN,
a.BBS_DC,
a.SECRET_YN,
'' as MENU_COURS,
'' AS FIRST_DEPT_MENU_NO,
a.THUMB_ATCH_FILE_YN,
a.SE_CMMN_CD_ID,
a.KOGL_CN_YN,
a.LINK_URL_YN,
a.NTCE_DATE_YN,
a.WRITE_YN,
h.MENU_NM,
h.MENU_NO
FROM
LETTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM004' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM009' AND USE_AT='Y') c
ON a.BBS_ATTRB_CODE = c.CODE
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM, CODE_DC FROM LETTCCMMNDETAILCODE WHERE CODE_ID = 'COM005' AND USE_AT='Y') d
ON a.TMPLAT_ID = d.CODE
LEFT OUTER JOIN COMVNUSERMASTER e
ON a.FRST_REGISTER_ID = e.ESNTL_ID
LEFT OUTER JOIN LETTNPROGRMLIST f
ON CAST(a.MENU_NO AS VARCHAR) = f.PROGRM_FILE_NM
LEFT OUTER JOIN LETTNMENUINFO h
ON f.PROGRM_FILE_NM = h.PROGRM_FILE_NM
WHERE a.BBS_ID = #bbsId#
]]>
</select>
<update id="BBSAttributeManageDAO.updateBBSMasterInf" parameterClass="BoardMaster">
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#,
<isNotEmpty property="writeYn">
WRITE_YN = #writeYn# ,
</isNotEmpty>
<isNotEmpty property="thumbAtchFileYn">
THUMB_ATCH_FILE_YN = #thumbAtchFileYn# ,
</isNotEmpty>
<isNotEmpty property="seCmmnCdId">
SE_CMMN_CD_ID = #seCmmnCdId#,
</isNotEmpty>
<isNotEmpty property="koglCnYn">
KOGL_CN_YN = #koglCnYn#,
</isNotEmpty>
<isNotEmpty property="linkUrlYn">
LINK_URL_YN = #linkUrlYn#,
</isNotEmpty>
<isNotEmpty property="ntceDateYn">
NTCE_DATE_YN = #ntceDateYn#,
</isNotEmpty>
<isEqual property="bbsTyCode" compareValue="BBST07">
MENU_NO = '9620000', /**사전정보공표 */
</isEqual>
BBS_DC = #bbsDc#,
SECRET_YN = #secretYn#
WHERE BBS_ID = #bbsId#
</update>
<select id="BBSAttributeManageDAO.selectBBSMngIdList" parameterClass="BoardMaster" resultClass="egovMap" >
<![CDATA[
SELECT a.MNG_ID,
a.EMPLYR_ID,
b.EMAIL_ADRES ,
b.ESNTL_ID
FROM LETTNBBSMNG a
INNER JOIN LETTNEMPLYRINFO b
ON a.EMPLYR_ID = b.EMPLYR_ID
WHERE a.BBS_ID = #bbsId#
ORDER BY a.EMPLYR_ID
]]>
</select>
<insert id="BBSAttributeManageDAO.insertBBSMngInf" parameterClass="BoardMaster">
<![CDATA[
INSERT INTO LETTNBBSMNG
(MNG_ID, BBS_ID, EMPLYR_ID)
VALUES
(#mngId#, #bbsId#, #bbsMngId#)
]]>
</insert>
<select id="BBSAttributeManageDAO.selectBBSMaxMngId" resultClass="java.lang.Integer">
<![CDATA[
SELECT COALESCE(MAX(MNG_ID), 0) + 1 FROM LETTNBBSMNG
]]>
</select>
<select id="BBSAttributeManageDAO.selectBBSMngInfCnt" parameterClass="BoardMaster" resultClass="java.lang.Integer" >
<![CDATA[
SELECT COUNT(1)
FROM LETTNBBSMNG
WHERE BBS_ID = #bbsId#
AND EMPLYR_ID = #bbsMngId#
]]>
</select>
<delete id="BBSAttributeManageDAO.deleteBBSMngInf" parameterClass="BoardMaster">
<![CDATA[
DELETE FROM LETTNBBSMNG
WHERE MNG_ID = #mngId#
]]>
</delete>
<select id="BBSAttributeManageDAO.selectBBSIdList" parameterClass="ComDefaultVO" resultClass="egovMap" >
SELECT BBS_ID
,BBS_NM , CASE WHEN B.MENU_NM='root' THEN '' ELSE B.MENU_NM END AS MENU_NM
FROM LETTNBBSMASTER A LEFT OUTER JOIN LETTNMENUINFO B ON A.MENU_NO = B.MENU_NO
WHERE USE_AT = 'Y'
AND BBS_NM LIKE '%' || #searchKeyword# || '%'
ORDER BY BBS_NM
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="BBSAttributeManageDAO.selectBBSIdListCnt" parameterClass="ComDefaultVO" resultClass="java.lang.Integer" >
SELECT COUNT(1)
FROM LETTNBBSMASTER A
WHERE USE_AT = 'Y'
AND BBS_NM LIKE '%' || #searchKeyword# || '%'
<isNotEmpty property="siteId">
AND SITE_ID = #siteId#
</isNotEmpty>
</select>
<insert id="BBSAttributeManageDAO.insupNoticeBbsid" parameterClass="BoardMaster">
INSERT INTO SITE_MAIN_BBS (SITE_ID, NOTICE_BBSID) VALUES (#siteId#, #noticeBbsid#)
ON CONFLICT (SITE_ID) DO UPDATE SET NOTICE_BBSID = #noticeBbsid#
</insert>
<insert id="BBSAttributeManageDAO.insupQnaBbsid" parameterClass="BoardMaster">
INSERT INTO SITE_MAIN_BBS (SITE_ID, QNA_BBSID) VALUES (#siteId#, #qnaBbsid#)
ON CONFLICT (SITE_ID) DO UPDATE SET QNA_BBSID = #qnaBbsid#
</insert>
<insert id="BBSAttributeManageDAO.insupNewsBbsid" parameterClass="BoardMaster">
INSERT INTO SITE_MAIN_BBS (SITE_ID, NEWS_BBSID) VALUES (#siteId#, #newsBbsid#)
ON CONFLICT (SITE_ID) DO UPDATE SET NEWS_BBSID = #newsBbsid#
</insert>
<insert id="BBSAttributeManageDAO.insupLibraryBbsid" parameterClass="BoardMaster">
INSERT INTO SITE_MAIN_BBS (SITE_ID, LIBRARY_BBSID) VALUES (#siteId#, #libraryBbsid#)
ON CONFLICT (SITE_ID) DO UPDATE SET LIBRARY_BBSID = #libraryBbsid#
</insert>
<select id="BBSAttributeManageDAO.getSiteMainNbsVO" parameterClass="BoardMasterVO" resultClass="BoardMasterVO" >
SELECT NOTICE_BBSID as noticeBbsid ,
QNA_BBSID as qnaBbsid,
NEWS_BBSID as newsBbsid,
LIBRARY_BBSID as libraryBbsid
FROM SITE_MAIN_BBS
WHERE 1=1
</select>
<select id="BBSAttributeManageDAO.selectMenuBbs" parameterClass="BoardMasterVO" resultClass="BoardMasterVO" >
<![CDATA[
SELECT
BBS_ID AS bbsId,
BBS_TY_CODE AS bbsTyCode ,
BBS_ATTRB_CODE AS bbsAttrbCode ,
BBS_NM AS bbsNm ,
MENU_NO AS menuNo,
BBS_SORT AS bbsSort
FROM
LETTNBBSMASTER
WHERE MENU_NO = #menuNo#
]]>
</select>
<update id="BBSAttributeManageDAO.deleteMenuBbs" parameterClass="BoardMasterVO">
<![CDATA[
UPDATE LETTNBBSMASTER SET
MENU_NO = '',
BBS_SORT = 0
WHERE MENU_NO = #menuNo#
]]>
</update>
<update id="BBSAttributeManageDAO.updateMenuBbs" parameterClass="BoardMasterVO">
UPDATE LETTNBBSMASTER SET
MENU_NO = #menuNo#,
BBS_SORT = #bbsSort#
WHERE BBS_ID = #bbsId#
</update>
<select id="BBSAttributeManageDAO.selectBBSMenuByUrl" parameterClass="BoardMasterVO" resultClass="BoardMasterVO" >
SELECT A.BBS_ID AS bbsId
, A.BBS_NM AS bbsNm
, A.BBS_SORT AS bbsSort
, C.MENU_NM AS menuNm
, C.MENU_NO AS menuNo
, A.VIEWS_YN AS viewsYn
FROM LETTNBBSMASTER A INNER JOIN LETTNPROGRMLIST B ON A.MENU_NO = B.PROGRM_FILE_NM
AND B.URL = #url#
LEFT OUTER JOIN LETTNMENUINFO C ON B.PROGRM_FILE_NM = C.PROGRM_FILE_NM
ORDER BY A.BBS_SORT
</select>
<update id="BBSAttributeManageDAO.deleteMenuNo" parameterClass="BoardMasterVO">
UPDATE LETTNBBSMASTER SET
MENU_NO = null,
BBS_SORT = 0
WHERE MENU_NO = #menuNo#
</update>
<select id="BBSAttributeManageDAO.selectBbsIdByNttId" parameterClass="boardVO" resultClass="BoardMasterVO" >
SELECT BBS_ID AS bbsId ,
NTT_ID AS nttId FROM LETTNBBS A
WHERE A.NTT_ID = #nttId#
</select>
<select id="BBSAttributeManageDAO.selectBbsAdmin" parameterClass="boardVO" resultClass="boardVO" >
SELECT BBS_ID AS bbsId
,BBS_NM AS bbsNm
,BBS_SORT AS bbsSort
FROM LETTNBBSMASTER
WHERE BBS_ID = 'BBSMSTR_000000000632' ;
</select>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="ArticleComment">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="Comment" type="kcc.let.cop.cmt.service.Comment"/>
<typeAlias alias="CommentVO" type="kcc.let.cop.cmt.service.CommentVO"/>
<resultMap id="commentList" class="kcc.let.cop.cmt.service.CommentVO">
<result property="commentNo" column="ANSWER_NO"/>
<result property="nttId" column="NTT_ID"/>
<result property="bbsId" column="BBS_ID"/>
<result property="wrterId" column="WRTER_ID"/>
<result property="wrterNm" column="WRTER_NM"/>
<result property="commentPassword" column="PASSWORD"/>
<result property="commentCn" column="ANSWER"/>
<result property="useAt" column="USE_AT"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/>
<result property="frstRegisterNm" column="FRST_REGISTER_ID"/>
<result property="mblDn" column="MBL_DN"/>
</resultMap>
<resultMap id="commentDetail" class="kcc.let.cop.cmt.service.CommentVO">
<result property="commentNo" column="ANSWER_NO"/>
<result property="nttId" column="NTT_ID"/>
<result property="bbsId" column="BBS_ID"/>
<result property="wrterId" column="WRTER_ID"/>
<result property="wrterNm" column="WRTER_NM"/>
<result property="commentPassword" column="PASSWORD"/>
<result property="commentCn" column="ANSWER"/>
<result property="useAt" column="USE_AT"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/>
<result property="frstRegisterNm" column="FRST_REGISTER_NM"/>
<result property="mblDn" column="MBL_DN"/>
</resultMap>
<select id="EgovArticleCommentDAO.selectArticleCommentListAll" parameterClass="CommentVO" resultMap="commentList">
<![CDATA[
SELECT
a.ANSWER_NO, a.NTT_ID, a.BBS_ID,
CASE WHEN a.MBL_DN = '' THEN '0' ELSE '1' END AS MBL_DN,
a.WRTER_NM, a.WRTER_ID, a.PASSWORD, a.ANSWER, a.USE_AT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS')
as FRST_REGIST_PNTTM,
b.USER_NM as FRST_REGISTER_ID
FROM
LETTNCOMMENT a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.FRST_REGISTER_ID = b.ESNTL_ID
WHERE
a.BBS_ID = #bbsId# AND a.NTT_ID = #nttId#
AND
a.USE_AT = 'Y'
ORDER BY a.FRST_REGIST_PNTTM ASC
]]>
</select>
<select id="EgovArticleCommentDAO.selectArticleCommentList" parameterClass="CommentVO" resultMap="commentList">
<![CDATA[
SELECT
a.ANSWER_NO, a.NTT_ID, a.BBS_ID,
CASE WHEN a.MBL_DN = '' THEN '0' ELSE '1' END AS MBL_DN,
a.WRTER_NM, a.WRTER_ID, a.PASSWORD, a.ANSWER, a.USE_AT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS')
as FRST_REGIST_PNTTM,
b.USER_NM as FRST_REGISTER_ID
FROM
LETTNCOMMENT a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.FRST_REGISTER_ID = b.ESNTL_ID
WHERE
a.BBS_ID = #bbsId# AND a.NTT_ID = #nttId#
AND
a.USE_AT = 'Y'
ORDER BY a.FRST_REGIST_PNTTM ASC
LIMIT #subRecordCountPerPage# OFFSET #subFirstIndex#
]]>
</select>
<select id="EgovArticleCommentDAO.selectArticleCommentListCnt" parameterClass="CommentVO" resultClass="java.lang.Integer">
<![CDATA[
SELECT
COUNT(ANSWER_NO)
FROM
LETTNCOMMENT
WHERE
BBS_ID = #bbsId# AND NTT_ID = #nttId#
AND
USE_AT = 'Y'
]]>
</select>
<insert id="EgovArticleCommentDAO.insertArticleComment" parameterClass="Comment">
<![CDATA[
INSERT INTO LETTNCOMMENT
(ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD,
ANSWER, USE_AT,
FRST_REGISTER_ID, FRST_REGIST_PNTTM, MBL_DN
)
VALUES
( #commentNo#, #nttId#, #bbsId#, #wrterId#, #wrterNm#, #commentPassword#,
#commentCn#, 'Y',
#frstRegisterId#, NOW(), #mblDn#
)
]]>
</insert>
<update id="EgovArticleCommentDAO.deleteArticleComment" parameterClass="CommentVO">
<![CDATA[
UPDATE LETTNCOMMENT
SET USE_AT = 'N'
WHERE ANSWER_NO = #commentNo#
]]>
</update>
<select id="EgovArticleCommentDAO.selectArticleCommentDetail" parameterClass="CommentVO" resultMap="commentDetail">
<![CDATA[
SELECT
a.ANSWER_NO, a.NTT_ID, a.BBS_ID,
a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT,
TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS')
as FRST_REGIST_PNTTM,
b.USER_NM as FRST_REGISTER_NM, a.MBL_DN
FROM
LETTNCOMMENT a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.FRST_REGISTER_ID = b.ESNTL_ID
WHERE
a.ANSWER_NO = #commentNo#
]]>
</select>
<update id="EgovArticleCommentDAO.updateArticleComment" parameterClass="Comment">
<![CDATA[
UPDATE LETTNCOMMENT SET
ANSWER = #commentCn#,
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE ANSWER_NO = #commentNo#
]]>
</update>
</sqlMap>

View File

@ -0,0 +1,338 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="BBSUseInfoManageDAO">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="BoardUseInf" type="kcc.let.cop.com.service.BoardUseInf"/>
<typeAlias alias="BoardUseInfVO" type="kcc.let.cop.com.service.BoardUseInfVO"/>
<resultMap id="BoardUseList" class="kcc.let.cop.com.service.BoardUseInfVO">
<result property="bbsId" column="BBS_ID" columnIndex="1"/>
<result property="bbsNm" column="BBS_NM" columnIndex="2"/>
<result property="trgetId" column="TRGET_ID" columnIndex="3"/>
<result property="registSeCode" column="REGIST_SE_CODE" columnIndex="4"/>
<result property="registSeCodeNm" column="REGIST_SE_CODE_NM" columnIndex="5"/>
<result property="useAt" column="USE_AT" columnIndex="6"/>
<result property="frstRegisterId" column="FRST_REGISTER_ID" columnIndex="7"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM" columnIndex="8"/>
<result property="cmmntyId" column="CMMNTY_ID" columnIndex="9"/>
<result property="cmmntyNm" column="CMMNTY_NM" columnIndex="10"/>
<result property="clbId" column="CLB_ID" columnIndex="11"/>
<result property="clbNm" column="CLB_NM" columnIndex="12"/>
<result property="bbsTyCode" column="BBS_TY_CODE" columnIndex="13"/>
</resultMap>
<resultMap id="BoardUseListByTrget" class="kcc.let.cop.com.service.BoardUseInfVO">
<result property="bbsId" column="BBS_ID" columnIndex="1"/>
<result property="bbsNm" column="BBS_NM" columnIndex="2"/>
<result property="trgetId" column="TRGET_ID" columnIndex="3"/>
<result property="userNm" column="USER_NM" columnIndex="4"/>
<result property="registSeCode" column="REGIST_SE_CODE" columnIndex="5"/>
<result property="registSeCodeNm" column="REGIST_SE_CODE_NM" columnIndex="6"/>
<result property="useAt" column="USE_AT" columnIndex="7"/>
<result property="frstRegisterId" column="FRST_REGISTER_ID" columnIndex="8"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM" columnIndex="9"/>
</resultMap>
<resultMap id="selectBBSUse" class="kcc.let.cop.com.service.BoardUseInfVO">
<result property="bbsId" column="BBS_ID" columnIndex="1"/>
</resultMap>
<update id="BBSUseInfoManageDAO.deleteBBSUseInf" parameterClass="BoardUseInf" >
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = 'N',
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE BBS_ID = #bbsId#
AND TRGET_ID = #trgetId#
]]>
</update>
<select id="BBSUseInfoManageDAO.selectBBSUseInfByCmmnty" parameterClass="BoardUseInfVO" resultMap="selectBBSUse" >
<![CDATA[
SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #cmmntyId#
]]>
</select>
<select id="BBSUseInfoManageDAO.selectBBSUseInfByClub" parameterClass="BoardUseInfVO" resultMap="selectBBSUse" >
<![CDATA[
SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #clbId#
]]>
</select>
<update id="BBSUseInfoManageDAO.deleteAllBBSUseInfByCmmnty" parameterClass="BoardUseInfVO" >
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = 'N',
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE TRGET_ID = #cmmntyId#
]]>
</update>
<update id="BBSUseInfoManageDAO.deleteAllBBSUseInfByClub" parameterClass="BoardUseInfVO" >
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = 'N',
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE TRGET_ID = #clbId#
]]>
</update>
<insert id="BBSUseInfoManageDAO.insertBBSUseInf" parameterClass="BoardUseInf" >
<![CDATA[
INSERT INTO LETTNBBSUSE
(BBS_ID, TRGET_ID, REGIST_SE_CODE, USE_AT,
FRST_REGISTER_ID, FRST_REGIST_PNTTM )
VALUES
(#bbsId#, #trgetId#, #registSeCode#, #useAt#, #frstRegisterId#, NOW())
]]>
</insert>
<select id="BBSUseInfoManageDAO.selectBBSUseInfs" parameterClass="BoardUseInfVO" resultMap="BoardUseList" >
<![CDATA[
SELECT
a.BBS_ID, e.BBS_NM, a.TRGET_ID, a.REGIST_SE_CODE, b.CODE_NM as REGIST_SE_CODE_NM,
a.USE_AT, a.FRST_REGISTER_ID, a.FRST_REGIST_PNTTM,
'시스템 활용' AS CMMNTY_ID, '시스템 활용' AS CMMNTY_NM,
'시스템 활용' AS CLB_ID, '시스템 활용' AS CLB_NM, '시스템 활용' AS BBS_TY_CODE
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER e
ON a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE b
ON b.CODE = a.REGIST_SE_CODE
WHERE
b.CODE_ID = 'COM001'
AND a.REGIST_SE_CODE != 'REGC07'
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ e.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY a.FRST_REGIST_PNTTM DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<select id="BBSUseInfoManageDAO.selectBBSUseInfsCnt" parameterClass="BoardUseInfVO" resultClass="java.lang.Integer" >
<![CDATA[
SELECT
COUNT(a.BBS_ID)
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER e
ON a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE b
ON b.CODE = a.REGIST_SE_CODE
WHERE
b.CODE_ID = 'COM001'
AND a.REGIST_SE_CODE != 'REGC07'
]]>
<isEqual prepend="AND" property="searchCnd" compareValue="0">
<![CDATA[ e.BBS_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
</select>
<select id="BBSUseInfoManageDAO.selectBBSUseInf" parameterClass="BoardUseInfVO" resultMap="BoardUseList" >
<![CDATA[
SELECT
a.BBS_ID, e.BBS_NM, a.TRGET_ID, a.REGIST_SE_CODE, b.CODE_NM as REGIST_SE_CODE_NM,
a.USE_AT, a.FRST_REGISTER_ID, a.FRST_REGIST_PNTTM,
'시스템 활용' AS CMMNTY_ID, '시스템 활용' AS CMMNTY_NM,
'시스템 활용' AS CLB_ID, '시스템 활용' AS CLB_NM, '시스템 활용' AS BBS_TY_CODE
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER e
ON a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE b
ON b.CODE = a.REGIST_SE_CODE
WHERE
b.CODE_ID = 'COM001'
AND
a.BBS_ID = #bbsId#
AND
a.TRGET_ID = #trgetId#
]]>
</select>
<update id="BBSUseInfoManageDAO.updateBBSUseInf" parameterClass="BoardUseInf">
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = #useAt#,
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE BBS_ID = #bbsId#
]]>
</update>
<update id="BBSUseInfoManageDAO.deleteBBSUseInfByBoardId" parameterClass="BoardUseInf" >
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = 'N',
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE BBS_ID = #bbsId#
]]>
</update>
<select id="BBSUseInfoManageDAO.selectBBSUseInfsByTrget" parameterClass="BoardUseInfVO" resultMap="BoardUseListByTrget" >
<![CDATA[
SELECT * FROM (
SELECT
a.BBS_ID, b.BBS_NM, a.TRGET_ID, d.USER_NM, a.REGIST_SE_CODE, c.CODE_NM as REGIST_SE_CODE_NM,
a.USE_AT, a.FRST_REGISTER_ID, a.FRST_REGIST_PNTTM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
LEFT OUTER JOIN COMVNUSERMASTER d
ON a.TRGET_ID = d.ESNTL_ID
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# AND USE_AT ='Y' )
AND a.REGIST_SE_CODE = 'REGC07'
UNION ALL
SELECT
a.BBS_ID, b.BBS_NM, a.TRGET_ID, '[전체]' AS USER_NM, a.REGIST_SE_CODE, c.CODE_NM as REGIST_SE_CODE_NM,
a.USE_AT, a.FRST_REGISTER_ID, a.FRST_REGIST_PNTTM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# )
AND a.REGIST_SE_CODE in ('REGC05', 'REGC06')
UNION ALL
SELECT
a.BBS_ID, b.BBS_NM,
case WHEN e.EMPLYR_ID is null THEN f.EMPLYR_ID ELSE e.EMPLYR_ID END as TRGET_ID,
case WHEN g.USER_NM is null THEN h.USER_NM ELSE g.USER_NM END as USER_NM,
'REGC07' as REGIST_SE_CODE, '게시판사용자등록' as REGIST_SE_CODE_NM,
'' as USE_AT, '' as FRST_REGISTER_ID, '' as FRST_REGIST_PNTTM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
LEFT OUTER JOIN LETTNCMMNTYUSER e
ON e.CMMNTY_ID = #trgetId#
LEFT OUTER JOIN LETTNCLUBUSER f
ON f.CLB_ID = #trgetId#
LEFT OUTER JOIN COMVNUSERMASTER g
ON e.EMPLYR_ID = g.ESNTL_ID
LEFT OUTER JOIN COMVNUSERMASTER h
ON f.EMPLYR_ID = h.ESNTL_ID
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# AND USE_AT ='Y' )
AND a.REGIST_SE_CODE in ('REGC05', 'REGC06')
AND (
(a.BBS_ID, e.EMPLYR_ID) not in (SELECT BBS_ID, TRGET_ID FROM LETTNBBSUSE)
OR
(a.BBS_ID, f.EMPLYR_ID) not in (SELECT BBS_ID, TRGET_ID FROM LETTNBBSUSE)
)
) tt
]]>
<isEqual prepend="WHERE" property="searchCnd" compareValue="0">
<![CDATA[ tt.USER_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
<![CDATA[
ORDER BY tt.USER_NM DESC
LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]>
</select>
<select id="BBSUseInfoManageDAO.selectBBSUseInfsCntByTrget" parameterClass="BoardUseInfVO" resultClass="java.lang.Integer" >
<![CDATA[
SELECT COUNT(tt.BBS_ID) FROM (
SELECT
a.BBS_ID, d.USER_NM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
LEFT OUTER JOIN COMVNUSERMASTER d
ON a.TRGET_ID = d.ESNTL_ID
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# AND USE_AT ='Y' )
AND a.REGIST_SE_CODE = 'REGC07'
UNION ALL
SELECT
a.BBS_ID, '[전체]' AS USER_NM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# )
AND a.REGIST_SE_CODE in ('REGC05', 'REGC06')
UNION ALL
SELECT
a.BBS_ID, '' as USER_NM
FROM
LETTNBBSUSE a
LEFT OUTER JOIN LETTNBBSMASTER b
ON a.BBS_ID = b.BBS_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON c.CODE = a.REGIST_SE_CODE
LEFT OUTER JOIN LETTNCMMNTYUSER e
ON e.CMMNTY_ID = #trgetId#
LEFT OUTER JOIN LETTNCLUBUSER f
ON f.CLB_ID = #trgetId#
LEFT OUTER JOIN COMVNUSERMASTER g
ON e.EMPLYR_ID = g.ESNTL_ID
LEFT OUTER JOIN COMVNUSERMASTER h
ON f.EMPLYR_ID = h.ESNTL_ID
WHERE
a.BBS_ID IN
( SELECT BBS_ID FROM LETTNBBSUSE
WHERE TRGET_ID = #trgetId# AND USE_AT ='Y' )
AND a.REGIST_SE_CODE in ('REGC05', 'REGC06')
AND (
(a.BBS_ID, e.EMPLYR_ID) not in (SELECT BBS_ID, TRGET_ID FROM LETTNBBSUSE)
OR
(a.BBS_ID, f.EMPLYR_ID) not in (SELECT BBS_ID, TRGET_ID FROM LETTNBBSUSE)
)
) tt
]]>
<isEqual prepend="WHERE" property="searchCnd" compareValue="0">
<![CDATA[ tt.USER_NM LIKE '%' || #searchWrd# || '%' ]]>
</isEqual>
</select>
<update id="BBSUseInfoManageDAO.updateBBSUseInfByTrget" parameterClass="BoardUseInf" >
<![CDATA[
UPDATE LETTNBBSUSE SET
USE_AT = #useAt#,
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = NOW()
WHERE BBS_ID = #bbsId#
AND TRGET_ID = #trgetId#
]]>
</update>
</sqlMap>

View File

@ -0,0 +1,233 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="VEANotifyDAO">
<typeAlias alias="notifyManageVO" type="kcc.let.uss.notify.service.NotifyManageVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEANotifyDAO.table_name">
VEA_CMM_NOTIFY
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEANotifyDAO.column_name">
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
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEANotifyDAO.select_column_name">
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
</sql>
<select id="VEANotifyDAO.selectPagingList" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyDAO.selectPagingList */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEANotifyDAO.select_column_name"/>
FROM
<include refid="VEANotifyDAO.table_name"/> a
, VE_EDU_APLCT b
, VEA_CMM_NOTIFY_MNG c
WHERE
a.TO_USER_ID = #toUserId#
and a.USE_YN = 'Y'
AND a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
AND b.lctr_div_cd=c.lctr_div_cd
AND c.USE_YN = 'Y'
AND c.mng_user_id=a.TO_USER_ID
ORDER BY
a.NOTIFY_CHK
, a.FRST_REGIST_PNTTM desc
LIMIT #recordCountPerPage# OFFSET #firstIndex#;
</select>
<insert id="VEANotifyDAO.insertNotifyInfo" parameterClass="notifyManageVO">
/* VEANotifyDAO.insertNotifyInfo */
INSERT INTO <include refid="VEANotifyDAO.table_name"/> (
<include refid="VEANotifyDAO.column_name"/>
)VALUES(
#cmmNotifyOrd#
, #toUserId#
, #notifyCn#
, #notifyChk#
, #lctrDivCd#
, #notifyPath#
, #eduAplctOrd#
, #eduChasiOrd#
, NOW()
, #frstRegisterId#
, ''
, ''
, 'Y'
, #params#
)
</insert>
<select id="VEANotifyDAO.findById" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyDAO.findById */
SELECT
<include refid="VEANotifyDAO.select_column_name"/>
FROM
<include refid="VEANotifyDAO.table_name"/> a
WHERE a.cmm_notify_ord = #cmmNotifyOrd#
</select>
<update id="VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd" parameterClass="String">
/* VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd */
UPDATE
<include refid="VEANotifyDAO.table_name"/>
SET
notify_chk = 'Y'
, last_updt_pnttm = NOW()
, last_updusr_id = #lastUpdusrId#
WHERE
cmm_notify_ord = #cmmNotifyOrd#
</update>
<select id="VEANotifyDAO.findByUserIdFromVE_EDU_APLCT" parameterClass="String" resultClass="String">
/* VEANotifyDAO.findByUserIdFromVE_EDU_APLCT */
SELECT
a.user_id as toUserId
FROM
VE_EDU_APLCT a
WHERE a.EDU_APLCT_ORD = #eduAplctOrd#
</select>
<select id="VEANotifyDAO.findByUserIdFromLETTNBBS" parameterClass="String" resultClass="String">
/* VEANotifyDAO.findByUserIdFromLETTNBBS */
SELECT FRST_REGISTER_ID AS toUserId
FROM LETTNBBS
WHERE ntt_id=#eduAplctOrd#
</select>
<select id="VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ" parameterClass="String" resultClass="notifyManageVO">
/* VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ */
SELECT a.edu_aplct_ord AS eduAplctOrd
, b.EDU_CHASI_ORD AS eduChasiOrd
, b.USER_ID AS toUserId
FROM VE_EDU_DOC_REQ a
, ve_edu_chasi_instr_asgnm b
WHERE a.edu_doc_req_ord=#eduAplctOrd#
AND a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
AND a.SBMT_ID =b.USER_ID
ORDER BY b.EDU_CHASI_ORD
LIMIT 1
</select>
<select id="VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ_2" parameterClass="String" resultClass="notifyManageVO">
/* VEANotifyDAO.findByUserIdFromVE_EDU_DOC_REQ_2 */
SELECT a.edu_aplct_ord AS eduAplctOrd
, b.EDU_CHASI_ORD AS eduChasiOrd
, a.FRST_REGISTER_ID AS toUserId
FROM VE_EDU_DOC_REQ a
, ve_edu_chasi_instr_asgnm b
WHERE a.edu_doc_req_ord=#eduAplctOrd#
AND a.EDU_APLCT_ORD =b.EDU_APLCT_ORD
AND a.SBMT_ID =b.USER_ID
ORDER BY b.EDU_CHASI_ORD
LIMIT 1
</select>
<select id="VEANotifyDAO.findByUserIdFromVE_PRCS_APLCT_PRD" parameterClass="String" resultClass="notifyManageVO">
/* VEANotifyDAO.findByUserIdFromVE_PRCS_APLCT_PRD */
SELECT b.PRCS_NM AS prcsNm
, a.PRCS_APLCT_PRD_ORD AS prcsAplctPrdOrd
, b.PRCS_ORD AS prcsOrd
FROM ve_prcs_aplct_prd a
, ve_prcs b
WHERE a.PRCS_APLCT_PRD_ORD =#prcsAplctPrdOrd#
AND a.PRCS_ORD =b.PRCS_ORD
</select>
<select id="VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd" parameterClass="String" resultClass="String">
/* VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd */
SELECT
a.LCTR_DIV_CD as lctrDivCd
FROM
VE_PRCS_APLCT_PRD a
WHERE a.PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select>
<select id="VEANotifyDAO.selectNotifyInstr" parameterClass="notifyManageVO" resultClass="String">
/* VEANotifyDAO.selectNotifyInstr */
SELECT
USER_ID as toUserId
FROM
ve_edu_chasi_instr_asgnm
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</select>
<select id="VEANotifyDAO.selectNotifyCnt" parameterClass="String" resultClass="int">
/* VEANotifyDAO.selectNotifyCnt */
SELECT count(*)
from VEA_CMM_NOTIFY
WHERE TO_USER_ID = #uniqId#
AND NOTIFY_CHK = 'N'
AND USE_YN = 'Y'
</select>
<update id="VEANotifyDAO.updateM7DaysUseYnN">
UPDATE VEA_CMM_NOTIFY
SET USE_YN = 'N'
WHERE FRST_REGIST_PNTTM <![CDATA[ <= ]]> NOW() - interval '7 day'
</update>
<delete id="VEANotifyDAO.updateChkedUseYnN" parameterClass="notifyManageVO">
UPDATE VEA_CMM_NOTIFY
SET USE_YN = 'N'
WHERE <iterate open="(" close=")" conjunction="," property="cmmNotifyOrdArr" prepend="cmm_notify_ord IN " > #cmmNotifyOrdArr[]#</iterate>
</delete>
</sqlMap>

View File

@ -0,0 +1,309 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="SysLogDAO">
<typeAlias alias="egovMap"
type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<!-- 시스템로그 VO -->
<typeAlias alias="sysLog"
type="kcc.let.sym.log.lgm.service.SysLog" />
<!-- 시스템로그 맵 -->
<resultMap id="SysLogVO" class="kcc.let.sym.log.lgm.service.SysLog">
<result property="requstId" column="REQUST_ID" />
<result property="occrrncDe" column="OCCRRNC_DE" />
<result property="srvcNm" column="SVC_NM" />
<result property="methodNm" column="METHOD_NM" />
<result property="processSeCode" column="PROCESS_SE_CODE" />
<result property="processSeCodeNm" column="PROCESS_SE_CODE_NM" />
<result property="processTime" column="PROCESS_TIME" />
<result property="rqesterIp" column="RQESTER_IP" />
<result property="rqesterId" column="RQESTER_ID" />
<result property="rqsterNm" column="RQESTER_NM" />
</resultMap>
<!-- 시스템 로그 등록 -->
<insert id="logInsertSysLog" parameterClass="sysLog">
<![CDATA[
INSERT INTO LETTNSYSLOG
( REQUST_ID
, SVC_NM
, METHOD_NM
, PROCESS_SE_CODE
, PROCESS_TIME
, RQESTER_ID
, RQESTER_IP
, OCCRRNC_DE )
VALUES ( #requstId#
, #srvcNm#
, #methodNm#
, #processSeCode#
, #processTime#
, #rqesterId#
, #rqesterIp#
, TO_CHAR(NOW(), 'YYYYMMDD'))
]]>
</insert>
<!-- 시스템 로그 상세 조회 -->
<select id="selectSysLog" parameterClass="sysLog"
resultMap="SysLogVO">
<![CDATA[
SELECT
a.REQUST_ID
, a.OCCRRNC_DE
, a.SVC_NM
, a.METHOD_NM
, a.PROCESS_SE_CODE
, c.CODE_NM AS PROCESS_SE_CODE_NM
, a.PROCESS_TIME
, a.RQESTER_IP
, b.USER_ID AS RQESTER_ID
, b.USER_NM AS RQESTER_NM
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON a.PROCESS_SE_CODE = c.CODE
WHERE
c.CODE_ID = 'COM033'
AND a.REQUST_ID = #requstId#
]]>
</select>
<!-- 시스템 로그 목록 조회 -->
<select id="selectSysLogInf" parameterClass="sysLog"
resultMap="SysLogVO">
<![CDATA[
SELECT
a.REQUST_ID
, a.OCCRRNC_DE
, a.SVC_NM
, a.METHOD_NM
, a.PROCESS_SE_CODE
, c.CODE_NM AS PROCESS_SE_CODE_NM
, a.PROCESS_TIME
, a.RQESTER_IP
, b.USER_ID AS RQESTER_ID
, b.USER_NM AS RQESTER_NM
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON a.PROCESS_SE_CODE = c.CODE
WHERE
c.CODE_ID = 'COM033'
]]>
<isNotEmpty prepend="AND" property="searchWrd">
<![CDATA[ c.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchBgnDe">
<![CDATA[ a.OCCRRNC_DE BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
</isNotEmpty>
<![CDATA[ ORDER BY a.REQUST_ID DESC ]]>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 시스템 로그 총건수 -->
<select id="selectSysLogInfCnt" parameterClass="sysLog"
resultClass="java.lang.Integer">
<![CDATA[
SELECT COUNT(a.REQUST_ID) as cnt
FROM
LETTNSYSLOG a
LEFT OUTER JOIN COMVNUSERMASTER b
ON a.RQESTER_ID = b.ESNTL_ID
LEFT OUTER JOIN LETTCCMMNDETAILCODE c
ON a.PROCESS_SE_CODE = c.CODE
WHERE
c.CODE_ID = 'COM033'
]]>
<isNotEmpty prepend="AND" property="searchWrd">
<![CDATA[ c.CODE_NM LIKE '%' || #searchWrd# || '%' ]]>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchBgnDe">
<![CDATA[ a.OCCRRNC_DE BETWEEN #searchBgnDe# AND #searchEndDe# ]]>
</isNotEmpty>
</select>
<!-- 시스템 로그 전날 로그 요약 등록 -->
<insert id="logInsertSysLogSummary">
<![CDATA[
INSERT INTO LETTSSYSLOGSUMMARY
SELECT TO_CHAR(b.CREAT_DT, 'YYYYMMDD') as OCCRRNC_DE
, 'Member-login' as SVC_NM
, 'actionLogin' as METHOD_NM
, SUM(CASE WHEN b.CONECT_MTHD = 'I' THEN 1 ELSE 0 END) AS CREAT_CO
, SUM(CASE WHEN b.CONECT_MTHD = 'U' THEN 1 ELSE 0 END) AS UPDT_CO
, SUM(CASE WHEN b.CONECT_MTHD = 'R' THEN 1 ELSE 0 END) AS RDCNT
, SUM(CASE WHEN b.CONECT_MTHD = 'O' THEN 1 ELSE 0 END) AS DELETE_CO
, 0 AS OUTPT_CO
, 0 AS ERROR_CO
FROM LETTNLOGINLOG b
WHERE NOT EXISTS (SELECT c.OCCRRNC_DE
FROM LETTSSYSLOGSUMMARY c
WHERE c.OCCRRNC_DE = TO_CHAR(NOW() - interval '1 day', 'YYYYMMDD')
)
AND TO_CHAR(b.CREAT_DT, 'YYYYMMDD') = TO_CHAR(NOW() - interval '1 day', 'YYYYMMDD')
GROUP BY OCCRRNC_DE
, b.CONECT_MTHD
]]>
</insert>
<!-- 시스템 로그 6개월전 로그 삭제 -->
<delete id="logDeleteSysLogSummary">
<![CDATA[
DELETE FROM LETTNLOGINLOG
WHERE TO_CHAR(CREAT_DT, 'YYYYMMDD') < TO_CHAR(NOW() - interval '210 day', 'YYYYMMDD')
]]>
</delete>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
<insert id="logInsertAdminSysLog" parameterClass="sysLog">
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#
<isNotEmpty prepend="AND" property="param">
PARAM = #param#
</isNotEmpty>
<isEmpty prepend="AND" property="param">
PARAM = 'N'
</isEmpty>
LIMIT 1
</insert>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
<update id="logInsertAdminSysLogNewStep1" parameterClass="sysLog">
/* 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#
<isNotEmpty prepend="AND" property="param">
PARAM = #param#
</isNotEmpty>
<isEmpty prepend="AND" property="param">
PARAM = 'N'
</isEmpty>
LIMIT 1
</update>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
<update id="logInsertAdminSysLogNewStep2" parameterClass="sysLog">
/* 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#
</update>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) -->
<update id="logInsertAdminSysLogNewStep3" parameterClass="sysLog">
/* 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
</update>
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) 2023-07-11이후 -->
<update id="logInsertAdminSysLogNewStep1_bak" parameterClass="sysLog">
/* 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#
<isNotEmpty prepend="AND" property="param">
PARAM = #param#
</isNotEmpty>
<isEmpty prepend="AND" property="param">
PARAM = 'N'
</isEmpty>
LIMIT 1
</update>
</sqlMap>

View File

@ -20,7 +20,7 @@
<typeAlias alias="menuManageJTreeVO" type="kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO"/>
<typeAlias alias="menuManageVO" type="kcc.let.sym.mnu.mpm.service.MenuManageVO"/>
<select id="menuManageDAO.selectMenuCreatManageList_D" parameterClass="comDefaultVO" resultClass="egovMap">
<select id="menuManageDAO.selectMenuCreatManageList_D_1" parameterClass="comDefaultVO" resultClass="egovMap">
SELECT AUTHOR_CODE AS authorCode,
AUTHOR_NM AS authorNm,
AUTHOR_DC AS authorDc,

View File

@ -0,0 +1,516 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="menuManageDAO">
<cacheModel id="cache-webMainMenu" type="LRU">
<flushInterval seconds="10" />
<!-- <flushInterval hours="12" />
<flushOnExecute statement="menuManageDAO.insertMenuCreat_S"/>
<flushOnExecute statement="menuManageDAO.updateMenuCreat_S"/>
<flushOnExecute statement="menuManageDAO.deleteMenuCreat_S"/>
<flushOnExecute statement="menuManageDAO.deleteMenuCreatAuthNo"/>
<flushOnExecute statement="menuManageDAO.deleteMenuCreatByNo"/> -->
<property name="size" value="300"/>
</cacheModel>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="menuCreatVO" type="kcc.let.sym.mnu.mcm.service.MenuCreatVO"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="menuManageJTreeVO" type="kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO"/>
<typeAlias alias="menuManageVO" type="kcc.let.sym.mnu.mpm.service.MenuManageVO"/>
<select id="selectMenuCreatManageList_D" parameterClass="comDefaultVO" resultClass="egovMap">
SELECT AUTHOR_CODE AS authorCode,
AUTHOR_NM AS authorNm,
AUTHOR_DC AS authorDc,
AUTHOR_CREAT_DE AS authorCreatDe,
(SELECT COUNT(B.AUTHOR_CODE)
FROM LETTNMENUCREATDTLS B
WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS chkYeoBu,
SORT_NUM AS tempSortNum
FROM LETTNAUTHORINFO A
WHERE A.AUTHOR_CODE like '%' || #searchKeyword# || '%'
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="selectMenuCreatManageTotCnt_S" parameterClass="comDefaultVO" resultClass="int">
<![CDATA[
SELECT COUNT(AUTHOR_CODE) AS totcnt
FROM LETTNAUTHORINFO
WHERE AUTHOR_CODE like '%' || #searchKeyword# || '%'
AND AUTHOR_CODE NOT IN ('ROLE_ANONYMOUS', 'ROLE_GNRL_USER')
]]>
</select>
<select id="selectMenuCreatList_D" parameterClass="MenuCreatVO" resultClass="egovMap">
SELECT
A.MENU_NO AS menuNo
, A.MENU_ORDR AS menuOrdr
, A.MENU_NM AS menuNm
, A.UPPER_MENU_NO AS upperMenuId
, (SELECT count(B.MENU_NO)
FROM LETTNMENUCREATDTLS B
WHERE B.MENU_NO = A.MENU_NO
AND B.AUTHOR_CODE = #authorCode#
) AS chkYeoBu
FROM LETTNMENUINFO A
WHERE A.MENU_NO > 0
<isNotEmpty property="underMenuNo">
<![CDATA[
AND A.MENU_NO < #underMenuNo#
]]>
</isNotEmpty>
ORDER BY A.MENU_NO, A.MENU_ORDR, A.UPPER_MENU_NO
</select>
<insert id="insertMenuCreat_S">
INSERT INTO LETTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO, USE_YN, SATIS_YN
)
VALUES ( #authorCode#, #menuNo# , #useYn#, #satisYn#
)
</insert>
<select id="selectMenuCreatCnt_S" parameterClass="MenuCreatVO" resultClass="int">
<![CDATA[
SELECT COUNT(AUTHOR_CODE) AS totcnt
FROM LETTNAUTHORINFO
WHERE AUTHOR_CODE = #authorCode#
]]>
</select>
<delete id="updateMenuCreat_S">
<![CDATA[
UPDATE LETTNMENUCREATDTLS
SET MAPNG_CREAT_ID=#mapCreatId#
WHERE 1=1
AUTHOR_CODE=#authorCode#
]]>
</delete>
<update id="updateMenuNo" parameterClass="MenuCreatVO" >
UPDATE LETTNMENUCREATDTLS
SET
<isNotEmpty property="aftId">
MENU_NO=#aftId#
</isNotEmpty>
<isNotEmpty property="useYn">
USE_YN=#useYn#
</isNotEmpty>
WHERE MENU_NO = #menuNo#
</update>
<delete id="deleteMenuCreat_S">
<![CDATA[
DELETE FROM LETTNMENUCREATDTLS
WHERE AUTHOR_CODE=#authorCode#
]]>
</delete>
<select id="selectAuthorByUsr" parameterClass="comDefaultVO" resultClass="MenuCreatVO">
<![CDATA[
select AUTHOR_CODE AS authorCode from LETTNEMPLYRSCRTYESTBS
where SCRTY_DTRMN_TRGET_ID =
(select ESNTL_ID from COMVNUSERMASTER
where user_id = #searchKeyword# )
]]>
</select>
<select id="selectUsrByPk" parameterClass="comDefaultVO" resultClass="int">
<![CDATA[
select count(AUTHOR_CODE) from LETTNEMPLYRSCRTYESTBS
where SCRTY_DTRMN_TRGET_ID =
(select ESNTL_ID from COMVNUSERMASTER
where user_id = #searchKeyword# )
]]>
</select>
<select id="selectMenuListJtree" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
MENU_NM menuNm ,
PROGRM_FILE_NM progrmFileNm ,
A.MENU_NO menuNo ,
UPPER_MENU_NO upperMenuId ,
MENU_ORDR menuOrdr ,
MENU_DC menuDc ,
RELATE_IMAGE_PATH relateImagePath ,
RELATE_IMAGE_NM relateImageNm ,
MENU_USER_TYPE menuUserType ,
B.USE_YN useYn
FROM
LETTNMENUINFO A INNER JOIN LETTNMENUCREATDTLS B on A.MENU_NO = B.MENU_NO
WHERE
A.MENU_NO > 0
]]>
<isEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
GROUP BY A.MENU_NO, A.MENU_NM, A.PROGRM_FILE_NM, A.UPPER_MENU_NO, A.MENU_ORDR, A.MENU_DC, A.RELATE_IMAGE_PATH, A.RELATE_IMAGE_NM, A.MENU_USER_TYPE, B.USE_YN
</isEqual>
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT')
GROUP BY A.MENU_NO, A.MENU_NM, A.PROGRM_FILE_NM, A.UPPER_MENU_NO, A.MENU_ORDR, A.MENU_DC, A.RELATE_IMAGE_PATH, A.RELATE_IMAGE_NM, A.MENU_USER_TYPE, B.USE_YN
</isNotEqual>
ORDER BY
A.UPPER_MENU_NO,
A.MENU_ORDR,
A.MENU_NO
</select>
<delete id="deleteMenuCreatByNo">
<![CDATA[
DELETE FROM LETTNMENUCREATDTLS
WHERE MENU_NO= #menuNo#
]]>
</delete>
<delete id="deleteMenuCreatAuthNo" parameterClass="menuCreatVO" >
DELETE FROM LETTNMENUCREATDTLS
WHERE MENU_NO= #menuNo#
</delete>
<select id="selectMenuListJtreeWeb" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO" cacheModel="cache-webMainMenu">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
WITH RECURSIVE CTE AS (
SELECT
A.MENU_NM ,
A.PROGRM_FILE_NM ,
A.MENU_NO ,
A.UPPER_MENU_NO ,
A.MENU_ORDR ,
A.MENU_DC ,
A.RELATE_IMAGE_PATH ,
A.RELATE_IMAGE_NM ,
A.MENU_USER_TYPE ,
A.USE_YN ,
C.URL ,
A.MENU_TYPE,
1 AS DEPTHS
FROM
LETTNMENUINFO A INNER JOIN LETTNMENUCREATDTLS B ON A.MENU_NO = B.MENU_NO
INNER JOIN LETTNPROGRMLIST C ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
where
A.UPPER_MENU_NO = 0
and A.MENU_NO !=0
AND B.AUTHOR_CODE = #authorCode#
AND B.USE_YN = 'Y'
UNION ALL
SELECT
A.MENU_NM ,
A.PROGRM_FILE_NM ,
A.MENU_NO ,
A.UPPER_MENU_NO ,
A.MENU_ORDR ,
A.MENU_DC ,
A.RELATE_IMAGE_PATH ,
A.RELATE_IMAGE_NM ,
A.MENU_USER_TYPE ,
A.USE_YN ,
C.URL ,
A.MENU_TYPE,
CTE.DEPTHS + 1 AS DEPTHS
FROM
LETTNMENUINFO A INNER JOIN LETTNMENUCREATDTLS B ON A.MENU_NO = B.MENU_NO
INNER JOIN LETTNPROGRMLIST C ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
INNER JOIN CTE ON CTE.MENU_NO = A.UPPER_MENU_NO
WHERE
B.AUTHOR_CODE = #authorCode#
AND B.USE_YN = 'Y'
)
SELECT
MENU_NM AS menuNm ,
PROGRM_FILE_NM AS progrmFileNm ,
MENU_NO AS menuNo ,
UPPER_MENU_NO AS upperMenuId ,
MENU_ORDR AS menuOrdr ,
MENU_DC AS menuDc ,
RELATE_IMAGE_PATH AS relateImagePath ,
RELATE_IMAGE_NM AS relateImageNm ,
MENU_USER_TYPE AS menuUserType ,
USE_YN AS useYn ,
MENU_TYPE AS menuType,
DEPTHS AS depths,
URL
FROM
CTE
ORDER BY
DEPTHS ASC ,
MENU_ORDR ASC
]]>
</select>
<select id="selectMenuCreatAuthCnt" parameterClass="menuCreatVO" resultClass="int" >
<![CDATA[
SELECT COUNT(*) FROM LETTNMENUCREATDTLS WHERE MENU_NO = #menuNo#
AND USE_YN = 'Y'
]]>
</select>
<select id="selectMenuListCurrentJtreeWeb" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO" >
/* 임시.*NOT_SQL_LOG.* menuManageDAO.selectMenuListCurrentJtreeWeb */
<![CDATA[
WITH RECURSIVE CTE AS (
SELECT
A.MENU_NO ,
A.UPPER_MENU_NO ,
C.URL ,
A.MENU_NM,
1 AS RANK
FROM
LETTNMENUINFO A
INNER JOIN
LETTNMENUCREATDTLS B
ON A.MENU_NO = B.MENU_NO
INNER JOIN
LETTNPROGRMLIST C
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
where
B.AUTHOR_CODE = #authorCode#
AND A.MENU_NO = CAST(#menuNo# AS int)
UNION ALL
SELECT
A.MENU_NO ,
A.UPPER_MENU_NO ,
C.URL ,
A.MENU_NM,
CTE.RANK + 1 AS RANK
FROM
LETTNMENUINFO A
INNER JOIN
LETTNMENUCREATDTLS B
ON A.MENU_NO = B.MENU_NO
INNER JOIN
LETTNPROGRMLIST C
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
INNER JOIN
CTE
ON CTE.UPPER_MENU_NO = A.MENU_NO
WHERE
B.AUTHOR_CODE = #authorCode#
)
SELECT
CTE.MENU_NO menuNo,
CTE.MENU_NM menuNm,
CTE.URL url ,
RANK
FROM
CTE
ORDER BY RANK DESC
]]>
</select>
<select id="selectMenuUnderListJtreeWeb" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO" cacheModel="cache-webMainMenu">
/* selectMenuUnderListJtreeWeb */
<![CDATA[
SELECT
A.MENU_NO menuNo ,
A.UPPER_MENU_NO upperMenuId ,
C.URL url ,
A.MENU_NM menuNm
FROM
LETTNMENUINFO A
INNER JOIN
LETTNMENUCREATDTLS B
ON A.MENU_NO = B.MENU_NO
INNER JOIN
LETTNPROGRMLIST C
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
where
B.AUTHOR_CODE = #authorCode#
AND A.UPPER_MENU_NO = CAST(#menuNo# as int)
AND B.USE_YN = 'Y'
]]>
</select>
<select id="selectMenuLeftListJtreeWeb" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO">
/* 임시.*NOT_SQL_LOG.* menuManageDAO.selectMenuLeftListJtreeWeb */
<![CDATA[
WITH RECURSIVE CTE AS (
SELECT
A.MENU_NM ,
A.PROGRM_FILE_NM ,
A.MENU_NO ,
A.UPPER_MENU_NO ,
A.MENU_ORDR ,
A.MENU_DC ,
A.RELATE_IMAGE_PATH ,
A.RELATE_IMAGE_NM ,
A.MENU_USER_TYPE ,
A.USE_YN ,
C.URL ,
A.MENU_TYPE ,
1 AS DEPTHS
FROM
LETTNMENUINFO A
INNER JOIN
LETTNMENUCREATDTLS B
ON A.MENU_NO = B.MENU_NO
INNER JOIN
LETTNPROGRMLIST C
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
where
A.UPPER_MENU_NO = 0
and A.MENU_NO !=0
AND B.AUTHOR_CODE = #authorCode#
AND A.MENU_NO =
(
SELECT UPPER_MENU_NO FROM LETTNMENUINFO WHERE MENU_NO = CAST(#menuNo# as int)
)
UNION ALL
SELECT
A.MENU_NM ,
A.PROGRM_FILE_NM ,
A.MENU_NO ,
A.UPPER_MENU_NO ,
A.MENU_ORDR ,
A.MENU_DC ,
A.RELATE_IMAGE_PATH ,
A.RELATE_IMAGE_NM ,
A.MENU_USER_TYPE ,
A.USE_YN ,
C.URL ,
A.MENU_TYPE,
CTE.DEPTHS + 1 AS DEPTHS
FROM
LETTNMENUINFO A
INNER JOIN
LETTNMENUCREATDTLS B
ON A.MENU_NO = B.MENU_NO
INNER JOIN
LETTNPROGRMLIST C
ON A.PROGRM_FILE_NM = C.PROGRM_FILE_NM
INNER JOIN
CTE
ON CTE.MENU_NO = A.UPPER_MENU_NO
WHERE
B.AUTHOR_CODE = #authorCode#
AND B.USE_YN = 'Y'
)
SELECT
MENU_NM menuNm ,
PROGRM_FILE_NM progrmFileNm ,
MENU_NO menuNo ,
UPPER_MENU_NO upperMenuId ,
MENU_ORDR menuOrdr ,
MENU_DC menuDc ,
RELATE_IMAGE_PATH relateImagePath ,
RELATE_IMAGE_NM relateImageNm ,
MENU_USER_TYPE menuUserType ,
USE_YN useYn ,
MENU_TYPE menuType,
DEPTHS depths,
URL
FROM
CTE
ORDER BY
DEPTHS ASC ,
MENU_ORDR ASC
]]>
</select>
<select id="selectQuickListJtree" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
MENU_NM menuNm ,
PROGRM_FILE_NM progrmFileNm ,
A.MENU_NO menuNo ,
UPPER_MENU_NO upperMenuId ,
A.MENU_ORDR menuOrdr ,
MENU_DC menuDc ,
RELATE_IMAGE_PATH relateImagePath ,
RELATE_IMAGE_NM relateImageNm ,
MENU_USER_TYPE menuUserType ,
B.USE_YN useYn ,
C.MENU_NO as quickMenu
FROM
LETTNMENUINFO A INNER JOIN LETTNMENUCREATDTLS B on A.MENU_NO = B.MENU_NO
LEFT JOIN TB_QUICK_MENU C ON A.MENU_NO = C.MENU_NO
AND C.USER_ID = #userId#
WHERE
A.MENU_NO > 0
AND B.AUTHOR_CODE = #authorCode#
AND B.USE_YN = 'Y'
]]>
ORDER BY
A.UPPER_MENU_NO,
A.MENU_ORDR,
A.MENU_NO
</select>
<select id="selectQuickListIncTop" parameterClass="menuManageJTreeVO" resultClass="menuManageJTreeVO">
/* 임시.*NOT_SQL_LOG.* */
<![CDATA[
SELECT
MENU_NM menuNm ,
A.PROGRM_FILE_NM progrmFileNm ,
A.MENU_NO menuNo ,
UPPER_MENU_NO upperMenuId ,
A.MENU_ORDR menuOrdr ,
MENU_DC menuDc ,
RELATE_IMAGE_PATH relateImagePath ,
RELATE_IMAGE_NM relateImageNm ,
MENU_USER_TYPE menuUserType ,
B.USE_YN useYn ,
C.MENU_NO as quickMenu,
D.URL AS url
FROM
LETTNMENUINFO A INNER JOIN LETTNMENUCREATDTLS B on A.MENU_NO = B.MENU_NO
LEFT JOIN TB_QUICK_MENU C ON A.MENU_NO = C.MENU_NO
INNER JOIN LETTNPROGRMLIST D ON A.PROGRM_FILE_NM = D.PROGRM_FILE_NM
AND C.USER_ID = #userId#
WHERE
A.MENU_NO > 0
AND B.AUTHOR_CODE = #authorCode#
]]>
AND C.MENU_NO IS NOT NULL
AND B.USE_YN = 'Y'
</select>
<delete id="deleteQuickList">
DELETE FROM TB_QUICK_MENU
WHERE USER_ID=#userId#
</delete>
<insert id="insertQuickList" parameterClass="menuManageJTreeVO">
INSERT INTO TB_QUICK_MENU( USER_ID,MENU_NO)
VALUES
<iterate property="codeArry" conjunction=",">
( #userId#, #codeArry[]#)
</iterate>
</insert>
<select id="selectMenuManageUrl" parameterClass="MenuManageVO" resultClass="menuManageVO">
SELECT
A.MENU_NM AS menuNm,
A.PROGRM_FILE_NM,
MENU_NO AS menuNo,
UPPER_MENU_NO,
MENU_ORDR,
MENU_DC,
RELATE_IMAGE_PATH,
RELATE_IMAGE_NM,
MENU_USER_TYPE,
USE_YN,
MENU_TYPE,
LAST_UPDT_PNTTM,
AUTHOR_CODE,EMPLYR_ID
FROM LETTNMENUINFO A
INNER JOIN LETTNPROGRMLIST B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM
WHERE B.URL = #url#
</select>
</sqlMap>

View File

@ -20,7 +20,7 @@
<typeAlias alias="menuManageJTreeVO" type="kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO"/>
<typeAlias alias="menuManageVO" type="kcc.let.sym.mnu.mpm.service.MenuManageVO"/>
<select id="menuManageDAO.selectMenuCreatManageList_D" parameterClass="comDefaultVO" resultClass="egovMap">
<select id="menuManageDAO.selectMenuCreatManageList_D_2" parameterClass="comDefaultVO" resultClass="egovMap">
/* menuManageDAO.selectMenuCreatManageList_D */
SELECT AUTHOR_CODE AS "authorCode",
AUTHOR_NM AS "authorNm",

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="MainMenu">
<cacheModel id="cache-mainMenu" type="LRU">
<flushInterval seconds="10" />
<!-- <flushInterval hours="12" />
<flushOnExecute statement="menuManageDAO.insertMenuManage_S"/>
<flushOnExecute statement="menuManageDAO.updateMenuManage_S"/>
<flushOnExecute statement="menuManageDAO.deleteMenuManage_S"/>
<flushOnExecute statement="menuManageDAO.deleteAllMenuList"/>
<flushOnExecute statement="menuManageDAO.updateMenuManageJtree"/>
<flushOnExecute statement="menuManageDAO.updateMenuNmManage"/>
<flushOnExecute statement="menuManageDAO.updateMenuManageJtreeLevelNo"/>
<flushOnExecute statement="menuManageDAO.updateMenuManageJtreeMove"/>
<flushOnExecute statement="menuManageDAO.updateMenuManageJtreeNo"/> -->
<property name="size" value="300"/>
</cacheModel>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="menuManageVO" type="kcc.let.sym.mnu.mpm.service.MenuManageVO"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<!-- <select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap" > -->
<!-- <select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap" cacheModel="cache-mainMenu" > -->
<select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap" >
/* 임시.*NOT_SQL_LOG.* menuManageDAO.selectMainMenuHead */
<![CDATA[
SELECT
B.MENU_NO AS "menuNo"
, B.MENU_ORDR AS "menuOrdr"
, B.MENU_NM AS "menuNm"
, B.UPPER_MENU_NO AS "upperMenuId"
, B.MENU_DC AS "menuDc"
, B.RELATE_IMAGE_PATH AS "relateImagePath"
, B.RELATE_IMAGE_NM AS "relateImageNm"
, B.PROGRM_FILE_NM AS "progrmFileNm"
, (SELECT C.URL FROM LETTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL"
FROM LETTNMENUCREATDTLS A, LETTNMENUINFO B
WHERE B.Menu_NO > 0
AND B.UPPER_MENU_NO = 0
AND A.MENU_NO = B.MENU_NO
AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from LETTNEMPLYRSCRTYESTBS C
WHERE C.SCRTY_DTRMN_TRGET_ID = #tmp_UniqId#)
AND A.USE_YN !='N'
]]>
<isNotEmpty property="menuUserType">
AND B.MENU_USER_TYPE = #menuUserType#
</isNotEmpty>
ORDER BY MENU_ORDR
</select>
<!-- <select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap" > -->
<!-- <select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap" cacheModel="cache-mainMenu"> -->
<select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap" >
/* 임시.*NOT_SQL_LOG.* menuManageDAO.selectMainMenuLeft */
<![CDATA[
SELECT
B.MENU_NO AS "menuNo"
, B.MENU_ORDR AS "menuOrdr"
, B.MENU_NM AS "menuNm"
, B.UPPER_MENU_NO AS "upperMenuId"
, B.RELATE_IMAGE_PATH AS "relateImagePath"
, B.RELATE_IMAGE_NM AS "relateImageNm"
, (SELECT C.URL FROM LETTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL"
FROM LETTNMENUCREATDTLS A, LETTNMENUINFO B
WHERE A.MENU_NO = B.MENU_NO
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from LETTNEMPLYRSCRTYESTBS
WHERE SCRTY_DTRMN_TRGET_ID = #tmp_UniqId#)
AND A.USE_YN !='N'
]]>
<isNotEmpty property="menuUserType">
AND B.MENU_USER_TYPE = #menuUserType#
</isNotEmpty>
ORDER BY B.MENU_ORDR
</select>
<select id="menuManageDAO.selectLastMenuURL" parameterClass="MenuManageVO" resultClass="String">
<![CDATA[
SELECT URL
FROM LETTNPROGRMLIST
WHERE PROGRM_FILE_NM =
(SELECT PROGRM_FILE_NM FROM LETTNMENUINFO
WHERE MENU_NO = #menuNo#)
]]>
</select>
<select id="menuManageDAO.selectLastMenuNo" parameterClass="MenuManageVO" resultClass="int">
<![CDATA[
select MIN(MENU_NO)
from LETTNMENUINFO
where UPPER_MENU_NO = #menuNo#
and MENU_ORDR =
(select MIN(MENU_ORDR)
from LETTNMENUCREATDTLS A, LETTNMENUINFO B
where A.MENU_NO = B.MENU_NO
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from LETTNEMPLYRSCRTYESTBS
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
AND B.UPPER_MENU_NO = #menuNo#)
]]>
</select>
<select id="menuManageDAO.selectLastMenuNoCnt" parameterClass="MenuManageVO" resultClass="int">
<![CDATA[
select count(MENU_NO)
from LETTNMENUINFO
where UPPER_MENU_NO = #menuNo#
and MENU_ORDR =
(select MIN(MENU_ORDR)
from LETTNMENUCREATDTLS A, LETTNMENUINFO B
where A.MENU_NO = B.MENU_NO
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from LETTNEMPLYRSCRTYESTBS
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
AND B.UPPER_MENU_NO = #menuNo#)
]]>
</select>
<select id="menuManageDAO.selectEquiLevelList" parameterClass="String" resultClass="menuManageVO">
<![CDATA[
SELECT MENU_NO as menuNo
FROM LETTNMENUINFO
WHERE MENU_NO like #equiLevel#
]]>
</select>
<select id="menuManageDAO.selectUpperMenuNoByPkList" parameterClass="menuManageVO" resultClass="menuManageVO">
<![CDATA[
SELECT
'' AS menuCours
/*getMenuCours(MENU_NO) AS menuCours*/
FROM LETTNMENUINFO
WHERE UPPER_MENU_NO = #menuNo#;
]]>
</select>
</sqlMap>

View File

@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="MenuManage">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="menuManageVO" type="kcc.let.sym.mnu.mpm.service.MenuManageVO"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<select id="menuManageDAO.selectMenuManageList_D" parameterClass="comDefaultVO" resultClass="egovMap">
SELECT
MENU_NO AS menuNo
, MENU_ORDR AS menuOrdr
, MENU_NM AS menuNm
, UPPER_MENU_NO AS upperMenuId
, MENU_DC AS menuDc
, RELATE_IMAGE_PATH AS relateImagePath
, RELATE_IMAGE_NM AS relateImageNm
, PROGRM_FILE_NM AS progrmFileNm
, MENU_USER_TYPE AS menuUserType
, MENU_TYPE AS menuType,
<![CDATA[
IF(MENU_NO < 9900000, "", "") AS MENU_TYPE_NM
]]>
FROM LETTNMENUINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="">
( binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
OR MENU_NO like CONCAT('%', #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="A">
binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
AND <![CDATA[ MENU_NO < 9900000 ]]>
</isEqual >
<isEqual prepend="AND" property="searchCondition" compareValue="U">
binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
AND <![CDATA[ MENU_NO > 9900000 ]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="C">
MENU_NO like CONCAT('%', #searchKeyword#, '%')
</isEqual>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 총건수 조회 -->
<select id="menuManageDAO.selectMenuManageListTotCnt_S" parameterClass="comDefaultVO" resultClass="int">
SELECT COUNT(MENU_NO) AS totcnt
FROM LETTNMENUINFO
WHERE 1=1
<isEqual prepend="AND" property="searchCondition" compareValue="">
( binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
OR MENU_NO like CONCAT('%', #searchKeyword#, '%') )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="A">
binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
AND <![CDATA[ MENU_NO < 9900000 ]]>
</isEqual >
<isEqual prepend="AND" property="searchCondition" compareValue="U">
binary(MENU_NM) like CONCAT('%', #searchKeyword#, '%')
AND <![CDATA[ MENU_NO > 9900000 ]]>
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="C">
MENU_NO like CONCAT('%', #searchKeyword#, '%')
</isEqual>
</select>
<select id="menuManageDAO.selectMenuManage_D" parameterClass="menuManageVO" resultClass="menuManageVO">
/* 임시.*NOT_SQL_LOG.* menuManageDAO.selectMenuManage_D */
SELECT
A.MENU_NO AS menuNo
, MENU_ORDR AS menuOrdr
, MENU_NM AS menuNm
, UPPER_MENU_NO AS upperMenuId
, MENU_DC AS menuDc
, RELATE_IMAGE_PATH AS relateImagePath
, RELATE_IMAGE_NM AS relateImageNm
, PROGRM_FILE_NM AS progrmFileNm
, MENU_USER_TYPE AS menuUserType
, MENU_TYPE AS menuType
, '' AS menuCours
/*, getMenuCours(A.MENU_NO) AS menuCours*/
, B.AUTHOR_CODE AS authorCode
, B.USE_YN AS useYn
, B.SATIS_YN AS satisYn,
A.EMPLYR_ID AS emplyrId ,
C.USER_NM AS emplyrIdTxt ,
(SELECT LOC_NM FROM ITSM_LOC WHERE LOC_NO = C.PART_IDX) AS locNmTxt
FROM LETTNMENUINFO A
LEFT JOIN LETTNMENUCREATDTLS B ON A.MENU_NO= B.MENU_NO
LEFT JOIN LETTNEMPLYRINFO C ON A.EMPLYR_ID = C.EMPLYR_ID
WHERE 1=1
<isEmpty property="searchCondition"> /* 이전 원래 쿼리 */
AND A.MENU_NO = #searchKeyword#
</isEmpty>
<isNotEmpty property="searchCondition"> /* 접속 통계를 위한 추가 쿼리 */
AND A.PROGRM_FILE_NM = #searchKeyword#
</isNotEmpty>
<isNotEmpty property="authorCode" > /* 매뉴사용여부 조회 */
<isEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
AND B.AUTHOR_CODE IN ('ROLE_ANONYMOUS', 'ROLE_USER_MEMBER', 'ROLE_USER_MANAGER')
</isEqual>
<isNotEqual property="authorCode" compareValue="ROLE_ANONYMOUS">
AND B.AUTHOR_CODE IN ('ROLE_ADMIN', 'ROLE_ADR_ADMIN', 'ROLE_VISIT')
</isNotEqual>
</isNotEmpty>
LIMIT 1
</select>
<!-- 만족도 관리를 위한 조회 -->
<select id="menuManageDAO.selectMenuManage_Satis" parameterClass="menuManageVO" resultClass="menuManageVO">
/* 임시.*NOT_SQL_LOG.* */
SELECT
A.MENU_NO AS menuNo
, MENU_ORDR AS menuOrdr
, MENU_NM AS menuNm
, UPPER_MENU_NO AS upperMenuId
, MENU_DC AS menuDc
, RELATE_IMAGE_PATH AS relateImagePath
, RELATE_IMAGE_NM AS relateImageNm
, PROGRM_FILE_NM AS progrmFileNm
, MENU_USER_TYPE AS menuUserType
, MENU_TYPE AS menuType
, '' AS menuCours
/*, getMenuCours(A.MENU_NO) AS menuCours*/
, B.AUTHOR_CODE AS authorCode
, B.USE_YN AS useYn
, B.SATIS_YN AS satisYn
, C.USER_NM AS emplyrIdTxt
, C.EMPLYR_ID AS emplyrId
, (SELECT LOC_NM
FROM ITSM_LOC
WHERE LOC_NO = C.PART_IDX
) AS locNmTxt
, C.OFFM_TELNO as offmTelno
FROM LETTNMENUINFO A LEFT JOIN LETTNMENUCREATDTLS B ON A.MENU_NO= B.MENU_NO
LEFT JOIN LETTNEMPLYRINFO C ON A.EMPLYR_ID = C.EMPLYR_ID
WHERE 1=1
<isEmpty property="searchCondition"> /* 이전 원래 쿼리 */
AND A.MENU_NO = #searchKeyword#
</isEmpty>
<isNotEmpty property="searchCondition"> /* 접속 통계를 위한 추가 쿼리 */
AND A.PROGRM_FILE_NM = #searchKeyword#
</isNotEmpty>
<isNotEmpty property="authorCode" > /* 매뉴사용여부 조회 */
AND B.AUTHOR_CODE = #authorCode#
</isNotEmpty>
LIMIT 1
</select>
<insert id="menuManageDAO.insertMenuManage_S">
<![CDATA[
INSERT INTO LETTNMENUINFO
( MENU_NO
, MENU_ORDR
, MENU_NM
, UPPER_MENU_NO
, MENU_DC
, RELATE_IMAGE_PATH
, RELATE_IMAGE_NM
, PROGRM_FILE_NM
, MENU_TYPE
, MENU_USER_TYPE )
VALUES ( #menuNo#
, #menuOrdr#
, #menuNm#
, #upperMenuId#
, #menuDc#
, #relateImagePath#
, #relateImageNm#
, #progrmFileNm#
, #menuType#
, #menuUserType# )
]]>
</insert>
<update id="menuManageDAO.updateMenuManage_S">
<![CDATA[
UPDATE LETTNMENUINFO
SET MENU_ORDR = #menuOrdr#
, MENU_NM = #menuNm#
, UPPER_MENU_NO = #upperMenuId#
, MENU_DC = #menuDc#
, RELATE_IMAGE_PATH = #relateImagePath#
, RELATE_IMAGE_NM = #relateImageNm#
, PROGRM_FILE_NM = #progrmFileNm#
, MENU_USER_TYPE = #menuUserType#
]]>
WHERE MENU_NO=#menuNo#
</update>
<delete id="menuManageDAO.deleteMenuManage_S">
<![CDATA[
DELETE FROM LETTNMENUINFO
WHERE MENU_NO=#menuNo#
]]>
</delete>
<delete id="menuManageDAO.deleteMenuManageBef" parameterClass="menuManageVO">
DELETE FROM LETTNMENUINFO
WHERE MENU_NO=#tmp_Id#
</delete>
<!-- 메뉴번호 존재여부 조회 -->
<select id="menuManageDAO.selectMenuNoByPk" parameterClass="menuManageVO" resultClass="int">
<![CDATA[
SELECT COUNT(MENU_NO) AS totcnt
FROM LETTNMENUINFO
WHERE MENU_NO = #menuNo#
]]>
</select>
<!-- 상위 메뉴번호 존재여부 조회 -->
<select id="menuManageDAO.selectUpperMenuNoByPk" parameterClass="menuManageVO" resultClass="int">
<![CDATA[
SELECT COUNT(MENU_NO) AS totcnt
FROM LETTNMENUINFO
WHERE UPPER_MENU_NO = #menuNo#
]]>
</select>
<select id="menuManageDAO.selectMenuListT_D" parameterClass="comDefaultVO" resultClass="egovMap">
<![CDATA[
SELECT
MENU_NO AS menuNo
, MENU_ORDR AS menuOrdr
, MENU_NM AS menuNm
, UPPER_MENU_NO AS upperMenuId
, MENU_DC AS menuDc
, RELATE_IMAGE_PATH AS relateImagePath
, RELATE_IMAGE_NM AS relateImageNm
, PROGRM_FILE_NM AS progrmFileNm
FROM LETTNMENUINFO
WHERE Menu_NO > 0
ORDER BY MENU_ORDR
]]>
</select>
<delete id="menuManageDAO.deleteAllMenuList" >
<![CDATA[
DELETE FROM LETTNMENUINFO WHERE MENU_NO <> UPPER_MENU_NO
]]>
</delete>
<!-- 메뉴정보 총건수 조회 -->
<select id="menuManageDAO.selectMenuListTotCnt" parameterClass="menuManageVO" resultClass="int">
<![CDATA[
SELECT COUNT(MENU_NO) AS totcnt
FROM LETTNMENUINFO
]]>
</select>
<update id="menuManageDAO.updateMenuNmManage">
<![CDATA[
UPDATE LETTNMENUINFO
SET MENU_NM = #menuNm#
WHERE MENU_NO=#menuNo#
]]>
</update>
<update id="menuManageDAO.updateMenuManageJtree" parameterClass="menuManageVO" >
UPDATE LETTNMENUINFO
SET MENU_ORDR = #menuOrdr#
, MENU_NM = #menuNm#
, UPPER_MENU_NO = #upperMenuId#
, MENU_DC = #menuDc#
, RELATE_IMAGE_PATH = #relateImagePath#
, RELATE_IMAGE_NM = #relateImageNm#
, PROGRM_FILE_NM = #progrmFileNm#
, MENU_USER_TYPE = #menuUserType#
, MENU_TYPE = #menuType#
<isNotEmpty property="emplyrId">
, EMPLYR_ID = #emplyrId#
</isNotEmpty>
, MENU_NO = #menuNo#
WHERE MENU_NO=#tmp_Id#
</update>
<update id="menuManageDAO.updateMenuManageJtreeNo" parameterClass="menuManageVO" >
<![CDATA[
UPDATE LETTNMENUINFO
SET MENU_ORDR = #menuOrdr#
, UPPER_MENU_NO = #upperMenuId#
, LAST_UPDT_PNTTM = now()
WHERE MENU_NO=#menuNo#
]]>
</update>
<update id="menuManageDAO.resortMenuManage" parameterClass="menuManageVO" >
UPDATE LETTNMENUINFO A ,
( SELECT ROW_NUMBER() OVER(ORDER BY MENU_ORDR, LAST_UPDT_PNTTM
<isEqual property="sortOver" compareValue="D">
DESC
</isEqual>
) AS SORT1 , A.MENU_NO FROM LETTNMENUINFO A LEFT JOIN LETTNMENUCREATDTLS B
ON A.MENU_NO= B.MENU_NO
WHERE A.UPPER_MENU_NO = #upperMenuId#
AND B.AUTHOR_CODE = #authorCode#
ORDER BY MENU_ORDR ASC ) B
SET A.MENU_ORDR = B.SORT1
WHERE A.MENU_NO = B.MENU_NO
</update>
<update id="menuManageDAO.updateMenuManageJtreeLevelNo" parameterClass="menuManageVO" >
<![CDATA[
UPDATE LETTNMENUINFO
SET MENU_ORDR = #menuOrdr#
, UPPER_MENU_NO = #upperMenuId#
, MENU_NO = #menuNo#
, LAST_UPDT_PNTTM = now()
WHERE MENU_NO= #tmp_Id#
]]>
</update>
<update id="menuManageDAO.updateMenuManageJtreeMove" parameterClass="menuManageVO" >
<![CDATA[
UPDATE LETTNMENUINFO
SET MENU_ORDR = #menuOrdr#
, UPPER_MENU_NO = #upperMenuId#
, LAST_UPDT_PNTTM = now()
WHERE MENU_NO= #menuNo#
]]>
</update>
</sqlMap>

View File

@ -0,0 +1,572 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="SiteManager">
<cacheModel id="cache-siteManager" type="LRU">
<flushInterval seconds="10" />
<!-- <flushInterval hours="12" />
<flushOnExecute statement="siteManagerDAO.siteManagerUpdate"/>
<flushOnExecute statement="siteManagerDAO.updateInsp"/>
<flushOnExecute statement="siteManagerDAO.updateFaviconFile"/>
<flushOnExecute statement="siteManagerDAO.updateFaviconYnAjax"/>
<flushOnExecute statement="siteManagerDAO.updateTabTitle"/>
<flushOnExecute statement="siteManagerDAO.updateTabTitleYnAjax"/>
<flushOnExecute statement="siteManagerDAO.updateTabTitleYn"/>
<flushOnExecute statement="siteManagerDAO.insertSiteManager"/>
<flushOnExecute statement="siteManagerDAO.updateJoinAutoAjax"/>
<flushOnExecute statement="siteManagerDAO.updateInfoProtectPassAjax"/>
<flushOnExecute statement="siteManagerDAO.updateInfoProtectMark"/>
<flushOnExecute statement="siteManagerDAO.updateAdminLogKpCd"/>
<flushOnExecute statement="siteManagerDAO.termsYnUpdateAjax"/>
-->
</cacheModel>
<typeAlias alias="egovMap" type = "egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="siteManagerVO" type = "kcc.let.sym.site.service.SiteManagerVO"/>
<typeAlias alias="siteIpManagerVO" type = "kcc.let.sym.site.service.SiteIpManagerVO"/>
<select id="siteManagerDAO.selectSiteManagerVO" resultClass="siteManagerVO" cacheModel="cache-siteManager">
/* 임시.*NOT_SQL_LOG.* */
SELECT SITE_NM AS siteNm,
FRST_REGISTER_ID AS frstRegisterId,
TO_CHAR(FRST_REGIST_PNTTM,'YYYY-MM-DD HH24:MI:SS') frstRegistPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
TO_CHAR(LAST_UPDT_PNTTM,'YYYY-MM-DD HH24:MI:SS') lastUpdtPnttm,
A.THEME as theme ,
A.INSP_FLAG as inspFlag ,
A.THEME_SMPL_USE AS themeSmplUse,
A.FAVICON_YN AS faviconYn,
A.FAVICON_FILE_ID AS faviconFileId,
A.TAB_TITLE AS tabTitle,
A.TAB_TITLE_YN AS tabTitleYn,
A.JOIN_AUTO_YN AS joinAutoYn,
A.INFO_PROTECT_PASS AS infoProtectPass,
A.INFO_PROTECT_MARK AS infoProtectMark,
A.TERMS_YN AS termsYn,
A.TERMS_CN AS termsCn,
C.CODE_DC AS sessionTimeCdText
FROM SITEMANAGER A
LEFT JOIN LETTNFILEDETAIL B ON A.FAVICON_FILE_ID = B.ATCH_FILE_ID
LEFT JOIN (
SELECT CODE_NM , CODE , CODE_DC
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN014'
) C ON A.SESSION_TIME_CD = C.CODE
</select>
<insert id="siteManagerDAO.insertSiteManager" parameterClass="siteManagerVO" >
INSERT INTO SITEMANAGER(
SITE_NM
,FRST_REGISTER_ID
,LAST_UPDUSR_ID
<isNotEmpty property="theme">
,THEME
</isNotEmpty>
,FRST_REGIST_PNTTM
<isNotEmpty property="themeSmplUse">
,THEME_SMPL_USE
</isNotEmpty>
)VALUES(
#siteNm#
, #frstRegisterId#
, #lastUpdusrId#
<isNotEmpty property="theme">
,#theme#
</isNotEmpty>
, NOW()
<isNotEmpty property="themeSmplUse">
, #themeSmplUse#
</isNotEmpty>
)
</insert>
<select id="siteManagerDAO.selectSiteManagerList" parameterClass="siteManagerVO" resultClass="siteManagerVO">
SELECT
COUNT(*) OVER() AS sTotCnt,
TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD') frstRegistPnttm ,
A.FRST_REGIST_PNTTM AS sortTempNo,
A.LAST_UPDUSR_ID AS lastUpdusrId,
TO_CHAR(A.LAST_UPDT_PNTTM, 'YYYY-MM-DD') lastUpdtPnttm ,
A.THEME AS theme,
B.CODE_NM AS themeTxt,
A.THEME_SMPL_USE AS themeSmplUse,
A.INSP_FLAG AS inspFlag,
C.CODE_NM AS themeSmplUseTxt ,
A.FAVICON_YN AS faviconYn,
A.FAVICON_YN AS faviconYnSort,
A.FAVICON_FILE_ID AS faviconFileId,
A.TAB_TITLE AS tabTitle,
A.TAB_TITLE_YN AS tabTitleYn ,
A.TAB_TITLE_YN AS tabTitleYnSort ,
A.INFO_PROTECT_PASS AS infoProtectPass ,
A.INFO_PROTECT_MARK AS infoProtectMark,
A.ID_WITHDRAW_CD AS idWithdrawCd,
E.CODE_NM AS idWithdrawCdTxt ,
A.ADMINLOG_KP_CD as adminlogKpCd,
F.CODE_NM as adminlogKpCdTxt,
A.RECENT_SEARCH_CD as recentSearchCd,
G.CODE_NM as recentSearchCdTxt,
A.TERMS_YN AS termsYn,
A.TERMS_CN AS termsCn,
A.SESSION_TIME_CD AS sessionTimeCd,
H.CODE_NM AS sessionTimeCdText
FROM SITEMANAGER A LEFT JOIN (
SELECT CODE_NM , CODE FROM LETTCCMMNDETAILCODE WHERE USE_AT = 'Y'
AND CODE_ID = 'UNI002' /**테마코드 */
) B ON A.THEME = B.CODE
LEFT JOIN (
SELECT CODE_NM , CODE FROM LETTCCMMNDETAILCODE WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN010' /**사용코드 */
) C ON A.THEME = C.CODE
LEFT JOIN LETTNFILE D ON A.FAVICON_FILE_ID = D.ATCH_FILE_ID
LEFT JOIN (
SELECT CODE_NM , CODE
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN011'
)
E ON A.ID_WITHDRAW_CD = E.CODE
LEFT JOIN (
SELECT CODE_NM , CODE
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN012'
) F ON A.ADMINLOG_KP_CD = F.CODE
LEFT JOIN (
SELECT CODE_NM , CODE
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN013'
) G ON A.RECENT_SEARCH_CD = G.CODE
LEFT JOIN (
SELECT CODE_NM , CODE
FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN014'
) H ON A.SESSION_TIME_CD = H.CODE
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( SITE_ID LIKE '%' || #searchKeyword# || '%' OR SITE_NM LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
SITE_ID LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
SITE_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="siteManagerDAO.selectSiteManagerListTotCnt" parameterClass="siteManagerVO" resultClass="int">
SELECT COUNT(*) AS totcnt
FROM SITEMANAGER
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( SITE_ID LIKE '%' || #searchKeyword# || '%' OR SITE_NM LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
SITE_ID LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
SITE_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
</select>
<delete id="siteManagerDAO.deleteSiteManager" parameterClass="String" >
DELETE FROM SITEMANAGER WHERE SITE_ID= #id#
</delete>
<update id="siteManagerDAO.siteManagerUpdate" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET THEME = #theme#,
LAST_UPDUSR_ID = #frstRegisterId#,
LAST_UPDT_PNTTM = NOW(),
THEME_SMPL_USE = #themeSmplUse#
</update>
<select id="siteManagerDAO.selectSiteIpList" parameterClass="siteIpManagerVO" resultClass="siteIpManagerVO">
SELECT
COM_ID AS comId,
COM_SUBNETMASK AS comSubnetmask,
COM_GATEWAY AS comGateway,
COM_IP AS comIp,
COM_NAME AS comName,
COM_DESC AS comDesc,
USE_YN AS useYn,
A.FRST_REGISTER_ID AS frstRegisterId,
TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') frstRegistPnttm ,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LAST_UPDT_PNTTM AS lastUpdtPnttm,
TEAM AS team,
C.CODE_ID_NM AS teamTxt,
DEPARTMENT AS department,
D.CODE_NM AS departmentTxt,
GRADE AS grade,
LAN_NUM AS lanNum,
NTCE_BGNDE AS ntceBgnde,
NTCE_ENDDE AS ntceEndde,
TO_CHAR( TO_TIMESTAMP(A.NTCE_BGNDE, 'YYYYMMDD HH24MI') , 'YYYY-MM-DD HH24:MI' ) ntceBgndeTxt,
TO_CHAR( TO_TIMESTAMP(A.NTCE_ENDDE, 'YYYYMMDD HH24MI') , 'YYYY-MM-DD HH24:MI' ) ntceEnddeTxt
FROM SITE_IP_MANAGER A
LEFT JOIN
(SELECT A.CODE_ID , A.CODE_ID_NM FROM LETTCCMMNCODE A, LETTCCMMNCLCODE B
WHERE A.CL_CODE = B.CL_CODE
AND A.CL_CODE = 'CMS'
AND A.USE_AT = 'Y'
) C ON A.TEAM = C.CODE_ID
LEFT JOIN
(SELECT CODE, CODE_NM FROM LETTCCMMNDETAILCODE
WHERE USE_AT = 'Y'
AND CODE_ID = 'ITN009'
) D ON A.GRADE = D.CODE
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( COM_NAME LIKE '%' || #searchKeyword# || '%' OR COM_IP LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
COM_NAME LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
COM_IP LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionUse">
AND A.USE_YN = #searchConditionUse#
</isNotEmpty>
<isNotEmpty property="chgFlag"> <!-- 히스토리 데이터 제외 -->
AND CHG_FLAG= #chgFlag#
</isNotEmpty>
<isNotEmpty property="comId">
AND COM_ID= #comId#
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="siteManagerDAO.selectSiteIpListTotCnt" parameterClass="siteIpManagerVO" resultClass="int">
SELECT COUNT(*) AS totcnt
FROM SITE_IP_MANAGER
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( COM_NAME LIKE '%' || #searchKeyword# || '%' OR COM_IP LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
COM_NAME LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
COM_IP LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="searchConditionUse">
AND USE_YN = #searchConditionUse#
</isNotEmpty>
<isNotEmpty property="chgFlag"> <!-- 히스토리 데이터 제외 -->
AND CHG_FLAG= #chgFlag#
</isNotEmpty>
<isNotEmpty property="comId">
AND COM_ID= #comId#
</isNotEmpty>
</select>
<update id="siteManagerDAO.updateSiteIp" parameterClass="siteIpManagerVO">
UPDATE SITE_IP_MANAGER
SET COM_SUBNETMASK = #comSubnetmask#,
COM_GATEWAY = #comGateway#,
COM_IP = #comIp#,
COM_NAME = #comName#,
COM_DESC = #comDesc#,
USE_YN = #useYn#,
LAST_UPDUSR_ID = #lastUpdusrId#,
TEAM = #team#,
DEPARTMENT = #department#,
GRADE = #grade#,
LAN_NUM = #lanNum#,
NTCE_BGNDE = #ntceBgnde#,
NTCE_ENDDE = #ntceEndde#,
LAST_UPDT_PNTTM = NOW()
WHERE COM_ID = #comId#
AND CHG_FLAG = 'N'
</update>
<insert id="siteManagerDAO.insertSiteIpChg" parameterClass="siteIpManagerVO" >
INSERT INTO SITE_IP_MANAGER
(COM_ID,
COM_SUBNETMASK,
COM_GATEWAY,
COM_IP,
COM_NAME,
COM_DESC,
USE_YN,
FRST_REGISTER_ID,
FRST_REGIST_PNTTM,
LAST_UPDUSR_ID,
LAST_UPDT_PNTTM,
TEAM,
DEPARTMENT,
GRADE,
LAN_NUM,
NTCE_BGNDE,
NTCE_ENDDE,
CHG_FLAG
)
SELECT
COM_ID,
COM_SUBNETMASK,
COM_GATEWAY,
COM_IP,
COM_NAME,
COM_DESC,
USE_YN,
FRST_REGISTER_ID,
NOW(),
LAST_UPDUSR_ID,
LAST_UPDT_PNTTM,
TEAM,
DEPARTMENT,
GRADE,
LAN_NUM,
NTCE_BGNDE,
NTCE_ENDDE,
'Y'
FROM SITE_IP_MANAGER WHERE COM_ID = #comId#
AND CHG_FLAG = 'N'
</insert>
<insert id="siteManagerDAO.insertSiteIp" parameterClass="siteIpManagerVO" >
INSERT INTO SITE_IP_MANAGER(
COM_ID,
COM_SUBNETMASK,
COM_GATEWAY,
COM_IP,
COM_NAME,
COM_DESC,
USE_YN,
FRST_REGISTER_ID,
TEAM,
DEPARTMENT,
GRADE,
LAN_NUM,
NTCE_BGNDE,
NTCE_ENDDE
)VALUES(
#comId#,
#comSubnetmask#,
#comGateway#,
#comIp#,
#comName#,
#comDesc#,
#useYn#,
#frstRegisterId#,
#team#,
#department#,
#grade#,
#lanNum#,
#ntceBgnde#,
#ntceEndde#
)
</insert>
<select id="siteManagerDAO.selectSiteIpVO" resultClass="siteIpManagerVO">
SELECT
COM_ID AS comId,
COM_SUBNETMASK AS comSubnetmask,
COM_GATEWAY AS comGateway,
COM_IP AS comIp,
COM_NAME AS comName,
COM_DESC AS comDesc,
USE_YN AS useYn,
FRST_REGISTER_ID AS frstRegisterId,
FRST_REGIST_PNTTM AS frstRegistPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
TEAM AS team,
DEPARTMENT AS department,
GRADE AS grade,
LAN_NUM AS lanNum,
NTCE_BGNDE AS ntceBgnde,
NTCE_ENDDE AS ntceEndde,
CHG_FLAG AS chgFlag
FROM SITE_IP_MANAGER
WHERE 1 = 1
AND COM_ID= #comId#
AND CHG_FLAG = 'N'
</select>
<delete id="siteManagerDAO.deleteSiteIp" parameterClass="String" >
DELETE FROM SITE_IP_MANAGER WHERE COM_ID= #comId#
</delete>
<select id="siteManagerDAO.selectSiteUseSumCnt" parameterClass="siteIpManagerVO" resultClass="siteIpManagerVO" remapResults="true">
SELECT
<isEqual property="totalUseSumFlag" compareValue="N">
TEAM ,
DEPARTMENT ,
</isEqual>
USE_YN as useYn,
COUNT(USE_YN) as useSumCnt
FROM SITE_IP_MANAGER
WHERE CHG_FLAG = 'N'
GROUP BY
<isEqual property="totalUseSumFlag" compareValue="N">
TEAM, DEPARTMENT,
</isEqual>
USE_YN
ORDER BY USE_YN DESC
</select>
<select id="siteManagerDAO.selectTeamListUseCnt" parameterClass="siteIpManagerVO" resultClass="siteIpManagerVO">
SELECT
B.team as team ,
B.department as department,
USE_YN as useYn,
USESUMCNT as useSumCnt
FROM
(
SELECT
USE_YN,
TEAM,
DEPARTMENT,
COUNT(USE_YN) as USESUMCNT
FROM SITE_IP_MANAGER
WHERE CHG_FLAG = 'N'
GROUP BY USE_YN , TEAM , DEPARTMENT
) A
RIGHT JOIN
(
SELECT
A.CODE_ID TEAM ,
A.CODE DEPARTMENT
FROM
LETTCCMMNDETAILCODE A ,
LETTCCMMNCODE B ,
LETTCCMMNCLCODE C
WHERE
B.USE_AT = 'Y'
AND C.CL_CODE = B.CL_CODE
AND A.CODE_ID = B.CODE_ID
AND C.CL_CODE = 'CMS'
) B
ON A.TEAM = B.TEAM
AND A.DEPARTMENT = B.DEPARTMENT
</select>
<update id="siteManagerDAO.updateInsp" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET INSP_FLAG = #inspFlag#
</update>
<select id="siteManagerDAO.selectFaviconFileVO" parameterClass="siteManagerVO" resultClass="siteManagerVO">
SELECT
A.FRST_REGISTER_ID AS frstRegisterId,
A.FRST_REGIST_PNTTM AS frstRegistPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LAST_UPDT_PNTTM AS lastUpdtPnttm,
FAVICON_YN AS faviconYn,
FAVICON_FILE_ID AS faviconFileId,
B.FILE_STRE_COURS || B.STRE_FILE_NM as whFile
/**
LOWER(B.FILE_EXTSN) AS fileExtsn,
B.ORIGNL_FILE_NM AS orignlFileNm */
FROM SITEMANAGER A LEFT JOIN LETTNFILEDETAIL B
ON A.FAVICON_FILE_ID = B.ATCH_FILE_ID
</select>
<update id="siteManagerDAO.updateFaviconFile" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET FAVICON_FILE_ID = #faviconFileId#,
FAVICON_YN = #faviconYn#
</update>
<update id="siteManagerDAO.updateFaviconYnAjax" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET FAVICON_YN = #faviconYn#
</update>
<update id="siteManagerDAO.updateTabTitle" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET TAB_TITLE = #tabTitle#
</update>
<update id="siteManagerDAO.updateTabTitleYnAjax" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET TAB_TITLE_YN = #tabTitleYn#
</update>
<update id="siteManagerDAO.updateTabTitleYn" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET TAB_TITLE_YN = #tabTitleYn#,
TAB_TITLE = #tabTitle#
</update>
<update id="siteManagerDAO.updateJoinAutoAjax" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET JOIN_AUTO_YN = #joinAutoYn#
</update>
<update id="siteManagerDAO.updateInfoProtectPassAjax" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET INFO_PROTECT_PASS = #infoProtectPass#
</update>
<update id="siteManagerDAO.updateInfoProtectMark" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET INFO_PROTECT_MARK = #infoProtectMark#
</update>
<update id="siteManagerDAO.updateWithdrawCd" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET ID_WITHDRAW_CD = #idWithdrawCd#
</update>
<update id="siteManagerDAO.updateAdminLogKpCd" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET ADMINLOG_KP_CD = #adminlogKpCd#
</update>
<update id="siteManagerDAO.updateRecentSearchCd" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET RECENT_SEARCH_CD = #recentSearchCd#
</update>
<update id="siteManagerDAO.updateTermsYnAjax" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET TERMS_YN = #termsYn#
</update>
<update id="siteManagerDAO.updateTerms" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET TERMS_CN = #termsCn#
</update>
<update id="siteManagerDAO.updateSessionTimeCd" parameterClass="siteManagerVO">
UPDATE SITEMANAGER
SET SESSION_TIME_CD = #sessionTimeCd#
</update>
</sqlMap>

View File

@ -0,0 +1,260 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="LoginPolicy">
<typeAlias alias="LoginPolicy" type="kcc.let.uat.uap.service.LoginPolicy"/>
<typeAlias alias="LoginPolicyVO" type="kcc.let.uat.uap.service.LoginPolicyVO"/>
<resultMap id="loginPolicy" class="kcc.let.uat.uap.service.LoginPolicyVO">
<result property="emplyrId" column="USER_ID" columnIndex="1"/>
<result property="emplyrNm" column="USER_NM" columnIndex="2"/>
<result property="emplyrSe" column="USER_SE" columnIndex="3"/>
<result property="ipInfo" column="IP_INFO" columnIndex="4"/>
<result property="dplctPermAt" column="DPLCT_PERM_AT" columnIndex="5"/>
<result property="lmttAt" column="LMTT_AT" columnIndex="6"/>
<result property="userId" column="LAST_UPDUSR_ID" columnIndex="7"/>
<result property="regDate" column="LAST_UPDT_PNTTM" columnIndex="8"/>
<result property="regYn" column="REG_YN" columnIndex="9"/>
</resultMap>
<!-- 관리자만 조회 -->
<select id="loginPolicyDAO.selectLoginPolicyList" parameterClass="LoginPolicyVO" resultMap="loginPolicy">
SELECT A.EMPLYR_ID AS USER_ID,
A.USER_NM,
'GNR' AS USER_SE,
B.IP_INFO,
B.DPLCT_PERM_AT,
B.LMTT_AT,
B.LAST_UPDUSR_ID,
B.LAST_UPDT_PNTTM,
CASE WHEN B.EMPLYR_ID IS NULL THEN 'N' ELSE 'Y' END AS REG_YN
FROM lettnemplyrinfo A LEFT OUTER JOIN LETTNLOGINPOLICY B
ON A.EMPLYR_ID = B.EMPLYR_ID
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.USER_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="loginPolicyDAO.selectLoginPolicyListTotCnt" parameterClass="LoginPolicyVO" resultClass="int">
SELECT COUNT(*) AS totcnt
FROM lettnemplyrinfo A LEFT OUTER JOIN LETTNLOGINPOLICY B
ON A.EMPLYR_ID = B.EMPLYR_ID
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
A.USER_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
</select>
<select id="loginPolicyDAO.selectLoginPolicy" resultMap="loginPolicy">
SELECT A.USER_ID,
A.USER_NM,
A.USER_SE,
B.IP_INFO,
B.DPLCT_PERM_AT,
COALESCE(B.LMTT_AT, 'N') AS LMTT_AT,
B.LAST_UPDUSR_ID,
B.LAST_UPDT_PNTTM,
CASE WHEN B.EMPLYR_ID IS NULL THEN 'N' ELSE 'Y' END AS REG_YN
FROM COMVNUSERMASTER A LEFT OUTER JOIN LETTNLOGINPOLICY B
ON A.USER_ID = B.EMPLYR_ID
WHERE 1 = 1
AND A.USER_ID = #emplyrId#
</select>
<select id="loginPolicyDAO.selectLoginIPPolicy" parameterClass="String" resultClass="int">
SELECT COUNT(IP_INFO)
FROM LETTNLOGINGROUPPOLICY
WHERE IP_INFO LIKE '%' || #checkIp# || '%'
</select>
<insert id="loginPolicyDAO.insertLoginPolicy" parameterClass="LoginPolicy">
<![CDATA[
INSERT INTO LETTNLOGINPOLICY
(EMPLYR_ID
,IP_INFO
,DPLCT_PERM_AT
,LMTT_AT
,FRST_REGISTER_ID
,FRST_REGIST_PNTTM
,LAST_UPDUSR_ID
,LAST_UPDT_PNTTM)
VALUES (#emplyrId#
,#ipInfo#
,#dplctPermAt#
,#lmttAt#
,#userId#
,NOW()
,#userId#
,NOW())
]]>
</insert>
<update id="loginPolicyDAO.updateLoginPolicy" parameterClass="LoginPolicy">
<![CDATA[
UPDATE LETTNLOGINPOLICY
SET IP_INFO = #ipInfo#
,DPLCT_PERM_AT = #dplctPermAt#
,LMTT_AT = #lmttAt#
,LAST_UPDUSR_ID = #userId#
,LAST_UPDT_PNTTM = NOW()
WHERE EMPLYR_ID = #emplyrId#
]]>
</update>
<delete id="loginPolicyDAO.deleteLoginPolicy">
<![CDATA[
DELETE FROM LETTNLOGINPOLICY
WHERE EMPLYR_ID = #emplyrId#
]]>
</delete>
<insert id="loginPolicyDAO.insertAdminLoginIp" parameterClass="LoginPolicy" >
<![CDATA[
INSERT INTO ADMIN_ACCESS_IP
(ACCESS_IP
,EMPLYR_ID)
VALUES (#ipInfo#
,#emplyrId# )
ON CONFLICT (ACCESS_IP)
DO UPDATE SET ACCESS_IP = #ipInfo#,
EMPLYR_ID = #emplyrId#
]]>
</insert>
<select id="loginPolicyDAO.selectAdminLoginIpList" parameterClass="LoginPolicyVO" resultClass="LoginPolicyVO">
SELECT ACCESS_IP as ipInfo , EMPLYR_ID as emplyrId
, TO_CHAR(REGDT , 'YYYY-MM-DD') as regDate
FROM ADMIN_ACCESS_IP A ORDER BY ACCESS_IP ASC
</select>
<select id="loginPolicyDAO.selectLoginGroupPolicy" parameterClass="LoginPolicyVO" resultClass="LoginPolicyVO">
SELECT
IP_GROUP_ID as ipGroupId,
IP_INFO as ipInfo,
IP_DC as ipDc,
FRST_REGISTER_ID as frstRegisterId,
TO_CHAR(FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as frstRegistPnttm,
LAST_UPDUSR_ID as lastUpdusrId,
TO_CHAR(LAST_UPDT_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as lastUpdtPnttm
FROM LETTNLOGINGROUPPOLICY
WHERE 1 = 1
<isNotEmpty property="ipGroupId">
AND IP_GROUP_ID = #ipGroupId#
</isNotEmpty>
<isNotEmpty property="ipInfo">
AND IP_INFO = #ipInfo#
</isNotEmpty>
LIMIT 1
</select>
<select id="loginPolicyDAO.selectLoginGroupPolicyList" parameterClass="LoginPolicyVO" resultClass="LoginPolicyVO" >
SELECT
IP_GROUP_ID as ipGroupId,
IP_INFO as ipInfo,
IP_DC as ipDc,
A.FRST_REGISTER_ID as frstRegisterId,
TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as frstRegistPnttm,
A.LAST_UPDUSR_ID as lastUpdusrId,
TO_CHAR(A.LAST_UPDT_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as lastUpdtPnttm
FROM LETTNLOGINGROUPPOLICY A
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( IP_INFO LIKE '%' || #searchKeyword# || '%' OR IP_DC LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
IP_DC LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
IP_INFO LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
ORDER BY 1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="loginPolicyDAO.selectLoginGroupPolicyAll" parameterClass="LoginPolicyVO" resultClass="LoginPolicyVO" >
SELECT
IP_GROUP_ID as ipGroupId,
IP_INFO as ipInfo,
IP_DC as ipDc,
FRST_REGISTER_ID as frstRegisterId,
TO_CHAR(FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as frstRegistPnttm,
LAST_UPDUSR_ID as lastUpdusrId,
TO_CHAR(LAST_UPDT_PNTTM, 'YYYY-MM-DD HH24:MI:SS') as lastUpdtPnttm
FROM LETTNLOGINGROUPPOLICY
WHERE 1 = 1
</select>
<select id="loginPolicyDAO.selectLoginGroupPolicyListTotCnt" parameterClass="LoginPolicyVO" resultClass="int">
SELECT COUNT(*) AS totcnt
FROM LETTNLOGINGROUPPOLICY
WHERE 1 = 1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
( IP_INFO LIKE '%' || #searchKeyword# || '%' OR IP_DC LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
IP_DC LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
IP_INFO LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
</select>
<insert id="loginPolicyDAO.insertLoginGroupPolicy" parameterClass="LoginPolicyVO" >
INSERT INTO LETTNLOGINGROUPPOLICY(
IP_GROUP_ID
,IP_INFO
,IP_DC
,FRST_REGISTER_ID
,FRST_REGIST_PNTTM
)VALUES(
#ipGroupId#
,#ipInfo#
, #ipDc#
, #frstRegisterId#
, NOW()
)
</insert>
<delete id="loginPolicyDAO.deleteGroupPolicy" parameterClass="String">
<![CDATA[
DELETE FROM LETTNLOGINGROUPPOLICY
WHERE IP_GROUP_ID = #ipGroupId#
]]>
</delete>
<update id="loginPolicyDAO.updateLoginGroupPolicy" parameterClass="LoginPolicyVO">
UPDATE LETTNLOGINGROUPPOLICY
SET IP_INFO = #ipInfo#
,IP_DC = #ipDc#
,LAST_UPDUSR_ID = #lastUpdusrId#
,LAST_UPDT_PNTTM = NOW()
WHERE IP_GROUP_ID = #ipGroupId#
</update>
<select id="loginPolicyDAO.selectLoginGroupPolicyAllIP" parameterClass="LoginPolicyVO" resultClass="LoginPolicyVO">
SELECT IP_INFO as ipInfo FROM LETTNLOGINGROUPPOLICY
WHERE IP_INFO IS NOT NULL AND trim(IP_INFO) != ''
</select>
</sqlMap>

View File

@ -0,0 +1,501 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="LoginUsr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="loginVO" type="kcc.com.cmm.LoginVO"/>
<!-- 로그인 처리를 위한 resultMap -->
<resultMap id="login" class="kcc.com.cmm.LoginVO">
<result property="id" column="id" columnIndex="1"/>
<result property="name" column="name" columnIndex="2"/>
<result property="ihidNum" column="ihidNum" columnIndex="3"/>
<result property="email" column="email" columnIndex="4"/>
<result property="password" column="password" columnIndex="5"/>
<result property="userSe" column="userSe" columnIndex="6"/>
<result property="orgnztId" column="orgnztId" columnIndex="7"/>
<result property="uniqId" column="uniqId" columnIndex="8"/>
<result property="passMiss" column="passMiss" columnIndex="9"/>
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
<result property="membCelnum" column="membCelnum" columnIndex="11"/>
<result property="membBirth" column="membBirth" columnIndex="12"/>
<result property="userWork" column="userWork" columnIndex="13"/>
</resultMap>
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
<select id="loginDAO.actionLogin" resultMap="login">
/*loginDAO.actionLogin*/
<!-- 일반회원 -->
<isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
FROM lettngnrlmber a
WHERE mber_id = #id#
AND PASSWORD = #password#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
<!-- 업무사용자 -->
<isEqual property="userSe" compareValue="USR">
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
AND PASSWORD = #password#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
</isNotNull>
</select>
<!-- 개발자 아이디 선택용 -->
<select id="loginDAO.actionLoginDev" resultMap="login">
/*loginDAO.actionLoginDev*/
<!-- 일반회원 loginDAO.actionLoginDev -->
<isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
FROM lettngnrlmber a
WHERE mber_seq = #id#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
<!-- 업무사용자 -->
<isEqual property="userSe" compareValue="USR">
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
</isNotNull>
</select>
<!-- e배움터 연동 후 mber_seq가 아닌 mber_id로 로그인 -->
<select id="loginDAO.actionLoginMberId" resultMap="login">
/*loginDAO.actionLoginMberId*/
<!-- 일반회원 loginDAO.actionLoginDev -->
<isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
FROM lettngnrlmber a
WHERE mber_id = #id#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
<!-- 업무사용자 -->
<isEqual property="userSe" compareValue="USR">
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
<isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
</isEmpty>
</isEqual>
</isNotNull>
</select>
<!-- 일반 로그인 -->
<!-- <select id="loginDAO.actionLogin" resultMap="login">
<isEqual property="userSe" compareValue="USR">
<![CDATA[
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
AND PASSWORD = #password#
]]>
<isEmpty property="statusAll">
AND EMPLYR_STTUS_CODE = 'P'
</isEmpty>
</isEqual>
</select> -->
<!-- 등록된 sns 수량 조회 -->
<select id="loginDAO.selectSnsIdCount" parameterClass="loginVO" resultClass="int" >
<![CDATA[
SELECT
COUNT(*) AS snsIdCnt
FROM
LETTNEMPLYRINFO
WHERE
1=1
]]>
<isEqual property="snsSite" compareValue="kakao">
<![CDATA[
AND KAKAO_ID =#snsId#
]]>
</isEqual>
<isEqual property="snsSite" compareValue="naver">
<![CDATA[
AND NAVER_ID =#snsId#
]]>
</isEqual>
</select>
<!-- 등록된 sns 수량 조회 -->
<select id="loginDAO.selectSnsId" parameterClass="loginVO" resultClass="loginVO" >
<![CDATA[
SELECT
EMPLYR_ID AS id ,
USER_NM AS name ,
PASSWORD AS password ,
IHIDNUM AS ihidNum ,
EMAIL_ADRES AS email
FROM
LETTNEMPLYRINFO
WHERE
1=1
]]>
<isEqual property="snsSite" compareValue="kakao">
<![CDATA[
AND KAKAO_EMAIL = #snsEmail#
]]>
</isEqual>
<isEqual property="snsSite" compareValue="naver">
<![CDATA[
AND NAVER_EMAIL = #snsEmail#
]]>
</isEqual>
</select>
<update id="loginDAO.updateSnsLink" parameterClass="loginVO">
UPDATE
LETTNEMPLYRINFO
SET
<isEqual property="snsSite" compareValue="kakao">
KAKAO_ID = #snsId#
, KAKAO_EMAIL = #snsId#
</isEqual>
<isEqual property="snsSite" compareValue="kakao">
KAKAO_ID = #snsId#
, KAKAO_EMAIL = #snsId#
</isEqual>
WHERE
EMPLYR_ID = #id#
</update>
<!-- 인증서 로그인
<select id="loginDAO.actionCrtfctLogin" resultMap="login">
<![CDATA[
SELECT emplyr_id AS id
, USER_NM AS name
, password AS password
, ihidnum AS ihidNum
, email_adres AS email
, 'USR' AS userSe
, orgnzt_id AS orgnztId
, ESNTL_ID AS uniqId
FROM LETTNEMPLYRINFO
WHERE sub_dn = #dn#
]]>
</select>
-->
<!-- 아이디 찾기
<select id="loginDAO.searchId" resultMap="id">
<isEqual property="userSe" compareValue="GNR">
<![CDATA[
SELECT mber_id AS id
FROM LETTNGNRLMBER
WHERE mber_nm = #name#
AND mber_email_adres = #email#
AND mber_sttus = 'P'
]]>
</isEqual>
<isEqual property="userSe" compareValue="ENT">
<![CDATA[
SELECT entrprsmber_id AS id
FROM LETTNENTRPRSMBER
WHERE cmpny_nm = #name#
AND applcnt_email_adres = #email#
AND entrprs_mber_sttus = 'P'
]]>
</isEqual>
<isEqual property="userSe" compareValue="USR">
<![CDATA[
SELECT emplyr_id AS id
FROM LETTNEMPLYRINFO
WHERE USER_NM = #name#
AND email_adres = #email#
AND emplyr_sttus_code = 'P'
]]>
</isEqual>
</select>
-->
<!-- 비밀번호 찾기
<select id="loginDAO.searchPassword" resultMap="password">
<isEqual property="userSe" compareValue="GNR">
<![CDATA[
SELECT password AS password
FROM LETTNGNRLMBER
WHERE mber_id = #id#
AND mber_nm = #name#
AND mber_email_adres = #email#
AND password_hint = #passwordHint#
AND password_cnsr = #passwordCnsr#
AND mber_sttus = 'P'
]]>
</isEqual>
<isEqual property="userSe" compareValue="ENT">
<![CDATA[
SELECT entrprs_mber_password AS password
FROM LETTNENTRPRSMBER
WHERE entrprsmber_id = #id#
AND cmpny_nm = #name#
AND applcnt_email_adres = #email#
AND entrprs_mber_password_hint = #passwordHint#
AND entrprs_mber_password_cnsr = #passwordCnsr#
AND entrprs_mber_sttus = 'P'
]]>
</isEqual>
<isEqual property="userSe" compareValue="USR">
<![CDATA[
SELECT password AS password
FROM LETTNEMPLYRINFO
WHERE emplyr_id = #id#
AND USER_NM = #name#
AND email_adres = #email#
AND password_hint = #passwordHint#
AND password_cnsr = #passwordCnsr#
AND emplyr_sttus_code = 'P'
]]>
</isEqual>
</select>
-->
<!-- 변경된 비밀번호를 저장
<update id="loginDAO.updatePassword">
<isEqual property="userSe" compareValue="GNR">
<![CDATA[
UPDATE LETTNGNRLMBER
SET password = #password#
WHERE mber_id = #id#
]]>
</isEqual>
<isEqual property="userSe" compareValue="ENT">
<![CDATA[
UPDATE LETTNENTRPRSMBER
SET entrprs_mber_password = #password#
WHERE entrprsmber_id = #id#
]]>
</isEqual>
<isEqual property="userSe" compareValue="USR">
<![CDATA[
UPDATE LETTNEMPLYRINFO
SET password = #password#
WHERE emplyr_id = #id#
]]>
</isEqual>
</update>
-->
<!-- 사용자 권한 조회 -->
<select id="loginDAO.getUserAuth" parameterClass="loginVO" resultClass="loginVO" >
<![CDATA[
SELECT A.SCRTY_DTRMN_TRGET_ID id, A.AUTHOR_CODE AUTHORITY
FROM LETTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B
WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID
AND B.USER_ID = #id#
]]>
</select>
<!-- 일반 로그인 사이트별-->
<select id="loginDAO.siteActionLogin" resultMap="login">
<isEqual property="userSe" compareValue="USR">
<![CDATA[
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
AND PASSWORD = #password#
AND EMPLYR_STTUS_CODE = 'P'
]]>
<isEmpty property="statusAll">
AND EMPLYR_STTUS_CODE = 'P'
</isEmpty>
</isEqual>
</select>
<!-- 유저 권한 목록 조회 by USER_ID -->
<select id="loginDAO.selectAuthorities" resultClass="EgovMap">
/* loginDAO.selectAuthorities */
<![CDATA[
/* WITH AA AS ( */
SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS
WHERE SCRTY_DTRMN_TRGET_ID =
(SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_ID = (
SELECT EMPLYR_ID FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = #id# /* AND EMPLYR_CONDITION = 1 */
)
)
/*
)
SELECT AUTHOR_CODE AS "authorCode" FROM AA
UNION ALL
SELECT PARNTS_ROLE AS "authorCode" FROM LETTNROLES_HIERARCHY
CONNECT BY PRIOR PARNTS_ROLE = CHLDRN_ROLE
START WITH CHLDRN_ROLE = (SELECT AUTHOR_CODE FROM AA)
*/
]]>
</select>
<update id="loginDAO.updatePassMissPlus" parameterClass="loginVO">
UPDATE LETTNEMPLYRINFO
SET PASS_MISS = PASS_MISS+1
WHERE EMPLYR_ID = #id#
</update>
<update id="loginDAO.updatePassMissReset" parameterClass="loginVO">
UPDATE LETTNEMPLYRINFO
SET PASS_MISS = 0
WHERE EMPLYR_ID = #id#
</update>
<update id="loginDAO.updateEmplyrSttusCode" parameterClass="loginVO">
UPDATE LETTNEMPLYRINFO
SET EMPLYR_STTUS_CODE = #emplyrSttusCode#
<isEqual property="emplyrSttusCode" compareValue="D"> /**삭제의 경우 삭제 일시 넣어줌 */
, WITHDRAW_DE = now()
</isEqual>
<isNotEqual property="emplyrSttusCode" compareValue="D"> /**삭제 아닌경우 삭제 일시 없애줌 */
, WITHDRAW_DE = null
</isNotEqual>
WHERE EMPLYR_ID = #id#
</update>
<select id="loginDAO.APIActionLogin" resultMap="login">
/* 임시.*NOT_SQL_LOG.* loginDAO.APIActionLogin */
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
FROM lettngnrlmber a
WHERE mber_id = #id#
AND PASSWORD = #password#
<isEmpty property="statusAll">
AND mber_sttus = 'P'
</isEmpty>
</select>
<select id="loginDAO.selectOffeduMberChk" resultClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.selectOffeduMberChk */
SELECT mber_id AS user_id
, mber_seq AS key
FROM lettngnrlmber a
WHERE mber_id = #user_id#
AND mber_seq = #key#
</select>
<update id="loginDAO.updateMberSeqKeyAjax" parameterClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyAjax*/
UPDATE LETTNGNRLMBER
SET mber_seq = #mberSeq#
WHERE mber_id = #id#
</update>
<update id="loginDAO.updateMberSeqKeyNull" parameterClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyNull*/
UPDATE LETTNGNRLMBER
SET mber_seq = ''
WHERE mber_id = #user_id#
</update>
</sqlMap>

View File

@ -0,0 +1,898 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!--
수정일 수정자 수정내용
=========== ======== =================================================
2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경
2025.07.15 Gemini PostgreSQL 문법으로 변환
-->
<sqlMap>
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
<typeAlias alias="PopupManageVO" type="kcc.com.uss.ion.pwm.service.PopupManageVO" />
<typeAlias alias="popupzoneVO" type="kcc.com.uss.ion.pwm.service.PopupzoneVO"/>
<typeAlias alias="mainzoneVO" type="kcc.com.uss.ion.pwm.service.MainzoneVO"/>
<typeAlias alias="socialVO" type="kcc.com.uss.ion.pwm.service.SocialVO"/>
<typeAlias alias="sortVO" type="kcc.com.uss.ion.pwm.service.SortVO"/>
<!-- ::ResultMap 선언 -->
<resultMap id="PopupManageVOs" class="kcc.com.uss.ion.pwm.service.PopupManageVO">
<result property="popupId" column="POPUP_ID" columnIndex="1"/>
<result property="popupTitleNm" column="POPUP_SJ_NM" columnIndex="2"/>
<result property="fileUrl" column="FILE_URL" columnIndex="3"/>
<result property="popupHlc" column="POPUP_VRTICL_LC" columnIndex="4"/>
<result property="popupWlc" column="POPUP_WIDTH_LC" columnIndex="5"/>
<result property="popupHSize" column="POPUP_VRTICL_SIZE" columnIndex="6"/>
<result property="popupWSize" column="POPUP_WIDTH_SIZE" columnIndex="7"/>
<result property="ntceBgnde" column="NTCE_BGNDE" columnIndex="8"/>
<result property="ntceEndde" column="NTCE_ENDDE" columnIndex="9"/>
<result property="stopVewAt" column="STOPVEW_SETUP_AT" columnIndex="10"/>
<result property="ntceAt" column="NTCE_AT" columnIndex="11"/>
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM" columnIndex="12"/>
<result property="frstRegisterId" column="FRST_REGISTER_ID" columnIndex="13"/>
<result property="lastUpdusrPnttm" column="LAST_UPDT_PNTTM" columnIndex="14"/>
<result property="lastUpdusrId" column="LAST_UPDUSR_ID" columnIndex="15"/>
<result property="popupType" column="POPUP_TYPE" columnIndex="16"/>
<result property="scrollType" column="SCROLL_TYPE" columnIndex="17"/>
<result property="nttCn" column="NTT_CN" columnIndex="18"/>
<result property="sortNum" column="SORT_NUM" columnIndex="19"/>
</resultMap>
<!-- 팝업창관리:: 메인 게시물정보 -->
<select id="PopupManage.selectPopupManageMain" resultClass="egovMap">
<![CDATA[
SELECT
A.POPUP_ID,
A.POPUP_SJ_NM AS POPUP_TITLE_NM,
A.FILE_URL,
A.POPUP_VRTICL_LC,
A.POPUP_WIDTH_LC,
A.POPUP_VRTICL_SIZE,
A.POPUP_WIDTH_SIZE,
A.NTCE_BGNDE,
A.NTCE_ENDDE,
A.STOPVEW_SETUP_AT,
A.NTCE_AT,
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS FRST_REGIST_PNTTM,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = A.FRST_REGISTER_ID) AS FRST_REGISTER_NM,
A.POPUP_TYPE,
A.SCROLL_TYPE,
A.NTT_CN,
A.SORT_NUM
FROM COMTNPOPUPMANAGE A
WHERE 1=1
AND A.NTCE_AT = 'Y'
AND TO_CHAR(NOW(),'YYYYMMDDHH24MI') >= NTCE_BGNDE
AND TO_CHAR(NOW(),'YYYYMMDDHH24MI') <= NTCE_ENDDE
]]>
<isNotNull prepend="AND" property="popupType">
POPUP_TYPE = #popupType#
</isNotNull>
ORDER BY SORT_NUM ASC
</select>
<!-- 팝업창관리::목록조회 게시물정보 -->
<select id="PopupManage.selectPopupManage" resultClass="egovMap">
<![CDATA[
SELECT
A.POPUP_ID,
A.POPUP_SJ_NM AS POPUP_TITLE_NM,
A.FILE_URL,
A.POPUP_VRTICL_LC,
A.POPUP_WIDTH_LC,
A.POPUP_VRTICL_SIZE,
A.POPUP_WIDTH_SIZE,
A.NTCE_BGNDE,
A.NTCE_ENDDE,
A.STOPVEW_SETUP_AT,
A.NTCE_AT,
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS FRST_REGIST_PNTTM,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = A.FRST_REGISTER_ID) AS FRST_REGISTER_NM,
A.POPUP_TYPE,
A.SCROLL_TYPE,
A.NTT_CN,
SORT_NUM,
DEL_STTUS
FROM COMTNPOPUPMANAGE A
WHERE 1=1
]]>
<isNotEqual property="delSttus" compareValue="Y">
AND DEL_STTUS != 'Y'
</isNotEqual>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POPUP_SJ_NM LIKE '%' || #searchKeyword# || '%' OR FILE_URL LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual property="searchCondition" compareValue="POPUP_SJ_NM">
AND POPUP_SJ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="FILE_URL">
AND FILE_URL LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 팝업창관리::목록조회_게시물 총갯수 -->
<select id="PopupManage.selectPopupManageCnt" resultClass="int">
SELECT
COUNT(*) totcnt
FROM COMTNPOPUPMANAGE
WHERE 1=1
<isNotEqual property="delSttus" compareValue="Y">
AND DEL_STTUS != 'Y'
</isNotEqual>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POPUP_SJ_NM LIKE '%' || #searchKeyword# || '%' OR FILE_URL LIKE '%' || #searchKeyword# || '%' )
</isEqual>
<isEqual property="searchCondition" compareValue="POPUP_SJ_NM">
AND POPUP_SJ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="FILE_URL">
AND FILE_URL LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
</select>
<!-- 팝업창관리::삭제 del 수정 -->
<delete id="PopupManage.deletePopupManage">
<![CDATA[
UPDATE COMTNPOPUPMANAGE
SET DEL_STTUS=#delSttus#,
NTCE_AT='N'
WHERE POPUP_ID=#popupId#
]]>
</delete>
<!-- 팝업창관리::수정 -->
<update id="PopupManage.updatePopupManage">
UPDATE COMTNPOPUPMANAGE
SET
POPUP_SJ_NM=#popupTitleNm#,
FILE_URL=#fileUrl#,
POPUP_VRTICL_LC=#popupHlc#,
POPUP_WIDTH_LC=#popupWlc#,
POPUP_VRTICL_SIZE=#popupHSize#,
POPUP_WIDTH_SIZE=#popupWSize#,
NTCE_BGNDE=#ntceBgnde#,
NTCE_ENDDE=#ntceEndde#,
STOPVEW_SETUP_AT=#stopVewAt#,
NTCE_AT=#ntceAt#,
LAST_UPDT_PNTTM= NOW(),
LAST_UPDUSR_ID=#lastUpdusrId#,
POPUP_TYPE=#popupType#,
SCROLL_TYPE=#scrollType#,
NTT_CN=#nttCn#,
SORT_NUM=#sortNum#
WHERE POPUP_ID=#popupId#
</update>
<!-- 팝업창관리::상세보기 -->
<select id="PopupManage.selectPopupManageDetail" resultMap="PopupManageVOs">
SELECT
A.POPUP_ID,
A.POPUP_SJ_NM,
A.FILE_URL,
A.POPUP_VRTICL_LC,
A.POPUP_WIDTH_LC,
A.POPUP_VRTICL_SIZE,
A.POPUP_WIDTH_SIZE,
A.NTCE_BGNDE,
A.NTCE_ENDDE,
A.STOPVEW_SETUP_AT,
A.NTCE_AT,
A.FRST_REGIST_PNTTM,
A.FRST_REGISTER_ID,
A.LAST_UPDT_PNTTM,
A.LAST_UPDUSR_ID,
A.POPUP_TYPE,
A.SCROLL_TYPE,
A.NTT_CN,
A.SORT_NUM
FROM COMTNPOPUPMANAGE A
WHERE 1=1
AND A.POPUP_ID=#popupId#
</select>
<!-- 팝업창관리::입력 -->
<insert id="PopupManage.insertPopupManage">
<![CDATA[
INSERT INTO COMTNPOPUPMANAGE (
POPUP_ID,
POPUP_SJ_NM,
FILE_URL,
POPUP_VRTICL_LC,
POPUP_WIDTH_LC,
POPUP_VRTICL_SIZE,
POPUP_WIDTH_SIZE,
NTCE_BGNDE,
NTCE_ENDDE,
STOPVEW_SETUP_AT,
NTCE_AT,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID,
POPUP_TYPE,
SCROLL_TYPE,
NTT_CN,
SORT_NUM,
DEL_STTUS
)VALUES(
#popupId#,
#popupTitleNm#,
#fileUrl#,
#popupHlc#,
#popupWlc#,
#popupHSize#,
#popupWSize#,
#ntceBgnde#,
#ntceEndde#,
#stopVewAt#,
#ntceAt#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#popupType#,
#scrollType#,
#nttCn#,
#sortNum#,
#delSttus#
)
]]>
</insert>
<!-- 알림창 관리자 리스트 -->
<select id="PopupzoneManage.selectPopupzoneList" parameterClass="popupzoneVO" resultClass="egovMap">
<![CDATA[
SELECT
POZ_ID,
'/UPLOADROOT/POPUPZONE/' || UPFILE AS IMG,
CONTENT AS IMG_ALT,
MLINK,
ISTARGET,
CASE WHEN
DATE(NOW() - INTERVAL '7 DAY') < DATE(REGDT)
THEN 'Y'
ELSE 'N'
END AS NEW_FLAG,
TO_CHAR(REGDT, 'YYYY-MM-DD') AS REGDT,
POPUPZONE_IMAGE,
POPUPZONE_IMAGE_FILE,
POZ_NM,
USE_YN,
SORT,
TO_CHAR(REGDT, 'YYYY-MM-DD HH24:MI:SS') AS REGDT_FULL,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) AS REGISTER_ID,
SITE_ID
FROM POPUPZONE MB
WHERE DEL = '0'
]]>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POZ_NM LIKE '%' || #searchKeyword# || '%'
OR MLINK LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND POZ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND MLINK LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="useYn">
AND USE_YN = 'Y'
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 알림창 관리자 리스트 -->
<select id="PopupzoneManage.selectPopupzoneListTotCnt" parameterClass="popupzoneVO" resultClass="int" >
SELECT
COUNT(*) totcnt
FROM POPUPZONE MB
WHERE 1=1
AND DEL = '0'
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POZ_NM LIKE '%' || #searchKeyword# || '%'
OR MLINK LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND POZ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND MLINK LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="useYn">
AND USE_YN = 'Y'
</isNotEmpty>
</select>
<select id="PopupzoneManage.getSortList" resultClass="EgovMap">
<![CDATA[
SELECT
SORT as CM_SUB_CODE,
SORT as CM_CODE_NAME
FROM POPUPZONE mb
WHERE DEL = '0'
ORDER BY SORT
]]>
</select>
<select id="PopupzoneManage.selectPopupzoneVO" parameterClass="String" resultClass="popupzoneVO">
SELECT
POZ_ID AS POZID,
UPFILE,
'/UPLOADROOT/POPUPZONE/' || UPFILE AS UPFILEURL,
CONTENT,
MLINK,
ISTARGET,
REGDT,
TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') AS MODDT,
DEL,
SORT,
POPUPZONE_IMAGE AS POPUPZONEIMAGE,
POPUPZONE_IMAGE_FILE AS POPUPZONEIMAGEFILE,
POZ_NM AS POZNM,
USE_YN AS USEYN,
SE_CD AS seCd,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) AS REGISTERID,
SITE_ID as siteId
FROM POPUPZONE
WHERE POZ_ID=#pozId#
</select>
<update id="PopupzoneManage.updateSortUp" parameterClass="sortVO">
<![CDATA[
UPDATE POPUPZONE SET
SORT = SORT + 1
WHERE
SORT >= #startSort# AND SORT <= #endSort#
]]>
</update>
<update id="PopupzoneManage.updateSortDown" parameterClass="sortVO">
<![CDATA[
UPDATE POPUPZONE SET
SORT = SORT - 1
WHERE
SORT >= #startSort# AND SORT <= #endSort#
]]>
</update>
<update id="PopupzoneManage.updatePopupzone" parameterClass="popupzoneVO">
UPDATE POPUPZONE SET
UPFILE=#upfile#,
CONTENT=#content#,
MLINK=#mlink#,
ISTARGET=#istarget#,
SORT=#sort#,
POPUPZONE_IMAGE = #popupzoneImage#,
POPUPZONE_IMAGE_FILE = #popupzoneImageFile#,
USE_YN = #useYn#,
POZ_NM = #pozNm#,
MODDT = now()
WHERE POZ_ID=#pozId#
</update>
<delete id="PopupzoneManage.deletePopupzone" parameterClass="String">
DELETE FROM POPUPZONE WHERE POZ_ID=#pozId#
</delete>
<select id="PopupzoneManage.getMaxSort" resultClass="int">
SELECT COALESCE(MAX(SORT),1) FROM POPUPZONE
</select>
<select id="PopupzoneManage.selectNextSeq" resultClass="int">
SELECT nextval('POPUPZONE_SEQ')
</select>
<insert id="PopupzoneManage.insertPopupzone">
INSERT INTO POPUPZONE (
POZ_ID,
UPFILE,
CONTENT,
MLINK,
ISTARGET,
REGDT,
MODDT,
DEL,
SORT,
POPUPZONE_IMAGE,
POPUPZONE_IMAGE_FILE,
POZ_NM,
USE_YN,
<isNotEmpty property="seCd">
SE_CD,
</isNotEmpty>
REGISTER_ID
) VALUES (
#pozId#,
#upfile#,
#content#,
#mlink#,
#istarget#,
now(),
now(),
#del#,
#sort#,
#popupzoneImage#,
#popupzoneImageFile#,
#pozNm#,
#useYn#,
<isNotEmpty property="seCd">
#seCd#,
</isNotEmpty>
#registerId#
)
</insert>
<update id="PopupzoneManage.resetSort" parameterClass="popupzoneVO">
UPDATE POPUPZONE A
SET SORT = B.SORT1
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1, POZ_ID
FROM POPUPZONE
WHERE 1=1
ORDER BY SORT1
) B
WHERE A.POZ_ID = B.POZ_ID
</update>
<!-- 매인이미지 관리자 리스트 -->
<select id="MainzoneManage.selectMainzoneList" parameterClass="mainzoneVO" resultClass="egovMap">
<![CDATA[
SELECT
MAZ_ID,
'/UPLOADROOT/POPUPZONE/' || UPFILE AS IMG,
CONTENT AS IMG_ALT,
MLINK,
ISTARGET,
CASE WHEN
DATE(NOW() - INTERVAL '7 DAY') < DATE(REGDT)
THEN 'Y'
ELSE 'N'
END AS NEW_FLAG,
TO_CHAR(REGDT, 'YYYY-MM-DD') AS REGDT,
MAINZONE_IMAGE,
MAINZONE_IMAGE_FILE,
SORT,
MAZ_NM,
USE_YN,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) AS REGISTER_ID,
DEVICETYPE
FROM MAINZONE MB
WHERE 1=1
]]>
<isEqual property="useYn" compareValue="Y">
AND USE_YN = 'Y'
</isEqual>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( MAZ_NM LIKE '%' || #searchKeyword# || '%'
OR CONTENT LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND MAZ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
<isNotEmpty property="deviceType">
<isEqual property="deviceType" compareValue="P">
AND ( DEVICETYPE IS NULL OR DEVICETYPE = #deviceType# )
</isEqual>
<isEqual property="deviceType" compareValue="M">
AND DEVICETYPE = #deviceType#
</isEqual>
</isNotEmpty>
ORDER BY SORT
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="MainzoneManage.getMainMaxSort" resultClass="int">
SELECT COALESCE(MAX(SORT),1) FROM MAINZONE
</select>
<insert id="MainzoneManage.insertMainzone" parameterClass="mainzoneVO">
INSERT INTO MAINZONE (
MAZ_ID,
UPFILE,
CONTENT,
MLINK,
ISTARGET,
REGDT,
MODDT,
DEL,
SORT,
MAINZONE_IMAGE,
MAINZONE_IMAGE_FILE,
MAZ_NM,
USE_YN,
<isNotEmpty property="deviceType">
DEVICETYPE,
</isNotEmpty>
REGISTER_ID
) VALUES (
#mazId#,
#upfile#,
#content#,
#mlink#,
#istarget#,
now(),
now(),
#del#,
#sort#,
#mainzoneImage#,
#mainzoneImageFile#,
#mazNm#,
#useYn#,
<isNotEmpty property="deviceType">
#deviceType#,
</isNotEmpty>
#registerId#
)
</insert>
<update id="MainzoneManage.resetMainSort" parameterClass="mainzoneVO">
UPDATE MAINZONE A
SET SORT = B.SORT1
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SORT) AS SORT1, MAZ_ID
FROM MAINZONE
WHERE 1=1
ORDER BY SORT ASC
) B
WHERE A.MAZ_ID = B.MAZ_ID
</update>
<update id="MainzoneManage.updateMainSortUp" parameterClass="sortVO">
<![CDATA[
UPDATE MAINZONE SET
SORT = SORT + 1
WHERE
SORT >= #startSort# AND SORT <= #endSort#
]]>
</update>
<select id="MainzoneManage.selectMainzoneVO" parameterClass="String" resultClass="mainzoneVO">
SELECT
MAZ_ID AS MAZID,
UPFILE,
'/UPLOADROOT/POPUPZONE/' || UPFILE AS UPFILEURL,
CONTENT,
MLINK,
ISTARGET,
REGDT,
DEL,
SORT,
MAINZONE_IMAGE AS MAINZONEIMAGE,
MAINZONE_IMAGE_FILE AS MAINZONEIMAGEFILE,
MAZ_NM AS MAZNM,
USE_YN AS USEYN,
TO_CHAR(MODDT, 'YYYY-MM-DD HH24:MI:SS') AS MODDT,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) AS REGISTERID,
DEVICETYPE AS deviceType
FROM MAINZONE
WHERE MAZ_ID=#mazId#
</select>
<select id="MainzoneManage.getMainSortList" resultClass="EgovMap">
<![CDATA[
SELECT
SORT as CM_SUB_CODE,
SORT as CM_CODE_NAME
FROM MAINZONE mb
WHERE DEL = '0'
ORDER BY SORT
]]>
</select>
<delete id="MainzoneManage.deleteMainzone" parameterClass="String">
DELETE FROM MAINZONE WHERE MAZ_ID=#mazId#
</delete>
<update id="MainzoneManage.updateMainSortDown" parameterClass="sortVO">
<![CDATA[
UPDATE MAINZONE SET
SORT = SORT - 1
WHERE
SORT >= #startSort# AND SORT <= #endSort#
]]>
</update>
<update id="MainzoneManage.updateMainzone" parameterClass="mainzoneVO">
UPDATE MAINZONE SET
UPFILE=#upfile#,
CONTENT=#content#,
MLINK=#mlink#,
ISTARGET=#istarget#,
SORT=#sort#,
MAINZONE_IMAGE = #mainzoneImage#,
MAINZONE_IMAGE_FILE = #mainzoneImageFile#,
USE_YN = #useYn#,
MAZ_NM = #mazNm#,
<isNotEmpty property="deviceType">
DEVICETYPE = #deviceType#,
</isNotEmpty>
MODDT = now()
WHERE MAZ_ID=#mazId#
</update>
<select id="MainzoneManage.selectMainzoneCount" resultClass="int">
SELECT
COUNT(*) totcnt
FROM MAINZONE
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( MAZ_NM LIKE '%' || #searchKeyword# || '%'
OR CONTENT LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND MAZ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchConditionSite">
AND SITE_ID = #searchConditionSite#
</isNotEmpty>
</select>
<update id="PopupzoneManage.resetVOSort" parameterClass="popupzoneVO">
UPDATE POPUPZONE A
SET SORT = B.SORT1
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1, POZ_ID
FROM POPUPZONE
WHERE 1=1
<isNotEmpty property="seCd">
AND SE_CD = #seCd#
</isNotEmpty>
ORDER BY SORT1
) B
WHERE A.POZ_ID = B.POZ_ID
</update>
<update id="MainzoneManage.resetMainVOSort" parameterClass="mainzoneVO">
UPDATE MAINZONE A
SET SORT = B.SORT1
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1, MAZ_ID
FROM MAINZONE
WHERE 1=1
ORDER BY SORT1
) B
SET A.MAZ_ID = B.MAZ_ID
</update>
<!-- 소설 관리자 리스트 -->
<select id="SocialManage.selectSocialList" parameterClass="socialVO" resultClass="socialVO">
<![CDATA[
SELECT
COUNT(SOCIAL_ID) OVER() AS totCnt,
SOCIAL_TITLE AS socialTitle,
SOCIAL_ID AS socialId,
SOCIAL_SJ AS socialSj,
SOCIAL_CN AS socialCn,
'/UPLOADROOT/POPUPZONE/' || UPFILE AS upFile,
MLINK AS mlink,
ISTARGET AS istarget,
TO_CHAR(REGDT, 'YYYY-MM-DD') AS regdt,
SOCIAL_IMAGE AS socialeImage,
SOCIAL_IMAGE_FILE AS socialImageFile,
USE_YN AS useYn,
SE_CD AS seCd,
COALESCE(SORT, 0) AS sort,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) AS registerId
FROM SOCIAL_HUB
WHERE 1=1
]]>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( POZ_NM LIKE '%' || #searchKeyword# || '%'
OR MLINK LIKE '%' || #searchKeyword# || '%'
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND POZ_NM LIKE '%' || #searchKeyword# || '%'
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND MLINK LIKE '%' || #searchKeyword# || '%'
</isEqual>
</isNotEmpty>
<isNotEmpty property="seCd">
AND SE_CD = #seCd#
</isNotEmpty>
<isNotEmpty property="useYn">
AND USE_YN = 'Y'
</isNotEmpty>
ORDER BY 1=1 , SE_CD ASC
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 소셜창관리::상세보기 -->
<select id="SocialManage.selectSocialVO" resultClass="socialVO">
SELECT A.SOCIAL_ID AS socialId,
A.SOCIAL_TITLE AS socialTitle,
A.SOCIAL_SJ AS socialSj,
A.SOCIAL_CN AS socialCn,
A.UPFILE AS upFile,
A.MLINK AS mlink,
A.ISTARGET AS istarget,
COALESCE(A.SORT, 0) AS sort,
A.REGDT AS regdt,
A.MODDT AS moddt,
A.DEL AS del,
A.SOCIAL_IMAGE_FILE AS socialImageFile,
A.SOCIAL_IMAGE AS socialImage,
A.REGISTER_ID AS registerId,
A.USE_YN AS useYn,
A.SE_CD AS seCd
FROM SOCIAL_HUB A
WHERE 1=1
AND A.SOCIAL_ID=#socialId#
</select>
<update id="SocialManage.updateSocial" parameterClass="socialVO">
UPDATE SOCIAL_HUB
SET SOCIAL_ID = #socialId#,
SOCIAL_TITLE = #socialTitle#,
SOCIAL_SJ = #socialSj#,
SOCIAL_CN = #socialCn#,
UPFILE = #upfile#,
MLINK = #mlink#,
ISTARGET = #istarget#,
SORT = #sort#,
DEL = #del#,
SOCIAL_IMAGE_FILE = #socialImageFile#,
SOCIAL_IMAGE = #socialImage#,
REGISTER_ID = #registerId#,
USE_YN = #useYn#,
SE_CD = #seCd#,
MODDT = now()
WHERE SOCIAL_ID=#socialId#
</update>
<update id="SocialManage.resetSocialSort" parameterClass="socialVO">
UPDATE SOCIAL_HUB A
SET SORT = B.SORT1
FROM (
SELECT ROW_NUMBER() OVER(ORDER BY SORT
<isEqual property="sortOver" compareValue="A">
, MODDT ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, MODDT DESC
</isEqual>
) AS SORT1, SOCIAL_ID
FROM SOCIAL_HUB
WHERE 1=1
<isNotEmpty property="seCd">
AND SE_CD = #seCd#
</isNotEmpty>
ORDER BY SORT1
) B
SET A.SORT = B.SORT1
WHERE A.SOCIAL_ID = B.SOCIAL_ID
</update>
<insert id="SocialManage.insertSocial" parameterClass="socialVO">
INSERT INTO SOCIAL_HUB(
SOCIAL_ID,
SOCIAL_SJ,
SOCIAL_CN,
UPFILE,
MLINK,
ISTARGET,
SORT,
REGDT,
MODDT,
DEL,
SOCIAL_IMAGE_FILE,
REGISTER_ID,
USE_YN,
SE_CD,
SOCIAL_IMAGE
)
VALUES(
#socialId#,
#socialSj#,
#socialCn#,
#upfile#,
#mlink#,
#istarget#,
#sort#,
now(),
now(),
#del#,
#socialImageFile#,
#registerId#,
#useYn#,
#seCd#,
#socialImage#
)
</insert>
<delete id="SocialManage.deleteSocial" parameterClass="String">
DELETE FROM SOCIAL_HUB WHERE SOCIAL_ID=#socialId#
</delete>
</sqlMap>

View File

@ -17,17 +17,17 @@
</when>
</choose>
<if test="srcDocty not in {null,''}">
<if test="srcDocty != null and srcDocty != ''">
AND D.DLVRY_DOC_TY = #{srcDocty}
</if>
<choose>
<when test="srcCon eq '10'.toString() ">
<if test="srcTxt not in {null,''}">
<if test="srcTxt != null and srcTxt != ''">
AND D.ADR_SEQ LIKE '%'||#{srcTxt}||'%'
</if>
</when>
<when test="srcCon eq '20'.toString() ">
<if test="srcTxt not in {null,''}">
<if test="srcTxt != null and srcTxt != ''">
AND D.RPPL_NM = #{srcTxt}
</if>
</when>
@ -38,42 +38,41 @@
<!-- 목록 조회 전체건수 쿼리 -->
<select id="selectAdjustProgressListCnt" resultType="int">
SELECT /*+ RULE */ COUNT(1) CNT
SELECT COUNT(1) CNT
<include refid="selectAdjustProgressListSql"></include>
</select>
<!-- 목록 조회 쿼리 -->
<select id="selectAdjustProgressList" resultType="kcc.kccadr.adjPgrMgr.apm.service.ApmVO">
SELECT TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') FRST_REGIST_PNTTM
, D.ADR_SEQ
, D.RPPL_TY
, RT.CODE_NM RPPL_TY_TXT
, D.RPPL_NM
, D.REG_NM
, D.DLVRY_DOC_TY
, DT.CODE_NM DLVRY_DOC_TY_TXT
, D.ADR_SN
, D.DLVRY_SEQ
, TO_CHAR(D.SEND_DE,'YYYY/MM/DD HH24:MI:SS') SEND_DE
, TO_CHAR(D.REC_DE,'YYYY/MM/DD') REC_DE
SELECT TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') as "frstRegistPnttm"
, D.ADR_SEQ as "adrSeq"
, D.RPPL_TY as "rpplTy"
, RT.CODE_NM as "rpplTyTxt"
, D.RPPL_NM as "rpplNm"
, D.REG_NM as "regNm"
, D.DLVRY_DOC_TY as "dlvryDocTy"
, DT.CODE_NM as "dlvryDocTyTxt"
, D.ADR_SN as "adrSn"
, D.DLVRY_SEQ as "dlvrySeq"
, TO_CHAR(D.SEND_DE,'YYYY/MM/DD HH24:MI:SS') as "sendDe"
, TO_CHAR(D.REC_DE,'YYYY/MM/DD') as "recDe"
<include refid="selectAdjustProgressListSql"></include>
</select>
<!-- 목록 조회 쿼리 -->
<select id="selectAdjustProgressDetail" resultType="kcc.kccadr.adjPgrMgr.apm.service.ApmVO">
SELECT TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') FRST_REGIST_PNTTM
, D.ADR_SEQ
, D.RPPL_TY
, RT.CODE_NM RPPL_TY_TXT
, D.RPPL_NM
, D.REG_NM
, D.DLVRY_DOC_TY
, DT.CODE_NM DLVRY_DOC_TY_TXT
, D.ADR_SN
, D.DLVRY_SEQ
, TO_CHAR(D.SEND_DE,'YYYY/MM/DD HH24:MI:SS') SEND_DE
, TO_CHAR(D.REC_DE,'YYYY/MM/DD') REC_DE
SELECT TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') as "frstRegistPnttm"
, D.ADR_SEQ as "adrSeq"
, D.RPPL_TY as "rpplTy"
, RT.CODE_NM as "rpplTyTxt"
, D.RPPL_NM as "rpplNm"
, D.REG_NM as "regNm"
, D.DLVRY_DOC_TY as "dlvryDocTy"
, DT.CODE_NM as "dlvryDocTyTxt"
, D.ADR_SN as "adrSn"
, D.DLVRY_SEQ as "dlvrySeq"
, TO_CHAR(D.SEND_DE,'YYYY/MM/DD HH24:MI:SS') as "sendDe"
, TO_CHAR(D.REC_DE,'YYYY/MM/DD') as "recDe"
FROM ADR_DLVRY D
INNER JOIN LETTCCMMNDETAILCODE AS RT ON RT.CODE_ID = 'CC005' AND D.RPPL_TY = RT.CODE
INNER JOIN LETTCCMMNDETAILCODE AS DT ON DT.CODE_ID ='CC004' AND D.DLVRY_DOC_TY = DT.CODE
@ -82,7 +81,4 @@
AND DLVRY_SEQ = #{dlvrySeq}
</select>
</mapper>

View File

@ -15,88 +15,87 @@
</when>
</choose>
<if test="srcDocty not in {null,''}">
<if test="srcDocty != null and srcDocty != ''">
AND D.DLVRY_DOC_TY = #{srcDocty}
</if>
<choose>
<when test="srcCon eq '10'.toString() ">
<if test="srcTxt not in {null,''}">
<if test="srcTxt != null and srcTxt != ''">
AND D.ADR_SEQ LIKE '%'||#{srcTxt}||'%'
</if>
</when>
<when test="srcCon eq '20'.toString() ">
<if test="srcTxt not in {null,''}">
<if test="srcTxt != null and srcTxt != ''">
AND D.RPPL_NM = #{srcTxt}
</if>
</when>
</choose>
</where>
</sql>
<!-- 목록 조회 전체건수 쿼리 -->
<select id="selectAdjustDeliveryInfoListCnt" resultType="int">
SELECT /*+ RULE */ COUNT(1) CNT
SELECT COUNT(1) CNT
<include refid="selectAdjustDeliveryInfoListSql"></include>
</select>
<!-- 목록 조회 쿼리 -->
<select id="selectAdjustDeliveryInfoList" resultType="int">
SELECT ROW_NUMBER() OVER(ORDER BY ${searchSortCnd} ${searchSortOrd} ) RNUM
, TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') FRST_REGIST_PNTTM
, D.ADR_SEQ
, D.RPPL_TY
<select id="selectAdjustDeliveryInfoList" resultType="java.util.HashMap">
SELECT TO_CHAR(D.FRST_REGIST_PNTTM,'YYYY/MM/DD') as "frstRegistPnttm"
, D.ADR_SEQ as "adrSeq"
, D.RPPL_TY as "rpplTy"
, ( SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC005'
AND D.RPPL_TY = CODE ) RPPL_TY_TXT
, D.RPPL_NM
, D.REG_NM
, D.DLVRY_DOC_TY
AND D.RPPL_TY = CODE ) as "rpplTyTxt"
, D.RPPL_NM as "rpplNm"
, D.REG_NM as "regNm"
, D.DLVRY_DOC_TY as "dlvryDocTy"
, ( SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC004'
AND D.DLVRY_DOC_TY = CODE ) DLVRY_DOC_TY_TXT
, D.ADR_SN
, D.DLVRY_SEQ
, TO_CHAR ( D.SEND_DE, 'YYYY/MM/DD' ) SEND_DE_DAY /* 발송일시 (송달일시) */
, TO_CHAR ( D.SEND_DE, 'HH24:MI:SS' ) SEND_DE_TIME /* 발송일시 (송달일시) */
, TO_CHAR ( D.REC_DE, 'YYYY/MM/DD' ) REC_DE_DAY /* 송달일시 (송달완료일시) */
, TO_CHAR ( D.REC_DE, 'HH24:MI:SS' ) REC_DE_TIME /* 송달일시 (송달완료일시) */
AND D.DLVRY_DOC_TY = CODE ) as "dlvryDocTyTxt"
, D.ADR_SN as "adrSn"
, D.DLVRY_SEQ as "dlvrySeq"
, TO_CHAR ( D.SEND_DE, 'YYYY/MM/DD' ) as "sendDeDay"
, TO_CHAR ( D.SEND_DE, 'HH24:MI:SS' ) as "sendDeTime"
, TO_CHAR ( D.REC_DE, 'YYYY/MM/DD' ) as "recDeDay"
, TO_CHAR ( D.REC_DE, 'HH24:MI:SS' ) as "recDeTime"
<include refid="selectAdjustDeliveryInfoListSql"></include>
<if test="excelYn in {null,''}">
ORDER BY ${searchSortCnd} ${searchSortOrd}
<if test="excelYn == null or excelYn == ''">
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</if>
</select>
<!-- 목록 조회 쿼리 -->
<select id="selectAdjustDeliveryInfoDetail" resultType="kcc.kccadr.adjPgrMgr.dlvinfo.service.DlvinfoDetailVO">
SELECT TO_CHAR ( D.FRST_REGIST_PNTTM, 'YYYY/MM/DD' ) FRST_REGIST_PNTTM
, D.ADR_SEQ
, D.RPPL_TY
SELECT TO_CHAR ( D.FRST_REGIST_PNTTM, 'YYYY/MM/DD' ) as "frstRegistPnttm"
, D.ADR_SEQ as "adrSeq"
, D.RPPL_TY as "rpplTy"
, ( SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC005'
AND D.RPPL_TY = CODE )
RPPL_TY_TXT
, D.RPPL_NM
, D.REG_NM /* 등기번호 */
, D.DLVRY_DOC_TY
as "rpplTyTxt"
, D.RPPL_NM as "rpplNm"
, D.REG_NM as "regNm"
, D.DLVRY_DOC_TY as "dlvryDocTy"
, ( SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC004'
AND D.DLVRY_DOC_TY = CODE )
DLVRY_DOC_TY_TXT /* 송달 서류 */
, D.ADR_SN
, D.DLVRY_SEQ
, TO_CHAR ( D.SEND_DE, 'YYYY/MM/DD' ) SEND_DE_DAY /* 발송일시 (송달일시) */
, TO_CHAR ( D.SEND_DE, 'HH24:MI:SS' ) SEND_DE_TIME /* 발송일시 (송달일시) */
, TO_CHAR ( D.REC_DE, 'YYYY/MM/DD' ) REC_DE_DAY /* 송달일시 (송달완료일시) */
, TO_CHAR ( D.REC_DE, 'HH24:MI:SS' ) REC_DE_TIME /* 송달일시 (송달완료일시) */
, MDM.MEM_DEPT_NM /* 담당자명 */
, MD.ADR_SN /* 조정회차 (조정차수) */
, M.ADR_NO /* 조정 신청번호 */
, M.REQ_CN1 /* 신청취지 */
as "dlvryDocTyTxt"
, D.ADR_SN as "adrSn"
, D.DLVRY_SEQ as "dlvrySeq"
, TO_CHAR ( D.SEND_DE, 'YYYY/MM/DD' ) as "sendDeDay"
, TO_CHAR ( D.SEND_DE, 'HH24:MI:SS' ) as "sendDeTime"
, TO_CHAR ( D.REC_DE, 'YYYY/MM/DD' ) as "recDeDay"
, TO_CHAR ( D.REC_DE, 'HH24:MI:SS' ) as "recDeTime"
, MDM.MEM_DEPT_NM as "memDeptNm"
, MD.ADR_SN as "adrSn"
, M.ADR_NO as "adrNo"
, M.REQ_CN1 as "reqCn1"
FROM ADR_DLVRY D
INNER JOIN ADR_MGR_MASTER M
ON M.ADR_SEQ = D.ADR_SEQ
@ -111,11 +110,11 @@
<update id="udateAdjustDeliveryInfoDetail" parameterType="kcc.kccadr.adjPgrMgr.dlvinfo.service.DlvinfoDetailVO">
UPDATE ADR_DLVRY SET
SEND_DE = #{sendDeDay}||#{sendDeTime}
, REC_DE = #{recDeDay}||#{recDeTime}
SEND_DE = TO_TIMESTAMP(#{sendDeDay} || ' ' || #{sendDeTime}, 'YYYY/MM/DD HH24:MI:SS')
, REC_DE = TO_TIMESTAMP(#{recDeDay} || ' ' || #{recDeTime}, 'YYYY/MM/DD HH24:MI:SS')
, REG_NM = #{regNm}
, LAST_UPDUSR_ID = #{lastUpdusrId}
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDT_PNTTM = NOW()
WHERE ADR_SEQ = #{adrSeq}
AND ADR_SN = #{adrSn}
AND DLVRY_SEQ = #{dlvrySeq}
@ -143,22 +142,22 @@
, #{rpplNm}
, #{regNm}
, #{dlvryDocTy}
, #{sendDeDay}||#{sendDeTime}
, #{recDeDay}||#{recDeTime}
, SYSDATE
, TO_TIMESTAMP(#{sendDeDay} || ' ' || #{sendDeTime}, 'YYYY/MM/DD HH24:MI:SS')
, TO_TIMESTAMP(#{recDeDay} || ' ' || #{recDeTime}, 'YYYY/MM/DD HH24:MI:SS')
, NOW()
, #{frstRegisterId}
, SYSDATE
, NOW()
, #{lastUpdusrId}
)
</insert>
<select id="selectAdrInfo" resultType="kcc.kccadr.adjPgrMgr.dlvinfo.service.AdrInfoVO">
SELECT MDM.MEM_DEPT_SEQ /* 담당자일련번호 */
, MDM.MEM_DEPT_NM /* 담당자명 */
, MD.ADR_SN /* 조정회차 (조정차수) */
, M.ADR_NO /* 조정 신청번호 */
, M.REQ_CN1 /* 신청취지 */
, M.ADR_SEQ /* 신청취지 */
SELECT MDM.MEM_DEPT_SEQ as "memDeptSeq"
, MDM.MEM_DEPT_NM as "memDeptNm"
, MD.ADR_SN as "adrSn"
, M.ADR_NO as "adrNo"
, M.REQ_CN1 as "reqCn1"
, M.ADR_SEQ as "adrSeq"
FROM ADR_MGR_MASTER M
INNER JOIN ADR_MGR_DETAIL MD
ON MD.ADR_SEQ=M.ADR_SEQ
@ -170,5 +169,4 @@
WHERE M.ADR_NO= #{adrNo}
</select>
</mapper>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="VEEduAplct">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<select id="VEEduAplctDAO.selectVeEduQna" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEEduAplctDAO.selectVeEduQna */
SELECT
PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd
, LCTR_DIV_CD as lctrDivCd
, QNA_REGIST as qnaRegist
, QNA_CN as qnaCn
, QNA_ANSWER_CN as qnaAnswerCn
, QNA_ANSWERER as qnaAnswerer
, TO_CHAR(FRST_REGIST_PNTTM, 'YYYY-MM-DD') as frstRegistPnttm
, FRST_REGISTER_ID as frstRegisterId
, TO_CHAR(LAST_UPDT_PNTTM, 'YYYY-MM-DD') as lastUpdtPnttm
, LAST_UPDUSR_ID as lastUpdusrId
FROM
VEA_PRCS_APLCT_PRD_QNA
WHERE
QNA_REGIST = #qnaRegist#
AND LCTR_DIV_CD = #lctrDivCd#
</select>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@
<level value="OFF"/>
</Logger>
<Root level="WARN">
<Root level="INFO">
<AppenderRef ref="console" />
</Root>

View File

@ -1,7 +1,7 @@
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 6.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
<jboss-web>
<context-root>/offedu</context-root>
<context-root>/ipedu</context-root>
<replication-config>
<replication-trigger>SET</replication-trigger>

View File

@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <div class="login_all_wrap">
<div class="login_wrap">
<div class="login_left_box"><img src="/kccadrPb/adm/image/login_logo.png"
alt="한국저작권위원회 KOREA COPYRIGHT COMMISSION"></div>
alt="한국지식재산보호원 KOREA COPYRIGHT COMMISSION"></div>
<div class="login_right_box">
<p class="login_tit">로그인</p>
<div class="id_box">
@ -20,7 +20,7 @@
</div>
<div class="submit_box"><input type="submit" value="로그인" class="submit" id="login_submit"
onclick="javascript:actionLogin();return false;"></div>
<div class="copyright"><span class="copy_text">Copyright ⓒ한국저작권위원회 All Rights Reserved.</span></div>
<div class="copyright"><span class="copy_text">Copyright ⓒ한국지식재산보호원 All Rights Reserved.</span></div>
</div>
</div>
</div>

View File

@ -2,11 +2,11 @@
<table align="center" border="0" cellpadding="0" cellspacing="0" style="border:5px solid rgb(241,89,34);" width="800">
<tbody>
<tr>
<td align="left" bgcolor="#ffffff" style="padding:30px 40px 40px;"><a data-saferedirecturl="https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q" href="https://oneid.copyright.or.kr/" rel="noreferrer noopener" target="_blank"><img alt="한국저작권위원회-통합회원 로고" src="http://copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png" style="width:200px; border:0px currentColor;vertical-align:middle" /></a></td>
<td align="left" bgcolor="#ffffff" style="padding:30px 40px 40px;"><a data-saferedirecturl="https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q" href="https://oneid.copyright.or.kr/" rel="noreferrer noopener" target="_blank"><img alt="한국지식재산보호원-통합회원 로고" src="http://copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png" style="width:200px; border:0px currentColor;vertical-align:middle" /></a></td>
</tr>
<tr>
<td align="center" bgcolor="#ffffff" style="padding:0 40px 22px;">
<p style="margin:0;padding:24px;font-family:'Noto Sans KR';line-height:26px;text-align:left;border:3px solid rgb(223,223,223);">안녕하세요. 한국저작권위원회 교육운영팀 이정수 입니다.<br />
<p style="margin:0;padding:24px;font-family:'Noto Sans KR';line-height:26px;text-align:left;border:3px solid rgb(223,223,223);">안녕하세요. 한국지식재산보호원 교육운영팀 이정수 입니다.<br />
<br />
찾아가는 저작권 교육을 신청해주셔서 고맙습니다.<br />
<br />
@ -38,7 +38,7 @@
<strong>찾아가는저작권교육</strong><br />
교육운영팀<br />
<br />
(52852) 경상남도 진주시 충의로 19, 한국저작권위원회 5층<br />
(52852) 경상남도 진주시 충의로 19, 한국지식재산보호원 5층<br />
Tel <a href="tel:055-792-0233" style="text-decoration:none;color:#000000;">055-792-0233</a><br />
Email <a href="mailto:school@copyright.or.kr" style="text-decoration:none;color:#000000;">school@copyright.or.kr</a></p>
</td>
@ -48,7 +48,7 @@
<table bgcolor="#f8f8f8" border="0" cellpadding="0" cellspacing="0" style="padding:22px 0;border-top:1px solid #cecece;" width="800">
<tbody>
<tr>
<td align="left" style="padding:0 28px;"><a data-saferedirecturl="https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC" href="https://oneid.copyright.or.kr/" rel="noreferrer noopener" style="vertical-align:middle;display:table-cell" target="_blank"><img alt="한국저작권위원회-통합회원 로고" class="CToWUd" src="https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif" style="border:0px currentColor;vertical-align:middle" /></a></td>
<td align="left" style="padding:0 28px;"><a data-saferedirecturl="https://www.google.com/url?q=https://oneid.copyright.or.kr/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC" href="https://oneid.copyright.or.kr/" rel="noreferrer noopener" style="vertical-align:middle;display:table-cell" target="_blank"><img alt="한국지식재산보호원-통합회원 로고" class="CToWUd" src="https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif" style="border:0px currentColor;vertical-align:middle" /></a></td>
<td align="left" style="font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;">
<p style="margin:0px 0px 11px;padding:0px">본 메일은 발신전용으로 회신하지 않습니다.</p>

View File

@ -302,7 +302,7 @@
<td colspan="3">
<kc:select codeId="CC020" id="appPlaceTy" name="appPlaceTy" selectedValue="01" script="onchange='fncShow()'" />
<!-- <select name="appPlace" id="appPlace" onchange="fncShow(this)">
<option value="신청실">한국저작권위원회 신청실</option>
<option value="신청실">한국지식재산보호원 신청실</option>
<option value="">직접입력</option>
</select> -->
<div id="appPlaceTyDiv" style="display: none;">
@ -318,7 +318,7 @@
<td colspan="3">
<kc:select codeId="CC021" id="appPlaceAddrTy" name="appPlaceAddrTy" selectedValue="01" script="onchange='fncShow()'" />
<!-- <select name="appPlaceAddr" id="appPlaceAddr" >
<option value="신청실">한국저작권위원회 신청실</option>
<option value="신청실">한국지식재산보호원 신청실</option>
<option value="">직접입력</option>
</select> -->
<div id="appPlaceAddrTyDiv" style="display: none;">

View File

@ -291,7 +291,7 @@
<td colspan="3">
<kc:select codeId="CC020" id="appPlaceTy" name="appPlaceTy" selectedValue="01" script="onchange='fncShow()'" />
<!-- <select name="appPlace" id="appPlace" onchange="fncShow(this)">
<option value="신청실">한국저작권위원회 신청실</option>
<option value="신청실">한국지식재산보호원 신청실</option>
<option value="">직접입력</option>
</select> -->
<div id="appPlaceTyDiv" style="display: none;">
@ -307,7 +307,7 @@
<td colspan="3">
<kc:select codeId="CC021" id="appPlaceAddrTy" name="appPlaceAddrTy" selectedValue="01" script="onchange='fncShow()'" />
<!-- <select name="appPlaceAddr" id="appPlaceAddr" >
<option value="신청실">한국저작권위원회 신청실</option>
<option value="신청실">한국지식재산보호원 신청실</option>
<option value="">직접입력</option>
</select> -->
<div id="appPlaceAddrTyDiv" style="display: none;">

View File

@ -361,7 +361,7 @@
<p>계좌정보</p>
</th>
<td>
우리은행 1005-802-193838 예금주 : 한국저작권위원회
우리은행 1005-802-193838 예금주 : 한국지식재산보호원
</td>
</tr>
<tr>

View File

@ -95,7 +95,7 @@
<tbody>
<tr>
<th>계좌정보</th>
<td><p>우리은행 1005-802-193838 예금주 : 한국저작권위원회</p></td>
<td><p>우리은행 1005-802-193838 예금주 : 한국지식재산보호원</p></td>
</tr>
<tr>
<th>결제금액</th>

View File

@ -41,7 +41,7 @@ $( document).ready(function() {
<div class="area_left">
<h1 class="logo">
<a href="${pageContext.request.contextPath}/cmm/main/mainPage.do">
<img src="${pageContext.request.contextPath}/kccadrPb/adm/image/common/logo.png" alt="한국저작권위원회 KOREA COPYRIGHT COMMISSION">
<img src="${pageContext.request.contextPath}/kccadrPb/adm/image/common/logo.png" alt="한국지식재산보호원 KOREA COPYRIGHT COMMISSION">
</a>
</h1>
<nav class="menu">

View File

@ -494,7 +494,7 @@ $( document ).ready(function(){
<td colspan="3">
<label for="actvtCarer" class="label">활동경력</label>
<textarea name="actvtCarer" id="actvtCarer" rows="6" placeholder="예문
- 한국저작권위원회 저작권청년강사 위촉
- 한국지식재산보호원 저작권청년강사 위촉
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의"></textarea>

View File

@ -827,7 +827,7 @@ function getYears(getYear){
<td colspan="3">
<label for="actvtCarer" class="label">활동경력</label>
<textarea name="actvtCarer" id="actvtCarer" rows="6" placeholder="예문
- 한국저작권위원회 저작권청년강사 위촉
- 한국지식재산보호원 저작권청년강사 위촉
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의"></textarea>

View File

@ -303,7 +303,7 @@
<p><span><fmt:formatDate value="${frstRegistPnttm}" pattern="yyyy"/></span>년 <span><fmt:formatDate value="${frstRegistPnttm}" pattern="MM"/></span>월 <span><fmt:formatDate value="${frstRegistPnttm}" pattern="dd"/></span>일</p>
<strong><c:out value="${info.insttNm}" /></strong>
</div>
<p class="print_mark_p2">한국저작권위원회 위원장 귀중</p>
<p class="print_mark_p2">한국지식재산보호원 위원장 귀중</p>
<img src="<c:url value='/visitEdu/adm/publish/image/content/kco_ci.png' />">
</div>

View File

@ -248,7 +248,7 @@
try{
sendSms(
$(this).data("phone"),
"안녕하세요, 한국저작권위원회 교육운영팀입니다.\n신청하신 찾아가는 저작권 교육 일정이 확정되었습니다.\n강사 배정후, 교육 일주일 전 만족도 조사 작성법 등 다시 안내 드리겠습니다.\n범죄경력조회동의서 등 필요서류가 있으시면 신청하신 교육 홈페이지www.edu-copyright.or.kr/offedu) 접속하셔서\n① 찾아가는 교육 청소년 > ② 신청목록 > ③ 신청건 클릭 > ④ 하단 교육차시정보 ★서류요청★ 클릭>\n⑤ 강사 체크후 양식 업로드 하시면 됩니다. (제출여부에 파일이 업로드되면 다운로드하셔서 사용하시면 됩니다.)\n단, 범죄경력조회동의서는 배정강사이름이 표시된 후 업로드 가능하며 교육일로부터 2주 전 강사배정 완료 예정입니다.(위원회 사정에 따라 강사 배정 시기는 변동 될 수 있음)\n감사합니다.\n055-792-0224\nschool@copyright.or.kr",
"안녕하세요, 한국지식재산보호원 교육운영팀입니다.\n신청하신 찾아가는 저작권 교육 일정이 확정되었습니다.\n강사 배정후, 교육 일주일 전 만족도 조사 작성법 등 다시 안내 드리겠습니다.\n범죄경력조회동의서 등 필요서류가 있으시면 신청하신 교육 홈페이지www.edu-copyright.or.kr/offedu) 접속하셔서\n① 찾아가는 교육 청소년 > ② 신청목록 > ③ 신청건 클릭 > ④ 하단 교육차시정보 ★서류요청★ 클릭>\n⑤ 강사 체크후 양식 업로드 하시면 됩니다. (제출여부에 파일이 업로드되면 다운로드하셔서 사용하시면 됩니다.)\n단, 범죄경력조회동의서는 배정강사이름이 표시된 후 업로드 가능하며 교육일로부터 2주 전 강사배정 완료 예정입니다.(위원회 사정에 따라 강사 배정 시기는 변동 될 수 있음)\n감사합니다.\n055-792-0224\nschool@copyright.or.kr",
$(this).val(),
$(this).data("userid"),
"C",

View File

@ -555,7 +555,7 @@
<td colspan="3">
<label for="actvtCarer" class="label">활동경력</label>
<textarea name="actvtCarer" id="actvtCarer" placeholder="예문
- 한국저작권위원회 저작권청년강사 위촉
- 한국지식재산보호원 저작권청년강사 위촉
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의"><c:out value='${info.actvtCarer}'/></textarea>

View File

@ -470,7 +470,7 @@ $( document ).ready(function(){
<td colspan="3">
<label for="actvtCarer" class="label">활동경력</label>
<textarea name="actvtCarer" id="actvtCarer" rows="6" placeholder="예문
- 한국저작권위원회 저작권청년강사 위촉
- 한국지식재산보호원 저작권청년강사 위촉
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의"></textarea>

View File

@ -300,7 +300,7 @@
<p><span><fmt:formatDate value="${frstRegistPnttm}" pattern="yyyy"/></span>년 <span><fmt:formatDate value="${frstRegistPnttm}" pattern="MM"/></span>월 <span><fmt:formatDate value="${frstRegistPnttm}" pattern="dd"/></span>일</p>
<strong><c:out value="${info.scholInsttNm}" /></strong>
</div>
<p class="print_mark_p2">한국저작권위원회 위원장 귀중</p>
<p class="print_mark_p2">한국지식재산보호원 위원장 귀중</p>
<img src="<c:url value='/visitEdu/adm/publish/image/content/kco_ci.png' />">
</div>

View File

@ -162,7 +162,7 @@ String ip4 = request.getRemoteAddr() ;
<div class="login_all_wrap">
<div class="login_wrap">
<div class="login_left_box">
<img src="${pageContext.request.contextPath}/kccadrPb/adm/image/login_logo.png" alt="한국저작권위원회 KOREA COPYRIGHT COMMISSION">
<img src="${pageContext.request.contextPath}/kccadrPb/adm/image/login_logo.png" alt="한국지식재산보호원 KOREA COPYRIGHT COMMISSION">
</div>
<div class="login_right_box">
<p class="login_tit">로그인</p>
@ -202,7 +202,7 @@ String ip4 = request.getRemoteAddr() ;
<input type="submit" value="로그인" class="submit" id="login_submit" onclick="javascript:actionLogin();return false;">
</div>
<div class="copyright">
<span class="copy_text">Copyright ⓒ한국저작권위원회 All Rights Reserved.</span>
<span class="copy_text">Copyright ⓒ한국지식재산보호원 All Rights Reserved.</span>
</div>
</div>
</div>

View File

@ -54,7 +54,7 @@ function footerSiteLinkPageGo (){
</ul>
</div>
<div class="area_top">
<h1 class="logo"><a href="/offedu" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권배움터"></a></h1>
<h1 class="logo"><a href="/offedu" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국지식재산보호원 저작권배움터"></a></h1>
<address>
<p>진주 [52852] 경상남도 진주시 소호로 117, 1/2/5층 ☎ 055-792-0000</p>
<p style=" margin-bottom: 8px">☎ 찾교(청소년) 055.792.0224 / 찾교(성인) 055.792.0233 / 체험교실 055.792.0234 / 교육조건부기소유예제 055.792.0223</p>

View File

@ -249,22 +249,22 @@ function usrJoin(){
</div>
<!-- <div class="area_left">
<button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button>
<p><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/edu_mark_1.png" alt="교육기부 우수기관 마크" /> 교육기부 우수기관</p>
</div>-->
<%-- <button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button> --%>
<%-- <button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do'" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(비로그인)</span>
</button>
<button class="site" onclick="javascript:goEEdu();" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(로그인)</span>
</button> --%>
@ -317,18 +317,18 @@ function usrJoin(){
</div>
<!--<div class="area_left">
<button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button>
<p><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/edu_mark_1.png" alt="교육기부 우수기관 마크" /> 교육기부 우수기관</p>
</div>-->
<!-- 회원 SEQ 변경되는 문제로 인해 주석 -->
<%-- <button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do'" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(비로그인)</span>
</button>
<button class="site" onclick="javascript:goEEdu();" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(로그인)</span>
</button> --%>
@ -364,7 +364,7 @@ function usrJoin(){
<div class="header_top">
<div class="header_inner">
<div class="area_left">
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권배움터"></a></h1>
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국지식재산보호원 저작권배움터"></a></h1>
<div class="edumark"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/edu_mark_1.png" alt="교육기부 우수기관 마크">교육기부 우수기관</div>
</div>
<div class="area_right">
@ -433,7 +433,7 @@ function usrJoin(){
<!-- 전체메뉴 -->
<div class="full_menu">
<div class="inner">
<h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 배움터"></h1>
<h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국지식재산보호원 저작권 배움터"></h1>
<ul class="depth01">
<c:forEach var="resultListOne" items="${fullMenuResultList}" varStatus="status">
<c:if test="${resultListOne.depths eq '1' }">

View File

@ -167,22 +167,22 @@ function usrJoin(){
<div class="inner">
<div class="area_left">
<button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button>
<p><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/edu_mark_1.png" alt="" /> 교육기부 우수기관</p>
</div>
<%-- <button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button> --%>
<%-- <button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do'" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(비로그인)</span>
</button>
<button class="site" onclick="javascript:goEEdu();" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(로그인)</span>
</button> --%>
@ -221,16 +221,16 @@ function usrJoin(){
<div class="gnb_wrap">
<div class="inner">
<button class="site" onclick="window.open('https://www.copyright.or.kr/main.do')" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>GO</span>
</button>
<button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(비로그인)</span>
</button>
<button class="site" onclick="javascript:goEEdu();" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국지식재산보호원">
<span>e-배움터GO(로그인)</span>
</button>
@ -250,7 +250,7 @@ function usrJoin(){
</c:choose>
<div class="header">
<div class="header_inner">
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></a></h1>
<h1 class="logo"><a href="${pageContext.request.contextPath}/web/main/mainPage.do" title="메인으로 이동"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국지식재산보호원 저작권 교육 시스템"></a></h1>
<div class="nav_wrap">
<nav id="menu">
<ul class="depth01">
@ -309,7 +309,7 @@ function usrJoin(){
<!-- 전체메뉴 -->
<div class="full_menu">
<div class="inner">
<h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국저작권위원회 저작권 교육 시스템"></h1>
<h1 class="logo"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/ci.png" alt="한국지식재산보호원 저작권 교육 시스템"></h1>
<ul class="depth01">
<c:forEach var="resultListOne" items="${menuResultList}" varStatus="status">
<c:if test="${resultListOne.depths eq '1' }">

View File

@ -19,13 +19,13 @@
<title>
<c:choose>
<c:when test="${fn:contains(URL , 'main/mainPage.')}">
한국저작권위원회 저작권배움터
한국지식재산보호원 저작권배움터
</c:when>
<c:when test="${fn:contains(URL , 'web/user/login/ssoLogin.')}">
로그인&lt;한국저작권위원회 저작권배움터
로그인&lt;한국지식재산보호원 저작권배움터
</c:when>
<c:otherwise>
<c:forEach var="result" items="${menuCurrentResultList}" varStatus="status">${result.menuNm}&lt;</c:forEach>한국저작권위원회 저작권배움터
<c:forEach var="result" items="${menuCurrentResultList}" varStatus="status">${result.menuNm}&lt;</c:forEach>한국지식재산보호원 저작권배움터
</c:otherwise>
</c:choose>
</title>
@ -141,7 +141,7 @@ $(document).ready(function (){
if(document.title.indexOf(titleNm) < 0){
// document.title = titleNm + "<" + document.title;
var titelNavi = $(".pathedfr").find("ul li");
document.title = titelNavi.eq(4).text() +"<"+titelNavi.eq(2).text()+"< 한국저작권위원회 저작권교육 시스템";
document.title = titelNavi.eq(4).text() +"<"+titelNavi.eq(2).text()+"< 한국지식재산보호원 저작권교육 시스템";
}
} */

View File

@ -126,7 +126,7 @@
<p>계좌정보</p>
</th>
<td>
<p>우리은행 1005-802-193838 예금주 : 한국저작권위원회</p>
<p>우리은행 1005-802-193838 예금주 : 한국지식재산보호원</p>
</td>
</tr>
<tr>

View File

@ -116,7 +116,7 @@
<tr>
<th scope="row">계좌정보</th>
<td>
<p class="c_e40000">우리은행 1005-802-193838 예금주 : 한국저작권위원회</p>
<p class="c_e40000">우리은행 1005-802-193838 예금주 : 한국지식재산보호원</p>
</td>
</tr>
<tr>

View File

@ -83,7 +83,7 @@ c c
<p class="icd_tit">
<span>오프라인 조정 온라인 진행 전환 동의</span>
</p>
<p class="icd_info">한국저작권위원회에서 조정절차 개시 통지를 받으신 후에는 조정번호와 접속번호를 입력하면 조정정보를 확인하실 수 있습니다.</p>
<p class="icd_info">한국지식재산보호원에서 조정절차 개시 통지를 받으신 후에는 조정번호와 접속번호를 입력하면 조정정보를 확인하실 수 있습니다.</p>
<div class="icd_form">
<p class="input_tit">조정번호</p>
<input type="text" placeholder="조정번호를 입력해주세요" id="adrNo" name="adrNo">

View File

@ -126,7 +126,7 @@
<!-- 상단경고문구 -->
<div class="top_progress">
<p><span>- 한국저작권위원회 저작권 분쟁 담당자 신청을 위한 화면입니다. </span></p>
<p><span>- 한국지식재산보호원 저작권 분쟁 담당자 신청을 위한 화면입니다. </span></p>
</div>
<!-- 담당자 정보 -->

View File

@ -11,6 +11,7 @@
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/swiper.min.css">
<script src="/offedu/visitEdu/usr/publish/script/swiper.js"></script>
<script type="text/javascript">
//alert('aaaaa');
$(document).ready(function (){
<c:if test="${message != null}">

View File

@ -428,7 +428,7 @@ function instrChk(){
<a href="/web/content.do?proFn=9150000">
<i></i>
<span>오프라인 신청</span>
<p>한국저작권위원회로 우편 송달 또는 방문</p>
<p>한국지식재산보호원로 우편 송달 또는 방문</p>
</a>
</div>
<div class="area_btm">

View File

@ -9,7 +9,7 @@
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">

View File

@ -1,145 +1,145 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
/* $('#searchStatus').change(function(){
fncGoList();
}); */
});
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/my/myQnaMngList.do'/>";
listForm.submit();
}
function fncGoDetail(p_pk){
var form = document.deatilForm ;
form.prcsAplctPrdQnaOrd.value = p_pk ;
form.action = "<c:url value='/web/my/myQnaMngDetail.do'/>";
form.submit();
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="deatilForm" name="deatilForm" >
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<div class="cont_tit">
<h2>내 교육문의</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top inquiry_list">
<div class="list_top_left">
<label for="searchStatus" class="label">답변여부 선택</label>
<select class="selType1" id="searchStatus" name="searchStatus">
<option value="">답변여부</option>
<option ${vEPrcsDetailVO.searchStatus eq 'Y' ? 'selected' : ''} value="Y">완료</option>
<option ${vEPrcsDetailVO.searchStatus eq 'N' ? 'selected' : ''} value="N">미완료</option>
</select>
</div>
<div class="btn_wrap">
<button type="button" class="btnType01" onclick="javascript:fncGoList(); return false;">검색</button>
</div>
</div>
<!-- list -->
<div class="tb_list01">
<table>
<caption>내 교육문의 : 강의구분, 문의내용, 문의일시, 답변여부 등의 정보제공</caption>
<colgroup>
<col style="width:10%;">
<col style="width:13%;">
<col style="width:13%;">
<col style="width:13%;">
</colgroup>
<thead>
<tr>
<th scope="col">강의구분</th>
<th scope="col">문의내용</th>
<th scope="col">문의일시</th>
<th scope="col">답변여부</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<ve:code codeId="VE0011" code="${list.lctrDivCd }" />
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<c:out value="${list.qnaCn }" />
</td>
<td>
<c:out value="${list.frstRegistPnttm }" />
</td>
<td>
<c:choose>
<c:when test="${empty list.qnaAnswerCn }">
-
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/my/myPageDashBoard.do" />'">마이페이지</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
/* $('#searchStatus').change(function(){
fncGoList();
}); */
});
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/my/myQnaMngList.do'/>";
listForm.submit();
}
function fncGoDetail(p_pk){
var form = document.deatilForm ;
form.prcsAplctPrdQnaOrd.value = p_pk ;
form.action = "<c:url value='/web/my/myQnaMngDetail.do'/>";
form.submit();
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="deatilForm" name="deatilForm" >
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<div class="cont_tit">
<h2>내 교육문의</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top inquiry_list">
<div class="list_top_left">
<label for="searchStatus" class="label">답변여부 선택</label>
<select class="selType1" id="searchStatus" name="searchStatus">
<option value="">답변여부</option>
<option ${vEPrcsDetailVO.searchStatus eq 'Y' ? 'selected' : ''} value="Y">완료</option>
<option ${vEPrcsDetailVO.searchStatus eq 'N' ? 'selected' : ''} value="N">미완료</option>
</select>
</div>
<div class="btn_wrap">
<button type="button" class="btnType01" onclick="javascript:fncGoList(); return false;">검색</button>
</div>
</div>
<!-- list -->
<div class="tb_list01">
<table>
<caption>내 교육문의 : 강의구분, 문의내용, 문의일시, 답변여부 등의 정보제공</caption>
<colgroup>
<col style="width:10%;">
<col style="width:13%;">
<col style="width:13%;">
<col style="width:13%;">
</colgroup>
<thead>
<tr>
<th scope="col">강의구분</th>
<th scope="col">문의내용</th>
<th scope="col">문의일시</th>
<th scope="col">답변여부</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<ve:code codeId="VE0011" code="${list.lctrDivCd }" />
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<c:out value="${list.qnaCn }" />
</td>
<td>
<c:out value="${list.frstRegistPnttm }" />
</td>
<td>
<c:choose>
<c:when test="${empty list.qnaAnswerCn }">
-
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/my/myPageDashBoard.do" />'">마이페이지</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -8,7 +8,7 @@
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){

View File

@ -25,7 +25,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-->
<title>교육신청 목록 > 청소년 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<title>교육신청 목록 > 청소년 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

View File

@ -1008,7 +1008,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>본인은 저작권 체험교실 운영교사로서 아래 각 항을 준수 할 것을 서약합니다.
1. 본인은 한국저작권위원회(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
1. 본인은 한국지식재산보호원(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
2. 위원회에서는 제공하는지원금은 체험교실 운영에 활용하며 아래 사항을 준수한다.
가. 지원금 총액은 6차시 기준으로 90만원으로 하며, 서약서 제출 후 70%(63만원), 결과보고 후 30%(27만원)로 나누어 수령한다.
나. 위원회에 제출한 계획서에 따라 운영하되 기간 내 6차시를 모두 운영하지 못한 경우 운영하지 못한 차시에 해당하는 금액을 위원회와 정산(반납 또는 추가지급)한다.
@ -1016,7 +1016,7 @@
라. 지원금 수령을 위해 보고서 및 증빙서류제출 등에 적극적으로 협조한다.
3. 본인은 학교 또는 개인 사유 등으로 인해 중도 포기할 경우 위원회가 정한 사항(취소확인서 제출, 지원금 반납 등)을 반드시 이행한다.
가. 중도포기 사유 발생 시 취소확인서 작성하여 위원회로 공문 제출
나. “2021년도 한국저작권위원회 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국저작권위원회)로 지원금 반납\
나. “2021년도 한국지식재산보호원 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국지식재산보호원)로 지원금 반납\
</pre>
</div>
<div class="agree_chx">
@ -1032,7 +1032,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>1. 개인정보 수집 및 이용 목적
- 제공하신 정보는 한국저작권위원회에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
- 제공하신 정보는 한국지식재산보호원에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
2. 수집하려는 개인정보의 항목
- [필수] 신청자의 성명, 주소, 연락처, 휴대폰, 이메일
@ -1042,7 +1042,7 @@
4. 개인정보 수집 동의 거부의 권리
- 귀하는 이에 대한 동의를 거부할 수 있습니다.
다만, 동의 거부 시 한국저작권위원회의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
다만, 동의 거부 시 한국지식재산보호원의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
</pre>
</div>
<div class="agree_chx">

View File

@ -1162,7 +1162,7 @@
<!--
<div class="agree_text" tabindex="0">
<pre>한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
<pre>한국지식재산보호원에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
아래사항에 대해 충분히 읽어 보신 후에 동의 여부를 체크해 주시기 바랍니다.</pre>
<table>
<caption>개인정보 수집 및 이용에 대한 동의</caption>

View File

@ -882,7 +882,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>본인은 저작권 체험교실 운영교사로서 아래 각 항을 준수 할 것을 서약합니다.
1. 본인은 한국저작권위원회(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
1. 본인은 한국지식재산보호원(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
2. 위원회에서는 제공하는지원금은 체험교실 운영에 활용하며 아래 사항을 준수한다.
가. 지원금 총액은 6차시 기준으로 90만원으로 하며, 서약서 제출 후 70%(63만원), 결과보고 후 30%(27만원)로 나누어 수령한다.
나. 위원회에 제출한 계획서에 따라 운영하되 기간 내 6차시를 모두 운영하지 못한 경우 운영하지 못한 차시에 해당하는 금액을 위원회와 정산(반납 또는 추가지급)한다.
@ -890,7 +890,7 @@
라. 지원금 수령을 위해 보고서 및 증빙서류제출 등에 적극적으로 협조한다.
3. 본인은 학교 또는 개인 사유 등으로 인해 중도 포기할 경우 위원회가 정한 사항(취소확인서 제출, 지원금 반납 등)을 반드시 이행한다.
가. 중도포기 사유 발생 시 취소확인서 작성하여 위원회로 공문 제출
나. “2021년도 한국저작권위원회 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국저작권위원회)로 지원금 반납</pre>
나. “2021년도 한국지식재산보호원 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국지식재산보호원)로 지원금 반납</pre>
</div>
<div class="agree_chx">
<div>
@ -905,7 +905,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>1. 개인정보 수집 및 이용 목적
- 제공하신 정보는 한국저작권위원회에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
- 제공하신 정보는 한국지식재산보호원에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
2. 수집하려는 개인정보의 항목
- [필수] 신청자의 성명, 주소, 연락처, 휴대폰, 이메일
@ -915,7 +915,7 @@
4. 개인정보 수집 동의 거부의 권리
- 귀하는 이에 대한 동의를 거부할 수 있습니다.
다만, 동의 거부 시 한국저작권위원회의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
다만, 동의 거부 시 한국지식재산보호원의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
</pre>
</div>
<div class="agree_chx">

View File

@ -519,7 +519,7 @@
</script>
<div class="agree_text" tabindex="0">
<pre>한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
<pre>한국지식재산보호원에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
아래사항에 대해 충분히 읽어 보신 후에 동의 여부를 체크해 주시기 바랍니다.</pre>
<table>
<caption>개인정보 수집 및 이용에 대한 동의</caption>

View File

@ -35,7 +35,7 @@
<div class="agree_text" tabindex="0">
<pre>한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
<pre>한국지식재산보호원에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
아래사항에 대해 충분히 읽어 보신 후에 동의 여부를 체크해 주시기 바랍니다.</pre>
<table>
<caption>개인정보 수집 및 이용에 대한 동의</caption>

View File

@ -26,7 +26,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-->
<title>교육완료 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<title>교육완료 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

View File

@ -25,7 +25,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-->
<title>강의평가 목록 > 청소년 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<title>강의평가 목록 > 청소년 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

View File

@ -997,7 +997,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>본인은 저작권 체험교실 운영교사로서 아래 각 항을 준수 할 것을 서약합니다.
1. 본인은 한국저작권위원회(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
1. 본인은 한국지식재산보호원(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
2. 위원회에서는 제공하는지원금은 체험교실 운영에 활용하며 아래 사항을 준수한다.
가. 지원금 총액은 6차시 기준으로 90만원으로 하며, 서약서 제출 후 70%(63만원), 결과보고 후 30%(27만원)로 나누어 수령한다.
나. 위원회에 제출한 계획서에 따라 운영하되 기간 내 6차시를 모두 운영하지 못한 경우 운영하지 못한 차시에 해당하는 금액을 위원회와 정산(반납 또는 추가지급)한다.
@ -1005,7 +1005,7 @@
라. 지원금 수령을 위해 보고서 및 증빙서류제출 등에 적극적으로 협조한다.
3. 본인은 학교 또는 개인 사유 등으로 인해 중도 포기할 경우 위원회가 정한 사항(취소확인서 제출, 지원금 반납 등)을 반드시 이행한다.
가. 중도포기 사유 발생 시 취소확인서 작성하여 위원회로 공문 제출
나. “2021년도 한국저작권위원회 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국저작권위원회)로 지원금 반납\
나. “2021년도 한국지식재산보호원 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국지식재산보호원)로 지원금 반납\
</pre>
</div>
<div class="agree_chx">
@ -1021,7 +1021,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>1. 개인정보 수집 및 이용 목적
- 제공하신 정보는 한국저작권위원회에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
- 제공하신 정보는 한국지식재산보호원에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
2. 수집하려는 개인정보의 항목
- [필수] 신청자의 성명, 주소, 연락처, 휴대폰, 이메일
@ -1031,7 +1031,7 @@
4. 개인정보 수집 동의 거부의 권리
- 귀하는 이에 대한 동의를 거부할 수 있습니다.
다만, 동의 거부 시 한국저작권위원회의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
다만, 동의 거부 시 한국지식재산보호원의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
</pre>
</div>
<div class="agree_chx">

View File

@ -1012,7 +1012,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>본인은 저작권 체험교실 운영교사로서 아래 각 항을 준수 할 것을 서약합니다.
1. 본인은 한국저작권위원회(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
1. 본인은 한국지식재산보호원(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
2. 위원회에서는 제공하는지원금은 체험교실 운영에 활용하며 아래 사항을 준수한다.
가. 지원금 총액은 6차시 기준으로 90만원으로 하며, 서약서 제출 후 70%(63만원), 결과보고 후 30%(27만원)로 나누어 수령한다.
나. 위원회에 제출한 계획서에 따라 운영하되 기간 내 6차시를 모두 운영하지 못한 경우 운영하지 못한 차시에 해당하는 금액을 위원회와 정산(반납 또는 추가지급)한다.
@ -1020,7 +1020,7 @@
라. 지원금 수령을 위해 보고서 및 증빙서류제출 등에 적극적으로 협조한다.
3. 본인은 학교 또는 개인 사유 등으로 인해 중도 포기할 경우 위원회가 정한 사항(취소확인서 제출, 지원금 반납 등)을 반드시 이행한다.
가. 중도포기 사유 발생 시 취소확인서 작성하여 위원회로 공문 제출
나. “2021년도 한국저작권위원회 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국저작권위원회)로 지원금 반납</pre>
나. “2021년도 한국지식재산보호원 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국지식재산보호원)로 지원금 반납</pre>
</div>
<div class="agree_chx">
<div>
@ -1035,7 +1035,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>1. 개인정보 수집 및 이용 목적
- 제공하신 정보는 한국저작권위원회에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
- 제공하신 정보는 한국지식재산보호원에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
2. 수집하려는 개인정보의 항목
- [필수] 신청자의 성명, 주소, 연락처, 휴대폰, 이메일
@ -1045,7 +1045,7 @@
4. 개인정보 수집 동의 거부의 권리
- 귀하는 이에 대한 동의를 거부할 수 있습니다.
다만, 동의 거부 시 한국저작권위원회의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
다만, 동의 거부 시 한국지식재산보호원의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
</pre>
</div>
<div class="agree_chx">

View File

@ -9,7 +9,7 @@
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템</title>
<title>운영신청 목록 > 저작권 체험교실 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">

View File

@ -9,7 +9,7 @@
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<title>운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템</title>
<title>운영신청 목록 > 저작권 체험교실 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoList(){

View File

@ -6,7 +6,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<title>운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템</title>
<title>운영신청 목록 > 저작권 체험교실 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoList(){

View File

@ -9,7 +9,7 @@
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템</title>
<title>운영신청 목록 > 저작권 체험교실 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">

View File

@ -25,7 +25,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
-->
<title>운영신청 목록 > 저작권 체험교실 > 한국저작권위원회 저작권 교육 시스템</title>
<title>운영신청 목록 > 저작권 체험교실 > 한국지식재산보호원 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">

View File

@ -999,7 +999,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>본인은 저작권 체험교실 운영교사로서 아래 각 항을 준수 할 것을 서약합니다.
1. 본인은 한국저작권위원회(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
1. 본인은 한국지식재산보호원(이하 위원회)의 “저작권 체험교실(이하 체험교실)”을 운영함에 있어 운영계획서(6차시)를 작성하여 위원회에 제출하고 성실히 이행한다.
2. 위원회에서는 제공하는지원금은 체험교실 운영에 활용하며 아래 사항을 준수한다.
가. 지원금 총액은 6차시 기준으로 90만원으로 하며, 서약서 제출 후 70%(63만원), 결과보고 후 30%(27만원)로 나누어 수령한다.
나. 위원회에 제출한 계획서에 따라 운영하되 기간 내 6차시를 모두 운영하지 못한 경우 운영하지 못한 차시에 해당하는 금액을 위원회와 정산(반납 또는 추가지급)한다.
@ -1007,7 +1007,7 @@
라. 지원금 수령을 위해 보고서 및 증빙서류제출 등에 적극적으로 협조한다.
3. 본인은 학교 또는 개인 사유 등으로 인해 중도 포기할 경우 위원회가 정한 사항(취소확인서 제출, 지원금 반납 등)을 반드시 이행한다.
가. 중도포기 사유 발생 시 취소확인서 작성하여 위원회로 공문 제출
나. “2021년도 한국저작권위원회 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국저작권위원회)로 지원금 반납\
나. “2021년도 한국지식재산보호원 예상집행지침안”에 따라 취소 공문 제출 후 7일 이내에 위원회 지정계좌(우리은행 1005-003-865286 한국지식재산보호원)로 지원금 반납\
</pre>
</div>
<div class="agree_chx">
@ -1023,7 +1023,7 @@
<div class="agree_wrap">
<div class="agree_text" tabindex="0">
<pre>1. 개인정보 수집 및 이용 목적
- 제공하신 정보는 한국저작권위원회에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
- 제공하신 정보는 한국지식재산보호원에서 운영하는 &lt;찾아가는 저작권 교육 운영&gt; 일정 안내를 위해 사용됩니다.
2. 수집하려는 개인정보의 항목
- [필수] 신청자의 성명, 주소, 연락처, 휴대폰, 이메일
@ -1033,7 +1033,7 @@
4. 개인정보 수집 동의 거부의 권리
- 귀하는 이에 대한 동의를 거부할 수 있습니다.
다만, 동의 거부 시 한국저작권위원회의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
다만, 동의 거부 시 한국지식재산보호원의 &lt;찾아가는 저작권 교육 운영&gt; 신청이 불가능 할 수도 있습니다.
</pre>
</div>
<div class="agree_chx">

Some files were not shown because too many files have changed in this diff Show More