이준호 전자조정시스템 커밋

- 용어해설 수정
This commit is contained in:
leejunho 2023-11-06 16:34:02 +09:00
parent b72fb5e919
commit 6b6b960196
18 changed files with 432 additions and 128 deletions

View File

@ -10,10 +10,10 @@ public interface GlossaryService {
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception; public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception;
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception;
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception; public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception;
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception; public void deleteGlossary(GlossaryVO glossaryVO) throws Exception;
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception;
} }

View File

@ -16,6 +16,7 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{
private String lastUpdusrId; private String lastUpdusrId;
private String lastUpdtPnttm; private String lastUpdtPnttm;
private String useYn; private String useYn;
private int cnt;
public String getGlssrSeq() { public String getGlssrSeq() {
@ -66,4 +67,11 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{
public void setUseYn(String useYn) { public void setUseYn(String useYn) {
this.useYn = useYn; this.useYn = useYn;
} }
public int getCnt() {
return cnt;
}
public void setCnt(int cnt) {
this.cnt = cnt;
}
} }

View File

@ -6,39 +6,40 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.glossary.service.GlossaryVO; import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.kccadr.textsense.service.TextSenseVO;
@Repository("GlossaryDAO") @Repository("GlossaryDAO")
public class GlossaryDAO extends EgovAbstractDAO{ public class GlossaryDAO extends EgovAbstractDAO{
public int insertGlossary(GlossaryVO glossaryVO) throws Exception { public int insertGlossary(GlossaryVO glossaryVO) throws Exception {
return (int) update("glossaryDAO.insertGlossary", glossaryVO);
return (int) insert("glossaryDAO.insertGlossary", glossaryVO);
} }
@SuppressWarnings("unchecked")
public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception { public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null; return (List<GlossaryVO>) list("glossaryDAO.selectGlossaryList", glossaryVO);
} }
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception { public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null; return (GlossaryVO) select("glossaryDAO.selectGlossaryDetail", glossaryVO);
} }
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
}
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception { public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub update("glossaryDAO.updateGlossaryModify", glossaryVO);
} }
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception { public void deleteGlossary(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub update("glossaryDAO.deleteGlossary", glossaryVO);
}
@SuppressWarnings("unchecked")
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception {
return (List<GlossaryVO>) list("glossaryDAO.selectGlossaryListForWeb", glossaryVO);
} }
} }

View File

@ -6,51 +6,53 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.kccadr.glossary.service.GlossaryService; import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO; import kcc.kccadr.glossary.service.GlossaryVO;
@Service("GlossaryService") @Service("GlossaryService")
public class GlossaryServiceImpl implements GlossaryService{ public class GlossaryServiceImpl implements GlossaryService{
/** ID Generation */
@Resource(name="glssrIdgenService")
private EgovIdGnrService glssrIdgenService;
@Resource(name = "GlossaryDAO") @Resource(name = "GlossaryDAO")
private GlossaryDAO glossaryDAO; private GlossaryDAO glossaryDAO;
@Override @Override
public int insertGlossary(GlossaryVO glossaryVO) throws Exception { public int insertGlossary(GlossaryVO glossaryVO) throws Exception {
glossaryVO.setGlssrSeq(glssrIdgenService.getNextStringId());
return glossaryDAO.insertGlossary(glossaryVO); return glossaryDAO.insertGlossary(glossaryVO);
} }
@Override @Override
public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception { public List<GlossaryVO> selectGlossaryList(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
return null; return glossaryDAO.selectGlossaryList(glossaryVO);
} }
@Override @Override
public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception { public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub return glossaryDAO.selectGlossaryDetail(glossaryVO);
return null;
}
@Override
public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub
} }
@Override @Override
public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception { public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub glossaryDAO.updateGlossaryModify(glossaryVO);
} }
@Override @Override
public void deleteGlossary(GlossaryVO glossaryVO) throws Exception { public void deleteGlossary(GlossaryVO glossaryVO) throws Exception {
// TODO Auto-generated method stub glossaryDAO.deleteGlossary(glossaryVO);
} }
@Override
public List<GlossaryVO> selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception {
return glossaryDAO.selectGlossaryListForWeb(glossaryVO);
}
} }

View File

