feat:의견 등록 - 기일조서, 조정권고안, 조정조서, 직권조정결정서 완료

This commit is contained in:
hylee 2022-10-19 10:03:01 +09:00
parent f65ca13a3e
commit 98ca10151e
20 changed files with 740 additions and 532 deletions

View File

@ -17,7 +17,7 @@ public class CmntVO implements Serializable {
private String lastUpdtPnttm;/* 수정일시 */
private String lastUpdtDay; /* 최종변경일 */
private String lastUpdusrId; /* 수정자 */
private String deleteYn; /* 삭제여부 */
private String useYn; /* 삭제여부 */
private String closeDocTy; // 종결문서구분 40 조정조서, 50 취하종결통보서, 60 직권조정결정서, 30 조정권고안, 70 불성립종결통보서
public String getCloseDocTy() {
@ -104,12 +104,12 @@ public class CmntVO implements Serializable {
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getDeleteYn() {
return deleteYn;
}
public void setDeleteYn(String deleteYn) {
this.deleteYn = deleteYn;
}
public String getUseYn() {
return useYn;
}
public void setUseYn(String useYn) {
this.useYn = useYn;
}

View File

@ -26,5 +26,7 @@ public interface ExmpAppManageService {
RestResponse existsExmpManagerDataCheck(ExmpManageVO exmpManageVO);
void adjstOpinionDelect(ExmpManageVO exmpManageVO);
}

View File

@ -63,5 +63,9 @@ public class ExmpAppManageDAO extends EgovAbstractDAO {
return (int) select("ExmpAppManageDAO.existsExmpManagerDataCheck", exmpManageVO);
}
public void adjstOpinionDelect(ExmpManageVO exmpManageVO) {
update("ExmpAppManageDAO.adjstOpinionDelect", exmpManageVO);
}
}

View File

@ -84,6 +84,7 @@ public class ExmpAppManageServiceImpl implements ExmpAppManageService {
try {
exmpManageVO.setExmpMgrId(idgenExmpMrgService.getNextStringId());
exmpManageVO.setUseYn("Y");
exmpAppManageDAO.insertExmpAppManager(exmpManageVO);
// for(ExmpManageVO model : exmpManageVO.getExmpList()){
// model.setExmpMgrId(exmpManageVO.getExmpMgrId());
@ -124,4 +125,9 @@ public class ExmpAppManageServiceImpl implements ExmpAppManageService {
}
@Override
public void adjstOpinionDelect(ExmpManageVO exmpManageVO) {
exmpAppManageDAO.adjstOpinionDelect(exmpManageVO);
}
}

View File

@ -67,6 +67,8 @@ public class ExmpManageVO extends ConciliatorManageVO {
private String exmpCn;
private String atchFileId;
private String useYn;
public List<ExmpManageVO> getExmpList() {
return exmpList;
@ -156,6 +158,14 @@ public class ExmpManageVO extends ConciliatorManageVO {
this.atchFileId = atchFileId;
}
public String getUseYn() {
return useYn;
}
public void setUseYn(String useYn) {
this.useYn = useYn;
}

View File

@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
@ -55,6 +56,19 @@ public class AdjstOpinionController {
// return ResponseEntity.ok().body(adjstOpinionService.adjstFindByOpinion(adjstOpinionVO));
// }
@RequestMapping("/web/kccadr/adjcclt/ai/adjstOpinionDelect.do")
public String adjstOpinionDelect(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO, RedirectAttributes re) throws Exception
{
exmpAppManageService.adjstOpinionDelect(exmpManageVO);
re.addAttribute("searchCondition", exmpManageVO.getSearchCondition());
re.addAttribute("searchKeyword", exmpManageVO.getSearchKeyword());
re.addAttribute("pageIndex", exmpManageVO.getPageIndex());
return "redirect:/web/kccadr/adjcclt/ai/adjstOpinionList.do";
}
@RequestMapping("/web/kccadr/adjcclt/ai/adjstOpinionList.do")
public String adjstOpinionList(@ModelAttribute("exmpManageVO") ExmpManageVO exmpManageVO, ModelMap model) throws Exception
{
@ -70,8 +84,6 @@ public class AdjstOpinionController {
// exmpManageVO.setSearchSortCnd("T1.Exmp_CC_TY");
// exmpManageVO.setSearchSortOrd("asc");
}
System.out.println("exmpManageVO.getSearchCondition() :: "+exmpManageVO.getSearchCondition());
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(exmpManageVO.getPageIndex());

View File

@ -73,4 +73,6 @@ public interface AdjstConciliatorService {
void insertEndAdrPdfConversionReq(AdjstConciliatorVO adjstConciliatorVO) throws Exception;
void updateAdjstRecommendationCommentDelete(AdjstConciliatorVO adjstConciliatorVO);
}

View File

@ -151,5 +151,9 @@ public class AdjstConciliatorDAO extends EgovAbstractDAO {
public void insertEndAdrPdfConversionReq(AdjstConciliatorVO adjstConciliatorVO) throws Exception {
insert("adjstConciliatorDAO.insertEndAdrPdfConversionReq", adjstConciliatorVO);
}
public void updateAdjstRecommendationCommentDelete(AdjstConciliatorVO adjstConciliatorVO) {
update("adjstConciliatorDAO.updateAdjstRecommendationCommentDelete", adjstConciliatorVO);
}
}

View File

@ -223,11 +223,17 @@ public class AdjstConciliatorServiceImpl implements AdjstConciliatorService {
exmpManageVO.setExmpCcTy(adjstConciliatorVO.getCmntTy());
exmpManageVO.setExmpCn(adjstConciliatorVO.getCmntCn());
exmpManageVO.setFrstRegisterId(adjstConciliatorVO.getFrstRegisterId());
exmpManageVO.setUseYn("Y");
exmpAppManageDAO.insertExmpAppManager(exmpManageVO);
}
}
@Override
public void updateAdjstRecommendationCommentDelete(AdjstConciliatorVO adjstConciliatorVO) {
adjstConciliatorDAO.updateAdjstRecommendationCommentDelete(adjstConciliatorVO);
}
}

View File

@ -738,7 +738,7 @@
, A.FRST_REGISTER_ID AS frstRegisterId /* 등록자" */
, A.LAST_UPDT_PNTTM AS lastUpdtPnttm /* 수정일시" */
, A.LAST_UPDUSR_ID AS lastUpdusrId /* 수정자" */
, A.DELETE_YN AS deleteYn /* 삭제여부" */
, A.USE_YN AS useYn /* 사용여부" */
, M.MEM_NAME AS memName /* 조정위원명" */
FROM ADR_MEM_CMNT A
LEFT JOIN ADR_MEM_MGR M ON A.MEM_SEQ = M.MEM_SEQ
@ -761,7 +761,7 @@
, A.FRST_REGISTER_ID AS frstRegisterId /* 등록자" */
, A.LAST_UPDT_PNTTM AS lastUpdtPnttm /* 수정일시" */
, A.LAST_UPDUSR_ID AS lastUpdusrId /* 수정자" */
, A.DELETE_YN AS deleteYn /* 삭제여부" */
, A.USE_YN AS useYn /* 사용여부" */
, M.MEM_NAME AS memName /* 조정위원명" */
FROM ADR_MEM_CMNT A
LEFT JOIN ADR_MEM_MGR M ON A.MEM_SEQ = M.MEM_SEQ

View File

@ -28,6 +28,8 @@
COUNT(1) AS TOT
FROM ADR_EXMP_MGR T1
WHERE T1.EXMP_CD = #exmpCd#
AND T1.FRST_REGISTER_ID = #frstRegisterId#
AND T1.USE_YN = 'Y'
<isNotEmpty property="searchKeyword">
<isEmpty prepend="AND" property="searchCondition">
T1.EXMP_CN LIKE CONCAT('%' , #searchKeyword#, '%')
@ -38,18 +40,6 @@
AND T1.EXMP_CC_TY = #searchCondition#
</isNotEmpty>
</isNotEmpty>
<!-- <isNotEmpty property="searchKeyword"> -->
<!-- <isEqual prepend="AND" property="searchCondition" compareValue=""> -->
<!-- ( T1.EXMP_TIT LIKE CONCAT('%' , #searchKeyword#, '%') OR -->
<!-- T1.EXMP_NMS LIKE CONCAT('%' , #searchKeyword#, '%') ) -->
<!-- </isEqual> -->
<!-- <isEqual prepend="AND" property="searchCondition" compareValue="1"> -->
<!-- T1.EXMP_TIT LIKE CONCAT('%' , #searchKeyword#, '%') -->
<!-- </isEqual> -->
<!-- <isEqual prepend="AND" property="searchCondition" compareValue="2"> -->
<!-- T1.EXMP_NMS LIKE CONCAT('%' , #searchKeyword#, '%') -->
<!-- </isEqual> -->
<!-- </isNotEmpty> -->
</select>
<select id="ExmpAppManageDAO.selectExmpManagerList" parameterClass="exmpManageVO" resultClass="exmpManageVO">
@ -102,6 +92,8 @@
, T1.LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_EXMP_MGR T1
WHERE T1.EXMP_CD = #exmpCd#
AND T1.FRST_REGISTER_ID = #frstRegisterId#
AND T1.USE_YN = 'Y'
<isNotEmpty property="searchKeyword">
<isEmpty prepend="AND" property="searchCondition">
T1.EXMP_CN LIKE CONCAT('%' , #searchKeyword#, '%')
@ -142,6 +134,15 @@
EXMP_MGR_ID = #exmpMgrId#
</update>
<update id="ExmpAppManageDAO.adjstOpinionDelect" parameterClass="exmpManageVO">
UPDATE
ADR_EXMP_MGR
SET
USE_YN = 'N'
WHERE
EXMP_MGR_ID = #exmpMgrId#
</update>
<update id="ExmpAppManageDAO.updateExmpAppDetails" parameterClass="exmpManageVO">
UPDATE
ADR_EXMP_DTL
@ -166,6 +167,7 @@
, ATCH_FILE_ID
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, USE_YN
) VALUES (
#exmpMgrId#
, #exmpCd#
@ -175,6 +177,7 @@
, #atchFileId#
, NOW()
, #frstRegisterId#
, #useYn#
)
</insert>

View File

@ -1328,6 +1328,7 @@
AND T1.ADR_SEQ = #adrSeq#
AND T1.ADR_SN = #adrSn#
AND T1.CMNT_TY = #cmntTy#
AND T1.USE_YN = #useYn#
<isNotEmpty property="memSeq">
AND T1.MEM_SEQ = #memSeq#
</isNotEmpty>
@ -1420,7 +1421,8 @@
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID
LAST_UPDUSR_ID,
USE_YN
) VALUES (
#adrSeq#,
#adrSn#,
@ -1431,7 +1433,8 @@
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
#lastUpdusrId#,
#useYn#
)
</update>
@ -1693,6 +1696,15 @@
AND SBMT_SEQ = #sbmtSeq#
</update>
<update id="adjstConciliatorDAO.updateAdjstRecommendationCommentDelete" parameterClass="AdjstConciliatorVO">
UPDATE ADR_MEM_CMNT SET
USE_YN = #useYn#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND CMNT_SEQ = #cmntSeq#
</update>
<!-- DASH 보드 -->

View File

@ -27,7 +27,8 @@
,{
"adrSeq" : $("#adrSeq").val(),
"adrSn" :$("#adrSn").val(),
"cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_60,
"cmntTy" : "60",
// "cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_60,
"pageIndex" : pageIndex,
"pageUnit" : 5
}

View File

@ -27,7 +27,8 @@
,{
"adrSeq" : $("#adrSeq").val(),
"adrSn" :$("#adrSn").val(),
"cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_40,
"cmntTy" : "40",
// "cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_40,
"pageIndex" : pageIndex,
"pageUnit" : 5
}

View File

@ -27,7 +27,8 @@
,{
"adrSeq" : $("#adrSeq").val(),
"adrSn" :$("#adrSn").val(),
"cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_30,
"cmntTy" : "30",
// "cmntTy" : KccadrConstants.ADR_CLOSE_DOC_TY_30,
"pageIndex" : pageIndex,
"pageUnit" : 5
}

View File

@ -14,6 +14,11 @@
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$('.deleteBtn').on('click', function(){
fn_dataDelete($(this).data('info'));
})
});
function fncSaveCommnet(){
@ -41,6 +46,33 @@
contentType: "application/json",
cache: false,
success: function (returnData, status) {
commentPageLoad();
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
function fn_dataDelete(cmntSeq){
if (!confirm("삭제 하시겠습니까?")) {
return false;
}
var data = {
cmntSeq : cmntSeq
}
$.ajax({
type: "POST",
url: "/web/kccadr/adjcclt/commnet/adjstRecommendationCommentDelete.do",
data: JSON.stringify(data),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData, status) {
console.log('returnData : ', returnData);
alert(returnData.msg);
fncGoCommentList();
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
@ -94,13 +126,15 @@
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
<col style="width: 100px;">
</colgroup>
<thead>
<tr>
<th scope="col">일자</th>
<th scope="col">내용</th>
<th scope="col">조정위원</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody>
@ -117,6 +151,9 @@
<td>
<p><c:out value='${list.cmntNm}' /></p>
</td>
<td>
<button type="button" class="btnType01 deleteBtn" data-info="${list.cmntSeq }">삭제</button>
</td>
</tr>
</c:forEach>
<c:if test="${fn:length(list) eq 0}">

View File

@ -43,92 +43,104 @@
// listForm.action = "<c:url value='/web/kccadr/adjcclt/adjstConciliatorDetail.do'/>";
// listForm.submit();
}
AdjstReq.opinionsRegistAdjstPopList();
$(document).ready(function(){
$('.deleteBtn').click(function(){
if(confirm("삭제를 하시겠습니까?"))
{
$('#exmpMgrId').val($(this).data('info'));
$('#listForm').attr('action', "<c:url value='/web/kccadr/adjcclt/ai/adjstOpinionDelect.do'/>");
document.listForm.submit();
}
});
});
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="adjstOpinionVO" onsubmit="return false;" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${adjstOpinionVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${adjstOpinionVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${adjstOpinionVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${adjstOpinionVO.searchStatus}" />" />
<input type="hidden" name="adrSeq" value="" />
<input type="hidden" name="adrSn" value="" />
</form:form>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${exmpManageVO.pageIndex}' default='1' />"/>
<input type="hidden" name="exmpMgrId" id="exmpMgrId" value="" />
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>자주쓰는의견 목록</h2>
</div>
<!-- <p>총 건수 : <span>204</span>건</p> -->
<div class="list_top">
<div class="list_util">
<label for="searchCondition">검색조건 선택</label>
<kc:select codeId="CC045" skipCd="10,50,70,80" name="searchCondition" id="searchCondition" defaultValue="" defaultText="전체" selectedValue="${exmpManageVO.searchCondition}"/>
<label for="searchKeyword">검색 조건 입력</label>
<input type="text" name="searchKeyword" id="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}' />" placeholder="검색 조건 입력" size="20">
<button type="button" class="btnType07" onclick="fncGoList(); return false;">검색</button>
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>자주쓰는의견 목록</h2>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 200px;">
<col style="width: 25%;">
<col style="width: auto;">
<col style="width: 110px;">
</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}" varStatus="status">
<tr>
<td class="td_date">
<p><c:out value="${list.frstRegistPnttm}"/></p>
</td>
<td>
<kc:code codeId="CC045" code="${list.exmpCcTy}"/>
</td>
<td>
<a href="#none" onclick="javascript:AdjstReq.opinionsRegistAdjstPopDetail('${list.exmpMgrId }');"><c:out value="${list.exmpCn}" /></a>
</td>
<td>
<button type="button" class="btnType01">삭제</button>
</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>
<!-- //list -->
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<button class="btnType09" data-tooltip="opinion_regi_popup" onclick="AdjstReq.opinionsRegistAdjstPopList();">등록</button>
</div>
<!-- //하단 버튼 -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
</div>
</div>
<!-- <p>총 건수 : <span>204</span>건</p> -->
<div class="list_top">
<div class="list_util">
<label for="searchCondition">검색조건 선택</label>
<kc:select codeId="CC045" skipCd="10,50,70,80" name="searchCondition" id="searchCondition" defaultValue="" defaultText="전체" selectedValue="${exmpManageVO.searchCondition}"/>
<label for="searchKeyword">검색 조건 입력</label>
<input type="text" name="searchKeyword" id="searchKeyword" value="<c:out value='${exmpManageVO.searchKeyword}' />" placeholder="내용 입력" size="20">
<button type="button" class="btnType07" onclick="fncGoList(); return false;">검색</button>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 200px;">
<col style="width: 25%;">
<col style="width: auto;">
<col style="width: 110px;">
</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}" varStatus="status">
<tr>
<td class="td_date">
<p><c:out value="${list.frstRegistPnttm}"/></p>
</td>
<td>
<kc:code codeId="CC045" code="${list.exmpCcTy}"/>
</td>
<td>
<a href="javascript:;" onclick="javascript:AdjstReq.opinionsRegistAdjstPopDetail('${list.exmpMgrId }');"><c:out value="${list.exmpCn}" /></a>
</td>
<td>
<button type="button" class="btnType01 deleteBtn" data-info="<c:out value="${list.exmpMgrId }" />">삭제</button>
</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>
<!-- //list -->
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<button class="btnType09" data-tooltip="opinion_regi_popup" onclick="AdjstReq.opinionsRegistAdjstPopList();">등록</button>
</div>
<!-- //하단 버튼 -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
</div>
</div>
</form>
</body>
</html>

View File

@ -27,7 +27,7 @@ $(document).ready(function(){
});
// 레이어팝업 포커싱 이동 수정
$("#regBtn").click(function(){
$("#updtBtn").click(function(){
if($('#exmpCcTy').val() == '')
{
@ -42,7 +42,7 @@ $(document).ready(function(){
}
if(confirm("등록하시겠습니까?"))
if(confirm("수정하시겠습니까?"))
{
// var data = {
// exmpCcTy : $("#exmpCcTy").val()
@ -53,7 +53,7 @@ $(document).ready(function(){
var data = new FormData(document.createForm);
$.ajax({
type:"POST",
url: "/web/kccadr/adjcclt/insertExmpOpinionsAjax.do",
url: "/web/kccadr/adjcclt/updateExmpOpinionsAjax.do",
data: data,
dataType:'json',
async: false,
@ -100,7 +100,7 @@ $(document).ready(function(){
<tr>
<td>유형</td>
<td>
<kc:select codeId="CC045" skipCd="10,50,70,80" id="exmpCcTy" name="exmpCcTy" defaultValue="" defaultText="선택" selectedValue="${dataInfo.exmpCcTy}"/>
<kc:select codeId="CC045" skipCd="10,50,70,80" id="exmpCcTy" name="exmpCcTy" defaultValue="" defaultText="선택" selectedValue="${mgrInfo.exmpCcTy }"/>
</td>
</tr>
<!-- <tr> -->
@ -112,14 +112,14 @@ $(document).ready(function(){
<tr>
<td>내용</td>
<td>
<textarea id="exmpCn" name="exmpCn" rows="5"><c:out value="${dataInfo.exmpCn}" /> </textarea>
<textarea id="exmpCn" name="exmpCn" rows="5" value="<c:out value="${mgrInfo.exmpCn }" />"><c:out value="${mgrInfo.exmpCn }" /> </textarea>
</td>
</tr>
</tbody>
</table>
<div class="btn_wrap">
<button class="btnType07" id="regBtn">저장</button>
<button class="btnType07" id="updtBtn">수정</button>
<button class="btnType01 tooltip-close" data-focus="opinion_regi_popup_close" data-focus-next="opinion_regi_popup">닫기</button>
</div>
</div>

View File

@ -63,7 +63,6 @@ $(document).ready(function(){
success:function(returnData){
if(returnData.status == "OK"){
alert(returnData.data);
window.location.reload();
}else{
alert(returnData.data);
}