Merge branch 'hylee'
This commit is contained in:
commit
dc3b7be6bc
@ -1,6 +1,8 @@
|
||||
package kcc.kccadr.accdnt.ars.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -28,6 +30,8 @@ import kcc.kccadr.accdnt.ai.service.AdjstIncidentService;
|
||||
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
|
||||
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService;
|
||||
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
|
||||
import kcc.kccadr.adjPgrMgr.exmp.app.service.ExmpAppManageService;
|
||||
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
|
||||
import kcc.kccadr.adjclsmgr.service.AdjClsMgrService;
|
||||
import kcc.kccadr.adjclsmgr.service.AdjClsMgrVO;
|
||||
import kcc.kccadr.advc.service.AdrHstryMgrService;
|
||||
@ -83,6 +87,8 @@ public class AdjstReqStatusController {
|
||||
@Resource(name = "adjClsMgrService")
|
||||
private AdjClsMgrService adjClsMgrService;
|
||||
|
||||
@Resource(name = "ExmpAppManageService")
|
||||
private ExmpAppManageService exmpAppManageService;
|
||||
/**
|
||||
* 조정진행 상태 및 관리 목록 화면
|
||||
*/
|
||||
@ -248,6 +254,21 @@ public class AdjstReqStatusController {
|
||||
model.addAttribute("reqInfo" , reqPeson);
|
||||
model.addAttribute("agenInfo" , agenPerson);
|
||||
model.addAttribute("resInfo" , resInfo);
|
||||
ExmpManageVO exmpManageVO = new ExmpManageVO();
|
||||
exmpManageVO.setExmpCd("05");
|
||||
|
||||
/*
|
||||
* 20221013 - 이호영
|
||||
* 도움말 select
|
||||
* */
|
||||
List<ExmpManageVO> exmpManageListVO = exmpAppManageService.selectExmpAppManagerList(exmpManageVO);
|
||||
|
||||
HashMap<String, String> helpMap = (HashMap<String, String>) exmpManageListVO.stream().collect(
|
||||
Collectors.toMap(ExmpManageVO::getExmpCcTy, ExmpManageVO::getExmpCn));
|
||||
|
||||
model.addAttribute("helpMap" , helpMap);
|
||||
|
||||
// --//도움말 select
|
||||
|
||||
|
||||
//이력값 - 시작
|
||||
|
||||
@ -146,6 +146,7 @@ public class ExmpAppManagerController {
|
||||
|
||||
@RequestMapping(value = {"/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> exmpAppManagerCheck(HttpServletRequest request , @RequestBody ExmpManageVO exmpManageVO) throws Exception {
|
||||
System.out.println("exmpManageVO.getExmpCcTy() :: "+ exmpManageVO.getExmpCcTy());
|
||||
return ResponseEntity.ok().body(exmpAppManageService.existsExmpManagerDataCheck(exmpManageVO));
|
||||
}
|
||||
|
||||
|
||||
@ -65,6 +65,7 @@
|
||||
SET
|
||||
EXMP_TIT = #exmpTit#
|
||||
, EXMP_CN = #exmpCn#
|
||||
, EXMP_CC_TY = #exmpCcTy#
|
||||
, ATCH_FILE_ID = #atchFileId#
|
||||
, LAST_UPDT_PNTTM = NOW()
|
||||
, LAST_UPDUSR_ID = #lastUpdusrId#
|
||||
|
||||
@ -37,35 +37,36 @@ $(document).ready( function() {
|
||||
});
|
||||
|
||||
|
||||
function dataChk(data){
|
||||
var flag = false;
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
console.log(returnData);
|
||||
flag = true;
|
||||
},
|
||||
error:function(request , status, error){
|
||||
console.log('request : ', request);
|
||||
console.log('status : ', status);
|
||||
console.log('error : ', error);
|
||||
}
|
||||
});
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
function saveProcess(){
|
||||
function fncSave(){
|
||||
if(!validation()){
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log($("#exmpCcTy option:selected").val());
|
||||
console.log($("#exmpCcTy").val() == '');
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/kccadr/adjPgrMgr/exmp/existsExmpManagerDataCheck.do",
|
||||
data: JSON.stringify({exmpCcTy : $("#exmpCcTy").val()
|
||||
,exmpCd : $('#exmpCd').val()}),
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: "application/json",
|
||||
cache: false,
|
||||
success: function (returnData) {
|
||||
if(returnData.status == "OK"){
|
||||
saveProcess();
|
||||
}else{
|
||||
alert(returnData.data);
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
|
||||
function saveProcess(){
|
||||
if(confirm("해당내용을 저장 하시겠습니까?")){
|
||||
|
||||
|
||||
@ -74,10 +75,6 @@ function saveProcess(){
|
||||
if (obj) data.append("file"+idx, obj.fileObj);
|
||||
});
|
||||
|
||||
console.log('dataChk() : ', dataChk(data));
|
||||
|
||||
|
||||
/*
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "/kccadr/adjPgrMgr/exmp/insertExmpAppManager.do",
|
||||
@ -89,7 +86,8 @@ function saveProcess(){
|
||||
cache: false,
|
||||
success:function(returnData){
|
||||
alert(returnData.data);
|
||||
if(data.status == "OK"){
|
||||
console.log(returnData);
|
||||
if(returnData.status == "OK"){
|
||||
fncGoList();
|
||||
}
|
||||
},
|
||||
@ -98,7 +96,7 @@ function saveProcess(){
|
||||
console.log('status : ', status);
|
||||
console.log('error : ', error);
|
||||
}
|
||||
}); */
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
@ -113,10 +111,10 @@ function validation(){
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
// if($("#exmpCcTy").val() == ''){
|
||||
// alert("적용할 진행상태를 선택해주세요.");
|
||||
// return flag = false;
|
||||
// }
|
||||
if($("#exmpCcTy").val() == ''){
|
||||
alert("적용할 진행상태를 선택해주세요.");
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
var cn = $('#exmpCn').val();
|
||||
|
||||
@ -156,8 +154,7 @@ function fncGoList(){
|
||||
<input type="hidden" name="searchCondition" value="<c:out value='${exmpManageVO.searchCondition}'/>"/>
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}'/>"/>
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
|
||||
<input type="hidden" name="exmpCd" value="<c:out value="${exmpManageVO.exmpCd}" />" />
|
||||
<input type="hidden" name="exmpCcTy" id="exmpCcTy" value="" />
|
||||
<input type="hidden" name="exmpCd" id="exmpCd" value="<c:out value="${exmpManageVO.exmpCd}" />" />
|
||||
<!-- <input type="hidden" name="exmpTit" value="답변서예문" /> -->
|
||||
|
||||
<!-- <input type="hidden" name="allrowFileExtsn" value="JPG,GIF,PNG,BMP" /> --><!-- 허용 확장자 -->
|
||||
@ -194,14 +191,7 @@ function fncGoList(){
|
||||
</td>
|
||||
<th>적용할 진행상태</th>
|
||||
<td>
|
||||
<select name="exmpCcTy" id="exmpCcTy" class="">
|
||||
<option value="">선택</option>
|
||||
<option value="01">STEP.01 접수</option>
|
||||
<option value="02">STEP.02 기일지정</option>
|
||||
<option value="03">STEP.03 기일개최</option>
|
||||
<option value="04">STEP.04 조정중</option>
|
||||
<option value="05">STEP.05 종료</option>
|
||||
</select>
|
||||
<kc:select codeId="CC025" name="exmpCcTy" id="exmpCcTy" defaultText="선택" defaultValue="" selectedValue="${mgrInfo.exmpCcTy}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -309,7 +299,7 @@ function fncGoList(){
|
||||
<div class="area_left">
|
||||
</div>
|
||||
<div class="area_right">
|
||||
<button class="btnType06" onclick="saveProcess(); return false;">저장</button>
|
||||
<button class="btnType06" onclick="fncSave(); return false;">저장</button>
|
||||
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -76,7 +76,7 @@
|
||||
<colgroup>
|
||||
<col style="width: 150px">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 150px">
|
||||
<col style="width: 200px">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
@ -86,6 +86,10 @@
|
||||
<td>
|
||||
<c:out value='${mgrInfo.exmpTit}' />
|
||||
</td>
|
||||
<th>진행상태</th>
|
||||
<td>
|
||||
<kc:code codeId="CC025" code="${mgrInfo.exmpCcTy}"/>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${not empty fileList }">
|
||||
<tr>
|
||||
@ -105,21 +109,16 @@
|
||||
</div>
|
||||
<!-- //list_상세 -->
|
||||
<div class="tb_tit">
|
||||
<p>의견</p>
|
||||
<%--<div class="btn_wrap">
|
||||
<button type="button" class="btn_plus" onclick="fncRowAdd(); return false;"><i></i></button>
|
||||
<button type="button" class="btn_minus" onclick="fncRowDel(); return false;"><i></i></button>
|
||||
</div>--%>
|
||||
<p>도움말</p>
|
||||
</div>
|
||||
<div class="list tbType01 addTb">
|
||||
<table>
|
||||
<colgroup>
|
||||
<%-- <col style="width: 20%"> --%>
|
||||
<col style="width: auto">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>예문내용</th>
|
||||
<th>내용</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@ -36,36 +36,8 @@
|
||||
});
|
||||
});
|
||||
|
||||
function fncRowAdd(){
|
||||
// 등록가능한 갯수
|
||||
var len = $("select[name*=exmpCd]:first option").length;
|
||||
var rowLen = $(".addTb > table > tbody > tr").length;
|
||||
var obj = $(".addTb > table > tbody > tr:last");
|
||||
var cloneObj = obj.clone(true);
|
||||
if(len == 0 || rowLen >= (len-1)){
|
||||
alert("등록가능한 항목은 갯수는 " + (len-1) + "개 입니다.");
|
||||
return false;
|
||||
}
|
||||
var exmpCd = cloneObj.find("select[name*=exmpCd]");
|
||||
var exmpCn = cloneObj.find("textarea[name*=exmpCn]");
|
||||
exmpCd.val("");
|
||||
exmpCn.val("");
|
||||
exmpCd.attr("name", exmpCd.attr("name").replace(/[0-9]/gi, rowLen));
|
||||
exmpCn.attr("name", exmpCn.attr("name").replace(/[0-9]/gi, rowLen));
|
||||
obj.after(cloneObj);
|
||||
}
|
||||
|
||||
function fncRowDel(){
|
||||
var rowLen = $(".addTb > table > tbody > tr").length;
|
||||
if(rowLen == 1){
|
||||
alert("더이상 삭제할 수 없습니다.");
|
||||
return false;
|
||||
}
|
||||
$(".addTb > table > tbody > tr:last").remove();
|
||||
}
|
||||
|
||||
|
||||
function fn_modifyBtn(){
|
||||
function fncSave(){
|
||||
if(!validation()){
|
||||
return false;
|
||||
}
|
||||
@ -86,7 +58,7 @@
|
||||
success:function(returnData){
|
||||
console.log('returnData : ', returnData);
|
||||
if(returnData.result == "SUCCESS"){
|
||||
alert("정상적으로 등록되었습니다.");
|
||||
alert("정상적으로 수정되었습니다.");
|
||||
fncDetail();
|
||||
}
|
||||
},
|
||||
@ -100,51 +72,34 @@
|
||||
|
||||
|
||||
function validation(){
|
||||
var obj = $(".addTb > table > tbody > tr");
|
||||
var flag = true;
|
||||
|
||||
if($("#exmpTit").val() == ''){
|
||||
alert("제목을 입력해주세요.");
|
||||
$("#exmpTit").focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
var validArr = [];
|
||||
$.each(obj , function(idx, elm){
|
||||
var cd = $(this).find("select[name*=exmpCd]").val();
|
||||
var cn = $(this).find("textarea[name*=exmpCn]").val();
|
||||
validArr[idx] = cd;
|
||||
|
||||
var textLen = conByteLeng(cn); //예문 입력 내용 Byte 계산 처리
|
||||
|
||||
if(cd == ''){
|
||||
alert("항목을 선택해주세요.["+(idx+1)+"]");
|
||||
return flag = false;
|
||||
}
|
||||
if($("#exmpCcTy").val() == ''){
|
||||
alert("적용할 진행상태를 선택해주세요.");
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if(cn == ''){
|
||||
alert("예문내용을 입력해주세요.["+(idx+1)+"]");
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if(Number(textLen) > 2000){
|
||||
|
||||
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
|
||||
return flag = false;
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
var checkObj = validArr.reduce((accu, curr) => {
|
||||
accu[curr] = (accu[curr] || 0)+1;
|
||||
return accu;
|
||||
}, {});
|
||||
var cn = $('#exmpCn').val();
|
||||
|
||||
$.each(checkObj, function(key, value){
|
||||
if(parseInt(value) > 1){
|
||||
alert("동일한 항목을 중복으로 등록하실 수 없습니다.");
|
||||
return flag = false;
|
||||
}
|
||||
});
|
||||
if(cn == ''){
|
||||
alert("예문내용을 입력해주세요.");
|
||||
return flag = false;
|
||||
}
|
||||
var textLen = conByteLeng(cn);
|
||||
|
||||
if(Number(textLen) > 2000){
|
||||
|
||||
alert("예문 내용의 길이는 2000자를 넘을 수 없습니다.");
|
||||
return flag = false;
|
||||
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@ -174,7 +129,7 @@
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}'/>"/>
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${exmpManageVO.searchSortOrd}" />"/>
|
||||
<input type="hidden" name="exmpMgrId" value="<c:out value='${mgrInfo.exmpMgrId}' />">
|
||||
<input type="hidden" name="exmpCd" value="<c:out value="${exmpManageVO.exmpCd}" />" />
|
||||
<input type="hidden" name="exmpCd" id="exmpCd" value="<c:out value="${exmpManageVO.exmpCd}" />" />
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
@ -197,7 +152,7 @@
|
||||
<colgroup>
|
||||
<col style="width: 150px">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 150px">
|
||||
<col style="width: 200px">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
|
||||
@ -207,6 +162,11 @@
|
||||
<td>
|
||||
<input type="text" placeholder="제목을 입력해주세요." name="exmpTit" id="exmpTit" value="<c:out value='${mgrInfo.exmpTit}' />">
|
||||
</td>
|
||||
<th>적용할 진행상태</th>
|
||||
<td>
|
||||
<kc:code codeId="CC025" code="${mgrInfo.exmpCcTy}"/>
|
||||
<input type="hidden" name="exmpCcTy" value="<c:out value='${mgrInfo.exmpCcTy}'/>"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="">첨부파일</span></th>
|
||||
@ -299,7 +259,7 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: left; line-height: 30px; padding: 10px;">
|
||||
<textarea name="exmpCn" placeholder="예문을 입력해주세요." style="resize: none; height: 250px; width:96%; margin: 10px 0;"><c:out value='${mgrInfo.exmpCn}' /></textarea>
|
||||
<textarea name="exmpCn" id="exmpCn" placeholder="예문을 입력해주세요." style="resize: none; height: 250px; width:96%; margin: 10px 0;"><c:out value='${mgrInfo.exmpCn}' /></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -310,7 +270,7 @@
|
||||
<div class="area_left">
|
||||
</div>
|
||||
<div class="area_right">
|
||||
<button class="btnType06" onclick="fn_modifyBtn(); return false;">수정</button>
|
||||
<button class="btnType06" onclick="fncSave(); return false;">수정</button>
|
||||
<button class="btnType03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -255,7 +255,7 @@ resInfo--%>
|
||||
</p>
|
||||
<i class="next">다음</i>
|
||||
<div class="hover_content_box">
|
||||
조정 진행과정 중 하나의 절차로써, 사건 당사자들의 합의를 위해 한국저작권위원회가 중재하는 자리로 조정위원, 사건당사자, 그 밖의 사건관계인이 출석 하는 날을 말합니다.
|
||||
<c:out value="${helpMap['01'] }" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="step step02 <c:out value="${statusActive eq '2' ? 'active' : ''}" /> hover_content_wrap">
|
||||
@ -266,7 +266,7 @@ resInfo--%>
|
||||
</p>
|
||||
<i class="next">다음</i>
|
||||
<div class="hover_content_box">
|
||||
조정 진행과정 중 하나의 절차로써, 사건 당사자들의 합의를 위해 한국저작권위원회가 중재하는 자리로 조정위원, 사건당사자, 그 밖의 사건관계인이 출석 하는 날을 말합니다.
|
||||
<c:out value="${helpMap['02'] }" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="step step03 <c:out value="${statusActive eq '3' ? 'active' : ''}" /> hover_content_wrap">
|
||||
@ -277,7 +277,7 @@ resInfo--%>
|
||||
</p>
|
||||
<i class="next">다음</i>
|
||||
<div class="hover_content_box">
|
||||
조정 진행과정 중 하나의 절차로써, 사건 당사자들의 합의를 위해 한국저작권위원회가 중재하는 자리로 조정위원, 사건당사자, 그 밖의 사건관계인이 출석 하는 날을 말합니다.
|
||||
<c:out value="${helpMap['03'] }" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="step step04 <c:out value="${statusActive eq '4' ? 'active' : ''}" /> hover_content_wrap">
|
||||
@ -288,7 +288,7 @@ resInfo--%>
|
||||
</p>
|
||||
<i class="next">다음</i>
|
||||
<div class="hover_content_box">
|
||||
조정 진행과정 중 하나의 절차로써, 사건 당사자들의 합의를 위해 한국저작권위원회가 중재하는 자리로 조정위원, 사건당사자, 그 밖의 사건관계인이 출석 하는 날을 말합니다.
|
||||
<c:out value="${helpMap['04'] }" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="step step05 <c:out value="${statusActive eq '5' ? 'active' : ''}" /> hover_content_wrap">
|
||||
@ -298,7 +298,7 @@ resInfo--%>
|
||||
<span>종료</span>
|
||||
</p>
|
||||
<div class="hover_content_box">
|
||||
조정 진행과정 중 하나의 절차로써, 사건 당사자들의 합의를 위해 한국저작권위원회가 중재하는 자리로 조정위원, 사건당사자, 그 밖의 사건관계인이 출석 하는 날을 말합니다.
|
||||
<c:out value="${helpMap['05'] }" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user