@ -1,6 +1,5 @@
package kcc.kccadr.glossary.web; package kcc.kccadr.glossary.web;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -16,7 +15,6 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
import kcc.kccadr.glossary.service.GlossaryService; import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO; import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.kccadr.textsense.service.TextSenseVO;
@Controller @Controller
public class GlossaryController { public class GlossaryController {
@ -66,10 +64,11 @@ public class GlossaryController {
glossaryVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); glossaryVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
glossaryVO.setFrstRegisterId(user.getUniqId()); glossaryVO.setFrstRegisterId(user.getUniqId());
// paginationInfo.setTotalRecordCount(glossaryService.selectTextSenseListCount(textSenseVO));
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
// List<GlossaryVO> list = glossaryService.selectTextSenseList(textSenseVO); List<GlossaryVO> list = glossaryService.selectGlossaryList(glossaryVO);
List<GlossaryVO> list = new ArrayList<GlossaryVO>(); if(list.size() > 0) {
paginationInfo.setTotalRecordCount(list.get(0).getCnt());
}
model.addAttribute("list", list); model.addAttribute("list", list);
return "kccadr/glossary/glossaryList"; return "kccadr/glossary/glossaryList";
@ -91,6 +90,7 @@ public class GlossaryController {
} }
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryRegistAjax.do") @RequestMapping(value="/kccadr/glossary/glossaryRegistAjax.do")
public ModelAndView glossaryRegistAjax(GlossaryVO glossaryVO) throws Exception{ public ModelAndView glossaryRegistAjax(GlossaryVO glossaryVO) throws Exception{
@ -99,7 +99,7 @@ public class GlossaryController {
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setFrstRegisterId(user.getId()); glossaryVO.setFrstRegisterId(user.getUniqId());
if(user == null) { if(user == null) {
modelAndView.addObject("result", "FAIL"); modelAndView.addObject("result", "FAIL");
@ -118,8 +118,89 @@ public class GlossaryController {
} }
return modelAndView; return modelAndView;
}
@RequestMapping(value="/kccadr/glossary/gossaryDetail.do")
public String gossaryDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception{
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if(user == null) {
return "redirect:/uat/uia/EgovLoginUsr.do";
} }
GlossaryVO detailVO = glossaryService.selectGlossaryDetail(glossaryVO);
model.addAttribute("glossaryVO", detailVO);
if("N".equals(detailVO.getUseYn())) {
return "redirect:/kccadr/glossary/glossaryList.do";
}
return "kccadr/glossary/glossaryDetail";
}
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryModifyAjax.do")
public ModelAndView glossaryModifyAjax(GlossaryVO glossaryVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setLastUpdusrId(user.getUniqId());
if(user == null) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "다시 로그인 해주세요.");
return modelAndView;
}
try {
glossaryService.updateGlossaryModify(glossaryVO);
modelAndView.addObject("result", "SUCCESS");
modelAndView.addObject("message", "저장되었습니다.");
} catch (Exception e) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "저장에 실패했습니다.");
}
return modelAndView;
}
@SuppressWarnings("unused")
@RequestMapping(value="/kccadr/glossary/glossaryDeleteAjax.do")
public ModelAndView glossaryDeleteAjax(GlossaryVO glossaryVO) throws Exception{
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
glossaryVO.setLastUpdusrId(user.getUniqId());
if(user == null) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "다시 로그인 해주세요.");
return modelAndView;
}
try {
glossaryService.deleteGlossary(glossaryVO);
modelAndView.addObject("result", "SUCCESS");
modelAndView.addObject("message", "저장되었습니다.");
} catch (Exception e) {
modelAndView.addObject("result", "FAIL");
modelAndView.addObject("message", "저장에 실패했습니다.");
}
return modelAndView;
}
} }

View File

