Merge branch 'hylee'

This commit is contained in:
hylee 2022-10-13 15:41:37 +09:00
commit dc3b7be6bc
7 changed files with 102 additions and 130 deletions

View File

@ -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
//이력값 - 시작

View File

@ -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));
}

View File

@ -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#

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>