@ -77,6 +77,8 @@ import kcc.com.uss.ion.pwm.service.PopupManageVO;
import kcc.com.uss.ion.pwm.service.PopupzoneVO; import kcc.com.uss.ion.pwm.service.PopupzoneVO;
import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO; import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.glossary.service.GlossaryService;
import kcc.kccadr.glossary.service.GlossaryVO;
import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO; import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; import kcc.let.cop.bbs.service.EgovBBSAttributeManageService;
@ -180,6 +182,9 @@ public class MainController {
@Resource(name="EgovFileMngUtil") @Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil; private EgovFileMngUtil fileUtil;
@Resource(name = "GlossaryService")
private GlossaryService glossaryService;
@Value("#{globalSettings['Globals.email.host']}") @Value("#{globalSettings['Globals.email.host']}")
private String Globals_email_host; private String Globals_email_host;
@Value("#{globalSettings['Globals.email.port']}") @Value("#{globalSettings['Globals.email.port']}")
@ -1954,10 +1959,29 @@ public class MainController {
//용어해설 팝업 //용어해설 팝업
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPop.do") @RequestMapping(value = "/web/com/popup/quickWrapGlossaryPop.do")
public String quickWrapGlossaryPop(@ModelAttribute("adjstIncidentVO") AdjstIncidentVO adjstIncidentVO, ModelMap model) throws Exception { public String quickWrapGlossaryPop(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
return "web/com/pop/quickWrapGlossaryPop"; return "web/com/pop/quickWrapGlossaryPop";
} }
//용어해설 팝업 상세
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetail.do")
public String quickWrapGlossaryPopDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
model.addAttribute("list", glossaryService.selectGlossaryListForWeb(glossaryVO));
return "web/com/pop/quickWrapGlossaryPopDetail";
}
//용어해설 팝업 상세
@RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetailCn.do")
public String quickWrapGlossaryPopDetailCn(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception {
model.addAttribute("glossaryVO", glossaryService.selectGlossaryDetail(glossaryVO));
return "web/com/pop/quickWrapGlossaryPopDetailCn";
}
// 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환) // 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환)
private BodyPart getFileAttachment(String realFile, String filename) throws MessagingException { private BodyPart getFileAttachment(String realFile, String filename) throws MessagingException {
// BodyPart 생성 // BodyPart 생성

View File

@ -2,15 +2,18 @@
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Glossary"> <sqlMap namespace="Glossary">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="GlossaryVO" type="kcc.kccadr.Glossary.service.GlossaryVO"/> <typeAlias alias="GlossaryVO" type="kcc.kccadr.glossary.service.GlossaryVO"/>
<select id="" parameterClass="GlossaryVO" resultClass="GlossaryVO"> <select id="glossaryDAO.selectGlossaryList" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT a.glssr_seq AS glssrSeq, SELECT COUNT(1) over() AS cnt,
a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject, a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn, a.glssr_cn AS glssrCn,
a.frst_register_id AS frstRegisterId, a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %T') AS frstRegistPnttm DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %H:%i') AS frstRegistPnttm
FROM adr_glossary a FROM adr_glossary a
LEFT JOIN comvnusermaster b
ON a.frst_register_id = b.esntl_id
WHERE 1 = 1 WHERE 1 = 1
AND a.use_yn = 'Y' AND a.use_yn = 'Y'
<isNotEmpty property="searchKeyword"> <isNotEmpty property="searchKeyword">
@ -21,7 +24,7 @@
ORDER BY A.FRST_REGIST_PNTTM DESC LIMIT #recordCountPerPage# OFFSET #firstIndex# ORDER BY A.FRST_REGIST_PNTTM DESC LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select> </select>
<select id="" parameterClass="GlossaryVO" resultClass="GlossaryVO"> <select id="glossaryDAO.selectGlossaryDetail" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT a.glssr_seq AS glssrSeq, SELECT a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject, a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn, a.glssr_cn AS glssrCn,
@ -33,7 +36,7 @@
AND a.glssr_seq = #glssrSeq# AND a.glssr_seq = #glssrSeq#
</select> </select>
<insert id="glossaryDAO.insertGlossary" parameterClass="GlossaryVO"> <update id="glossaryDAO.insertGlossary" parameterClass="GlossaryVO">
INSERT INSERT
INTO adr_glossary INTO adr_glossary
( (
@ -41,8 +44,7 @@
glssr_subject, glssr_subject,
glssr_cn, glssr_cn,
frst_register_id, frst_register_id,
frst_regist_pnttm, frst_regist_pnttm
use_yn
) )
VALUES VALUES
( (
@ -50,26 +52,144 @@
#glssrSubject#, #glssrSubject#,
#glssrCn#, #glssrCn#,
#frstRegisterId#, #frstRegisterId#,
now(), now()
#useYn#
) )
</insert> </update>
<update id="" parameterClass="GlossaryVO"> <update id="glossaryDAO.updateGlossaryModify" parameterClass="GlossaryVO">
UPDATE adr_glossary UPDATE adr_glossary
SET glssr_subject = '', SET glssr_subject = #glssrSubject#,
glssr_cn = '', glssr_cn = #glssrCn#,
last_updusr_id = '', last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = now() last_updt_pnttm = now()
WHERE glssr_seq = #glssrSeq# WHERE glssr_seq = #glssrSeq#
</update> </update>
<update id="" parameterClass="GlossaryVO"> <update id="glossaryDAO.deleteGlossary" parameterClass="GlossaryVO">
UPDATE adr_glossary UPDATE adr_glossary
SET last_updusr_id = '', SET last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = now(), last_updt_pnttm = now(),
use_yn = 'N' use_yn = 'N'
WHERE glssr_seq = #glssrSeq# WHERE glssr_seq = #glssrSeq#
</update> </update>
<select id="glossaryDAO.selectGlossaryListForWeb" parameterClass="GlossaryVO" resultClass="GlossaryVO">
SELECT COUNT(1) over() AS cnt,
a.glssr_seq AS glssrSeq,
a.glssr_subject AS glssrSubject,
a.glssr_cn AS glssrCn,
b.searchKeyword AS searchKeyword
FROM adr_glossary a
<![CDATA[
LEFT JOIN
(SELECT tt1.glssr_seq,
CASE
WHEN
(
tt2.subject >= '가'
AND tt2.subject < '나'
)
THEN '가'
WHEN
(
tt2.subject >= '나'
AND tt2.subject < '다'
)
THEN '나'
WHEN
(
tt2.subject >= '다'
AND tt2.subject < '라'
)
THEN '다'
WHEN
(
tt2.subject >= '라'
AND tt2.subject < '마'
)
THEN '라'
WHEN
(
tt2.subject >= '마'
AND tt2.subject < '바'
)
THEN '마'
WHEN
(
tt2.subject >= '바'
AND tt2.subject < '사'
)
THEN '바'
WHEN
(
tt2.subject >= '사'
AND tt2.subject < '아'
)
THEN '사'
WHEN
(
tt2.subject >= '아'
AND tt2.subject < '자'
)
THEN '아'
WHEN
(
tt2.subject >= '자'
AND tt2.subject < '차'
)
THEN '자'
WHEN
(
tt2.subject >= '차'
AND tt2.subject < '카'
)
THEN '차'
WHEN
(
tt2.subject >= '카'
AND tt2.subject < '타'
)
THEN '카'
WHEN
(
tt2.subject >= '타'
AND tt2.subject < '파'
)
THEN '타'
WHEN
(
tt2.subject >= '파'
AND tt2.subject < '하'
)
THEN '파'
WHEN
(
tt2.subject >= '하'
AND tt2.subject < '힣'
)
THEN '하'
ELSE '기타'
END searchKeyword
FROM adr_glossary tt1
LEFT JOIN
(SELECT t1.glssr_seq,
SUBSTRING(t1.glssr_subject, 0, 1) AS subject
FROM adr_glossary t1
)
tt2
ON tt1.glssr_seq = tt2.glssr_seq
)
b
ON a.glssr_seq = b.glssr_seq
]]>
WHERE 1 = 1
AND a.use_yn = 'Y'
<isNotEmpty property="searchKeyword">
<isNotEqual prepend="AND" property="searchKeyword" compareValue="전체">
b.searchKeyword = #searchKeyword#
</isNotEqual>
</isNotEmpty>
ORDER BY A.GLSSR_SUBJECT ASC
</select>
</sqlMap> </sqlMap>

View File

@ -66,7 +66,7 @@
<pattern>/web/kccadr/adjPgrMgr/cclt/membDeptDetailPop.do</pattern><!-- 팝업 적용안함 --> <pattern>/web/kccadr/adjPgrMgr/cclt/membDeptDetailPop.do</pattern><!-- 팝업 적용안함 -->
<pattern>*/web/kccadr/pdf/pdfview.do*</pattern> <pattern>*/web/kccadr/pdf/pdfview.do*</pattern>
<pattern>/web/com/popup/quickWrapGlossaryPop.do*</pattern> <pattern>/web/com/popup/quickWrapGlossaryPop*.do*</pattern>
</excludes> </excludes>

View File

@ -14,12 +14,7 @@
<script type="text/javascript"> <script type="text/javascript">
function fnListPage(){ function fnModify(){
document.glossaryVO.action = "<c:url value='/kccadr/glossary/glossaryList.do'/>";
document.glossaryVO.submit();
}
function fnSave(){
var data = new FormData(document.glossaryVO); var data = new FormData(document.glossaryVO);
$.ajax({ $.ajax({
@ -35,6 +30,7 @@
console.log(returnData.result); console.log(returnData.result);
if(returnData.result == 'SUCCESS'){ if(returnData.result == 'SUCCESS'){
alert("저장되었습니다."); alert("저장되었습니다.");
location.reload();
}else{ }else{
alert(returnData.message); alert(returnData.message);
} }
@ -63,7 +59,7 @@
console.log(returnData.result); console.log(returnData.result);
if(returnData.result == 'SUCCESS'){ if(returnData.result == 'SUCCESS'){
alert("삭제되었습니다."); alert("삭제되었습니다.");
fnListPage(); goList();
}else{ }else{
alert(returnData.message); alert(returnData.message);
} }
@ -86,11 +82,11 @@
<form id="glossaryVO" name="glossaryVO" method="post"> <form id="glossaryVO" name="glossaryVO" method="post">
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}"/> <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/>
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}"/> <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/>
<input type="hidden" id="glssrSeq" name="glssrSeq" value=""/> <input type="hidden" id="glssrSeq" name="glssrSeq" value="<c:out value='${glossaryVO.glssrSeq}'/>"/>
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
@ -120,9 +116,8 @@
<tbody> <tbody>
<tr> <tr>
<th><span class="reqArea"> <th class="req_text">
<span class="reqArea">용어명</span> <p>용어명</p>
</span>
</th> </th>
<td colspan="3"> <td colspan="3">
<input type="text" id="glssrSubject" name="glssrSubject" value="<c:out value='${glossaryVO.glssrSubject}'/>" style="width:250px;"/> <input type="text" id="glssrSubject" name="glssrSubject" value="<c:out value='${glossaryVO.glssrSubject}'/>" style="width:250px;"/>
@ -147,7 +142,7 @@
</div> </div>
<div class="area_right"> <div class="area_right">
<button class="btnType03" onclick="goList(); return false;">목 록</button> <button class="btnType03" onclick="goList(); return false;">목 록</button>
<button class="btnType02" onclick="fnModifyPop(); return false;">수 정</button> <button class="btnType02" onclick="fnModify(); return false;">수 정</button>
<button class="btnType04" onclick="fnDelete(); return false;">삭 제</button> <button class="btnType04" onclick="fnDelete(); return false;">삭 제</button>
</div> </div>
</div> </div>

View File

@ -97,7 +97,6 @@ function goTextSenseDetail(glssrSeq){
<p class="tit_text">구분</p> <p class="tit_text">구분</p>
<select name="searchCondition" id="searchCondition"> <select name="searchCondition" id="searchCondition">
<option value="1" ${searchVO.searchCondition eq '1' ? 'selected' : '' }>용어명</option> <option value="1" ${searchVO.searchCondition eq '1' ? 'selected' : '' }>용어명</option>
<option value="2" ${searchVO.searchCondition eq '2' ? 'selected' : '' }>등록자</option>
</select> </select>
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>"> <input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>">
<button class="btn_search" onclick="fncGoList(); return false;">검색</button> <button class="btn_search" onclick="fncGoList(); return false;">검색</button>
@ -114,14 +113,14 @@ function goTextSenseDetail(glssrSeq){
<colgroup> <colgroup>
<col style="width: 10%"> <col style="width: 10%">
<col style="width: auto"> <col style="width: auto">
<col style="width: 20%"> <%-- <col style="width: 20%"> --%>
<col style="width: 30%"> <col style="width: 30%">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th>번호<button class="sort btn_sort" id="sort_glssrSeq"></button></th> <th>번호<button class="sort btn_sort" id="sort_glssrSeq"></button></th>
<th>용어명<button type="button" class="sort sortBtn" id="sort_glssrSubject"></button></th> <th>용어명<button type="button" class="sort sortBtn" id="sort_glssrSubject"></button></th>
<th>등록자<button type="button" class="sort sortBtn" id="sort_frstRegisterId"></button></th> <!-- <th>등록자<button type="button" class="sort sortBtn" id="sort_frstRegisterId"></button></th> -->
<th>등록일자<button type="button" class="sort sortBtn" id="sort_frstRegistPnttm"></button></th> <th>등록일자<button type="button" class="sort sortBtn" id="sort_frstRegistPnttm"></button></th>
</tr> </tr>
</thead> </thead>
@ -139,9 +138,9 @@ function goTextSenseDetail(glssrSeq){
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;"> <td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;">
<c:out value="${list.glssrSubject}"/> <c:out value="${list.glssrSubject}"/>
</td> </td>
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;"> <%-- <td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;"> --%>
<c:out value="${list.frstRegisterId}"/> <%-- <c:out value="${list.frstRegisterId}"/> --%>
</td> <!-- </td> -->
<td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;"> <td onclick="javascript:goTextSenseDetail('<c:out value="${list.glssrSeq}"/>');" style="cursor:pointer;">
<c:out value="${list.frstRegistPnttm}"/> <c:out value="${list.frstRegistPnttm}"/>
</td> </td>

View File

@ -24,12 +24,12 @@ function validation(){
alert('용어설명을 입력해 주세요.'); alert('용어설명을 입력해 주세요.');
return false; return false;
} }
return true;
} }
function glossaryRegist() { function glossaryRegist() {
var form = document.regForm; var form = document.glossaryVO;
var data = new FormData(form); var data = new FormData(form);
var url = "<c:url value='/kccadr/glossary/glossaryRegistAjax.do'/>"; var url = "<c:url value='/kccadr/glossary/glossaryRegistAjax.do'/>";

View File

@ -65,6 +65,7 @@ function validation(){
alert('작업명을 입력해 주세요.'); alert('작업명을 입력해 주세요.');
return false; return false;
} }
return true;
} }

View File

@ -8,12 +8,12 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko"> <html lang="ko">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>저작권 전자조정시스템 > 전자조정 신청 > 조정신청</title>
<title>저작권 용어해설</title>
<!-- css --> <!-- css -->
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css"> <link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
@ -27,26 +27,54 @@
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script> <script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/usr/script/common.js"></script> <script src="/kccadrPb/usr/script/common.js"></script>
<script src="/kccadrPb/usr/script/content.js"></script> <script src="/kccadrPb/usr/script/content.js"></script>
<script src="/kccadrPb/usr/script/popup.js?test=test"></script> <script src="/kccadrPb/usr/script/popup.js"></script>
<style>
.popup_wrap{display:block !important;}
</style>
</head>
<body>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
$(document).ready(function(){ $(document).ready(function(){
$(".tooltip-close").click(function(){ $(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="glossary_popup"]'); window.close();
activeTarget.hide();
$('[data-tooltip="glossary_popup"]').focus();
});
}); });
$('.popup_tab_wrap .tab_ul .tab_li, ul li').on('click',function(){
$(this).addClass('on').siblings().removeClass('on');
});
$("#tab_ul li > button").on("click", function(e) {
var searchKeyword = $(this).text();
tabPageLoad2(searchKeyword);
});
tabPageLoad2('전체');
});
function tabPageLoad2(searchKeyword) {
var url = '/web/com/popup/quickWrapGlossaryPopDetail.do';
$('#glssryDetail').load(url, {
"searchKeyword" : searchKeyword
}, function(res, status, xhr) {
console.log(status);
});
}
</script> </script>
</head>
<body>
<div class="mask"></div>
<!-- 저작권 용어사전 --> <!-- 저작권 용어사전 -->
<div class="tooltip-wrap"> <div class="tooltip-wrap">
<div class="popup_wrap glossary_popup" tabindex="0" data-tooltip-con="glossary_popup" data-focus="glossary_popup" data-focus-prev="glossary_popup_close"> <div class="popup_wrap glossary_popup">
<div class="popup_tit"> <div class="popup_tit">
<p>저작권 용어해설</p> <button class="btn_popup_close tooltip-close" data-focus="glossary_popup_close" title="팝업 닫기"><i></i></button> <p>저작권 용어해설</p>
</div> </div>
<div class="popup_cont"> <div class="popup_cont">
<div class="popup_search type02"> <div class="popup_search type02">
@ -55,8 +83,9 @@
<button type="button" class="btnTYpe01">조회</button> <button type="button" class="btnTYpe01">조회</button>
</div> </div>
<div class="popup_tab_wrap"> <div class="popup_tab_wrap">
<ul class="tab_ul"> <ul class="tab_ul" id="tab_ul">
<li class="tab_li on"><button type="button" class="tab">가</button></li> <li class="tab_li on"><button type="button" class="tab">전체</button></li>
<li class="tab_li"><button type="button" class="tab">가</button></li>
<li class="tab_li"><button type="button" class="tab">나</button></li> <li class="tab_li"><button type="button" class="tab">나</button></li>
<li class="tab_li"><button type="button" class="tab">다</button></li> <li class="tab_li"><button type="button" class="tab">다</button></li>
<li class="tab_li"><button type="button" class="tab">라</button></li> <li class="tab_li"><button type="button" class="tab">라</button></li>
@ -73,28 +102,7 @@
<li class="tab_li"><button type="button" class="tab">기타</button></li> <li class="tab_li"><button type="button" class="tab">기타</button></li>
</ul> </ul>
</div> </div>
<div class="popup_tab_content"> <div class="popup_tab_content" id="glssryDetail">
<div class="glossary_left_area">
<p class="result_text">전체 : <span class="t_bold">6,178</span>건</p>
<ul>
<li class="on"><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
<li><button type="button">조정절차</button></li>
</ul>
</div>
<div class="glossary_right_area">
<dl>
<dt>
<p>조정제도</p>
</dt>
<dd><p>저작권 분쟁 당사자의 조정 신청이 있는 경우 전문가로 구성된 조정부가 분쟁을 신속하고 공정하게 해결해 주는 제도로서, 판결을 대신하여 분쟁을 종국적으로 해결하는 대체적 분쟁해결제도(ADR, Alternative Dispute Resolution) 중 하나입니다. 한국저작권위원회는 1988년부터 조정업무를 수행하여 왔으며, 저작물 이용 등으로 발생하는 다양한 저작권 침해 관련 분쟁을 해결하고 있습니다. 2020.08.05.부터 시행된 개정 저작권법에 의하여 한국저작권위원회 조정부는 ①“조정부가 제시한 조정안을 어느 한쪽 당사자가 합리적인 이유 없이 거부한 경우” 또는 ② “분쟁조정 예정가액이 1천만원 미만인 경우”에 해당할 때, 직권으로 조정을 갈음하는 결정(직권조정결정)을 할 수 있습니다.</p></dd>
</dl>
</div>
</div> </div>
<div class="btn_wrap"> <div class="btn_wrap">
<button type="button" class="btnType03 tooltip-close">닫기</button> <button type="button" class="btnType03 tooltip-close">닫기</button>

View File

@ -0,0 +1,44 @@
<%@ 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"%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$('.glossary_left_area ul li').on('click',function(){
$(this).addClass('on').siblings().removeClass('on');
tabPageLoad3($(this).children('button').attr('value'));
});
// $("#tab_ul li > button").on("click", function(e) {
// var searchKeyword = $(this).text();
// tabPageLoad2(searchKeyword);
// });
tabPageLoad3('${list[0].glssrSeq}');
});
function tabPageLoad3(glssrSeq) {
var url = '/web/com/popup/quickWrapGlossaryPopDetailCn.do';
$('#glssryDetailCn').load(url, {
"glssrSeq" : glssrSeq
}, function(res, status, xhr) {
console.log(status);
});
}
</script>
<div class="glossary_left_area" >
<p class="result_text">전체 : <span class="t_bold"><c:out value="${list[0].cnt}"/></span>건</p>
<ul>
<c:forEach var="list" items="${list}" varStatus="status">
<li><button type="button" value="<c:out value='${list.glssrSeq}'/>"><c:out value="${list.glssrSubject}"/></button></li>
</c:forEach>
</ul>
</div>
<div class="glossary_right_area" id="glssryDetailCn">
</div>

View File

@ -0,0 +1,20 @@
<%@ 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"%>
<dl>
<dt>
<p>
<c:out value="${glossaryVO.glssrSubject}"/>
</p>
</dt>
<dd>
<p>
<c:out value="${glossaryVO.glssrCn}"/>
</p>
</dd>
</dl>

View File

@ -4,26 +4,27 @@
<script type="text/javascript"> <script type="text/javascript">
function glossaryPop() { function glossaryPop2() {
commonPopLayeropen( commonPopWindowopenForm(
"/web/com/popup/quickWrapGlossaryPop.do" "/web/com/popup/quickWrapGlossaryPop.do"
, 740 , "740"
, 713 , "713"
, {} // parameter , ""
, "Y" , $('#glossaryPop')
, "glossaryPop"
); );
} }
</script> </script>
<form id="glossaryPop" name="glossaryPop" method="post"></form>
<div class="quick_menu_wrap"> <div class="quick_menu_wrap">
<div class="quick_title"> <div class="quick_title">
<p>퀵메뉴</p> <p>퀵메뉴</p>
</div> </div>
<ul class="quick_ul"> <ul class="quick_ul">
<li class="quick_li"> <li class="quick_li">
<a href="#none" data-tooltip="glossary_popup" onclick="glossaryPop()" ><i class="icon_quickmenu_glossary"></i>용어해설</a> <a href="#none" onclick="glossaryPop2(); return false;" ><i class="icon_quickmenu_glossary"></i>용어해설</a>
</li> </li>
<li class="quick_li"> <li class="quick_li">
<a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000651"><i class="icon_quickmenu_adj_case"></i>조정사례</a> <a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000651"><i class="icon_quickmenu_adj_case"></i>조정사례</a>

View File

@ -111,16 +111,16 @@
.loading_info_popup .info_wrap p:last-child{margin-bottom: 0;} .loading_info_popup .info_wrap p:last-child{margin-bottom: 0;}
/* 저작권 용어사전 */ /* 저작권 용어사전 */
.glossary_popup{width:740px;} .glossary_popup{width:740px;height:700px;}
.glossary_popup .tab_li{width: calc((100% - 60px)/10);} .glossary_popup .tab_li{width: calc((100% - 60px)/10);}
.glossary_popup .popup_tab_content{display:flex;max-height:400px;justify-content:space-between;align-items:stretch;} .glossary_popup .popup_tab_content{display:flex;max-height:400px;height:100%;justify-content:space-between;align-items:stretch;}
.glossary_popup .glossary_left_area{width:150px;} .glossary_popup .glossary_left_area{width:150px;height:400px;}
.glossary_popup .glossary_left_area ul{max-height:372px;height:100%;border:2px solid #dbdcdd;margin:8px 0 0 0;padding:0 10px;border-radius:5px;box-sizing:border-box;overflow-y:auto;} .glossary_popup .glossary_left_area ul{max-height:372px;height:100%;border:2px solid #dbdcdd;margin:8px 0 0 0;padding:0 10px;border-radius:5px;box-sizing:border-box;overflow-y:auto;}
.glossary_popup .glossary_left_area ul button{position:relative;width:100%;height:40px;border-bottom:1px dashed #e5e5e5;text-align:left;font-size:15px;padding:0 0 0 10px;} .glossary_popup .glossary_left_area ul button{position:relative;width:100%;height:40px;border-bottom:1px dashed #e5e5e5;text-align:left;font-size:15px;padding:0 0 0 10px;}
.glossary_popup .glossary_left_area ul li:last-child button{border-bottom: 0;} .glossary_popup .glossary_left_area ul li:last-child button{border-bottom: 0;}
.glossary_popup .glossary_left_area ul .on button{color:#0352a9;font-weight:600;} .glossary_popup .glossary_left_area ul .on button{color:#0352a9;font-weight:600;}
.glossary_popup .glossary_left_area ul button::after{position:absolute;content:"";width:5px;height:5px;border-radius:100%;background-color:#0352a9;left:0;top:18px;} .glossary_popup .glossary_left_area ul button::after{position:absolute;content:"";width:5px;height:5px;border-radius:100%;background-color:#0352a9;left:0;top:18px;}
.glossary_popup .glossary_right_area{width:calc(100% - 170px);height:100%;max-height:400px;margin:25px 0 0 0;} .glossary_popup .glossary_right_area{width:calc(100% - 170px);height:100%;height:400px;margin:25px 0 0 0;}
.glossary_popup .glossary_right_area dl{height:365px;border-top:2px solid #000;border-bottom:1px solid #e5e5e5;} .glossary_popup .glossary_right_area dl{height:365px;border-top:2px solid #000;border-bottom:1px solid #e5e5e5;}
.glossary_popup .glossary_right_area dl dt{display:flex;height:45px;padding:0 20px;background-color:#f3f3f3;font-size:18px;font-weight:500;align-items:center;line-height:1.4;} .glossary_popup .glossary_right_area dl dt{display:flex;height:45px;padding:0 20px;background-color:#f3f3f3;font-size:18px;font-weight:500;align-items:center;line-height:1.4;}
.glossary_popup .glossary_right_area dl dt p{position:relative;} .glossary_popup .glossary_right_area dl dt p{position:relative;}