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

- 법원연계 개발
This commit is contained in:
leejunho 2024-01-18 12:44:17 +09:00
parent 7359e9ebe0
commit 4770879e87
10 changed files with 302 additions and 19 deletions

View File

@ -43,4 +43,8 @@ public interface AdjCourtCnctnService {
public AdjCourtAppVO selectAdjCourtCnctnAppDetail(AdjCourtAppVO adjCourtAppVO) throws Exception;
public RestResponse updateAdjCourtCnctnEnd(AdjCourtCnctnVO adjCourtCnctnVO, final MultipartHttpServletRequest multiRequest) throws Exception;
public RestResponse updateAdjCourtCnctnEndAfterPopAjax(AdjCourtCnctnVO adjCourtCnctnVO, AdjCourtDeptVO adjCourtDeptVO) throws Exception;
public AdjCourtDeptVO selectCourtDept(AdjCourtDeptVO adjCourtDeptVO) throws Exception;
}

View File

@ -69,6 +69,9 @@ public class AdjCourtCnctnVO extends ComDefaultVO implements Serializable {
private String esntlId;
private String crtEndDe;
private String deptNm;
public String getCrtSeq() {
return crtSeq;
@ -334,10 +337,18 @@ public class AdjCourtCnctnVO extends ComDefaultVO implements Serializable {
public void setCrtAtchFileIdEnd(String crtAtchFileIdEnd) {
this.crtAtchFileIdEnd = crtAtchFileIdEnd;
}
public String getCrtEndDe() {
return crtEndDe;
}
public void setCrtEndDe(String crtEndDe) {
this.crtEndDe = crtEndDe;
}
public String getDeptNm() {
return deptNm;
}
public void setDeptNm(String deptNm) {
this.deptNm = deptNm;
}

View File

@ -87,4 +87,18 @@ public class AdjCourtCnctnDAO extends EgovAbstractDAO {
update("adjCourtCnctnDAO.updateAdjCourtCnctnEnd", adjCourtCnctnVO);
}
public void updateCourtCnctnEndAfter(AdjCourtCnctnVO adjCourtCnctnVO){
update("adjCourtCnctnDAO.updateCourtCnctnEndAfter", adjCourtCnctnVO);
}
public void updateCourtDeptEndAfterDept(AdjCourtDeptVO adjCourtDeptVO){
update("adjCourtCnctnDAO.updateCourtDeptEndAfterDept", adjCourtDeptVO);
}
public AdjCourtDeptVO selectCourtDept(AdjCourtDeptVO adjCourtDeptVO) throws Exception {
return (AdjCourtDeptVO) select("adjCourtCnctnDAO.selectCourtDept", adjCourtDeptVO);
}
}

View File

@ -261,4 +261,22 @@ public class AdjCourtCnctnServiceImpl extends EgovAbstractServiceImpl implements
}
return new RestResponse(HttpStatus.OK, "등록 되었습니다.", LocalDateTime.now());
}
@Override
public RestResponse updateAdjCourtCnctnEndAfterPopAjax(AdjCourtCnctnVO adjCourtCnctnVO, AdjCourtDeptVO adjCourtDeptVO)
throws Exception {
try {
adjCourtCnctnDAO.updateCourtCnctnEndAfter(adjCourtCnctnVO);
adjCourtCnctnDAO.updateCourtDeptEndAfterDept(adjCourtDeptVO);
}catch (Exception e) {
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, "등록 되었습니다.", LocalDateTime.now());
}
@Override
public AdjCourtDeptVO selectCourtDept(AdjCourtDeptVO adjCourtDeptVO) throws Exception {
return adjCourtCnctnDAO.selectCourtDept(adjCourtDeptVO);
}
}

View File

@ -215,12 +215,13 @@ public class AdjCourtAprvlController {
//결재 처리
adjCourtAprvlService.adjCourtAprvlLineUpdate(adjCourtaprvlVO);
statInfo = new AdjCourtaprvlVO();
statInfo = adjCourtAprvlService.adjCourtAprvlLineChk(adjCourtaprvlVO);
// 모든 결재가 끝났다면...
if("Y".equals(statInfo.getAllYn())){
//adr_court_mgr - > statCd 변경
if("2".equals(statInfo.getStep())) {
if("2".equals(statInfo.getCrtAprvlCnt())) {
adjCourtaprvlVO.setCrtStatCd(KccadrCourtConstants.CRT_APRVL_END);
}
else {

View File

@ -72,7 +72,6 @@ public class AdjCourtCnctnController {
List<AdjCourtCnctnVO> list = adjCourtCnctnService.adjCourtCnctnList(adjCourtCnctnVO);
// 복호화
model.addAttribute("list", list);
return "kccadr/adjCourtCnctn/adjCourtCnctnList";
}
@ -242,5 +241,28 @@ public class AdjCourtCnctnController {
return ResponseEntity.ok().body(adjCourtCnctnService.updateAdjCourtCnctnEnd(adjCourtCnctnVO, multiRequest));
}
@RequestMapping(value = "/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndAfterPop.do")
public String adjCourtCnctnEndAfterPop(@ModelAttribute("searchVO") AdjCourtCnctnVO adjCourtCnctnVO, ModelMap model) throws Exception {
AdjCourtDeptVO adjCourtDeptVO = new AdjCourtDeptVO();
adjCourtDeptVO.setCrtSeq(adjCourtCnctnVO.getCrtSeq());
model.addAttribute("adjCourtDeptVO", adjCourtCnctnService.selectCourtDept(adjCourtDeptVO));
model.addAttribute("adjCourtCnctnVO", adjCourtCnctnService.findByid(adjCourtCnctnVO));
return "kccadr/adjCourtCnctn/pop/adjCourtCnctnEndAfterPop";
}
@RequestMapping(value = "/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndAfterPopAjax.do")
public ResponseEntity<RestResponse> adjCourtCnctnEndAfterPopAjax(AdjCourtCnctnVO adjCourtCnctnVO, AdjCourtDeptVO deptVO) throws Exception {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
deptVO.setLastUpdusrId(loginVO.getUniqId());
deptVO.setFrstRegisterId(loginVO.getUniqId());
adjCourtCnctnVO.setLastUpdusrId(loginVO.getUniqId());
adjCourtCnctnVO.setFrstRegisterId(loginVO.getUniqId());
return ResponseEntity.ok().body(adjCourtCnctnService.updateAdjCourtCnctnEndAfterPopAjax(adjCourtCnctnVO, deptVO));
}
}

View File

@ -42,8 +42,22 @@
a.last_updt_pnttm as lastUpdtPnttm,
a.last_updusr_id as lastUpdusrId,
a.crt_end_rslt as crtEndRslt,
a.crt_end_rslt_detail as crtEndRsltDetail
a.crt_end_rslt_detail as crtEndRsltDetail,
a.crt_end_de as crtEndDe,
b.user_nm AS deptNm
FROM adr_court_mgr a
LEFT JOIN
(SELECT t1.crt_seq,
t1.esntl_id,
t1.crt_dept_ty,
t2.user_nm
FROM adr_court_dept_mgr t1
LEFT JOIN lettnemplyrinfo t2
ON t1.esntl_id = t2.esntl_id
WHERE t1.crt_dept_ty = '20'
)
b
ON a.crt_seq = b.crt_seq
WHERE 1=1
/*조정 사건번호*/
<isEqual property="searchCondition" prepend="AND" compareValue="10">
@ -90,6 +104,18 @@
SELECT
COUNT(1) AS TOT
FROM adr_court_mgr a
LEFT JOIN
(SELECT t1.crt_seq,
t1.esntl_id,
t1.crt_dept_ty,
t2.user_nm
FROM adr_court_dept_mgr t1
LEFT JOIN lettnemplyrinfo t2
ON t1.esntl_id = t2.esntl_id
WHERE t1.crt_dept_ty = '20'
)
b
ON a.crt_seq = b.crt_seq
WHERE 1=1
/*조정 사건번호*/
<isEqual property="searchCondition" prepend="AND" compareValue="10">
@ -235,7 +261,8 @@
a.crt_end_rslt_detail as crtEndRsltDetail,
b.user_nm AS crtDeptKng,
b.esntl_id AS esntlId,
c.user_nm AS crtDeptOrdi
c.user_nm AS crtDeptOrdi,
a.crt_end_de as crtEndDe
FROM adr_court_mgr a
LEFT JOIN
(SELECT t1.crt_seq,
@ -413,7 +440,7 @@
a.last_updt_pnttm = now()
WHERE a.crt_seq = #crtSeq#
AND a.crt_dept_ty = '10'
AND b.pstinst_code = #crtLinkHouse#;
AND b.pstinst_code = #crtLinkHouse#
</insert>
<select id="adjCourtCnctnDAO.selectAdjCourtCnctniDeptPop" resultClass="adjCourtDeptVO">
@ -422,7 +449,7 @@
a.esntl_id AS esntlId,
a.pstinst_code AS pstinstCode
FROM lettnemplyrinfo a
WHERE a.pstinst_code = '20';
WHERE a.pstinst_code = '20'
</select>
<insert id="adjCourtAprvlDAO.insertAprvlReg" parameterClass="adjCourtaprvlVO">
@ -608,6 +635,7 @@
b.crt_link_house AS crtLinkHouse,
b.crt_stat_cd AS crtStatCd,
b.crt_agrment AS crtAgrment,
b.crt_end_de as crtEndDe,
CASE
WHEN a.crt_aprvl_yn1 = 'N'
THEN 1
@ -726,8 +754,8 @@
<select id="adjCourtAprvlDAO.adjCourtAprvlLineChk" parameterClass="adjCourtaprvlVO" resultClass="adjCourtaprvlVO" remapResults="true">
SELECT crt_seq ,
crt_aprvl_seq ,
SELECT crt_seq as crtSeq,
crt_aprvl_seq as crtAprvlSeq,
IF((IF(crt_aprvl_yn1 = 'Y',1,0)+IF(crt_aprvl_yn2 = 'Y',1,0)+IF(crt_aprvl_yn3 = 'Y',1,0)) = crt_aprvl_cnt, 'Y' , 'N') AS allYn ,
CASE
WHEN crt_aprvl_yn1 = 'N'
@ -738,7 +766,7 @@
THEN crt_aprvl_id3
ELSE NULL
END AS target ,
crt_aprvl_cnt ,
crt_aprvl_cnt as crtAprvlCnt,
CASE
WHEN crt_aprvl_yn1 = 'N'
THEN 1
@ -883,7 +911,50 @@
last_updt_pnttm = NOW(),
last_updusr_id = #lastUpdusrId#
WHERE
crt_seq = #crtSeq#;
crt_seq = #crtSeq#
</update>
<update id="adjCourtCnctnDAO.updateCourtCnctnEndAfter" parameterClass="adjCourtCnctnVO">
UPDATE adr_court_mgr
SET
crt_agrment = #crtAgrment#,
crt_end_de = TO_DATETIME(TO_CHAR(#crtEndDe#,'YYYY-MM-DD')),
last_updt_pnttm = NOW(),
last_updusr_id = #lastUpdusrId#
WHERE
crt_seq = #crtSeq#
</update>
<update id="adjCourtCnctnDAO.updateCourtDeptEndAfterDept" parameterClass="adjCourtDeptVO">
UPDATE adr_court_dept_mgr
SET
crt_allwanc = #crtAllwanc#,
crt_pay_de = TO_DATETIME(TO_CHAR(#crtPayDe#,'YYYY-MM-DD')),
crt_reciv_accnt = #crtRecivAccnt#,
last_updt_pnttm = NOW(),
last_updusr_id = #lastUpdusrId#
WHERE
crt_seq = #crtSeq#
</update>
<select id="adjCourtCnctnDAO.selectCourtDept" parameterClass="adjCourtDeptVO" resultClass="adjCourtDeptVO">
SELECT
a.crt_seq AS crtSeq,
a.esntl_id AS esntlId,
a.crt_dept_ty AS crtDeptTy,
a.crt_atch_file_id AS crtAtchFileId,
a.crt_allwanc AS crtAllwanc,
a.crt_pay_de AS crtPayDe,
a.crt_reciv_accnt AS crtRecivAccnt,
a.frst_regist_pnttm AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
a.last_updt_pnttm AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
FROM adr_court_dept_mgr a
WHERE crt_seq = #crtSeq#
and crt_dept_ty = '10'
</select>
</sqlMap>

View File

@ -76,7 +76,11 @@ function appPop(){
}
function endPop(){
commonPopWindowopenForm("/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndPop.do", "1000", "700", "appPop", $("#popForm"));
commonPopWindowopenForm("/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndPop.do", "1000", "700", "endPop", $("#popForm"));
}
function endAfterPop(){
commonPopWindowopenForm("/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndAfterPop.do", "1000", "700", "endAfterPop", $("#popForm"));
}
</script>
@ -246,18 +250,20 @@ function endPop(){
<!-- 프로세스 시간 순서대로 버튼 나열 -->
<!-- 접수 결재 승인 전까지만 -->
<c:if test="${courtVO.crtStatCd*1 < 101050}">
<c:if test="${courtVO.crtStatCd*1 < 101010}">
<button type="button" class="btnType06" onclick="fn_modyfi(); return false;">수정</button>
<button type="button" class="btnType06" onclick="aprvlPop('101010');">접수결재</button>
</c:if>
<c:if test="${courtVO.crtStatCd*1 >= 101050
&& courtVO.crtStatCd*1 < 200000}">
&& courtVO.crtStatCd*1 < 201010}">
<button type="button" class="btnType06" onclick="endPop();">결과보고</button>
<button type="button" class="btnType06" onclick="appPop();">기일지정</button>
<button type="button" class="btnType06" onclick="aprvlPop('201010')">종결결재</button>
</c:if>
<c:if test="${courtVO.crtStatCd*1 eq 300000}">
<button type="button" class="btnType06" onclick="endAfterPop();">사후관리</button>
</c:if>
<button type="button" class="btnType03" onclick="fn_GoList(); return false;">목록</button>
</div>
</div>

View File

@ -132,7 +132,7 @@ function fn_goDetail(crtSeq){
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><c:out value="${list.crtDfndntNm}" /></a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><c:out value="${fn:substring(list.crtAllctDe, 0, 10)}" /></a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><kc:code codeId="CC002" code="${list.crtCcTy}"/></a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');">조정위원 처리해야함</a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><c:out value="${list.deptNm}" /></a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><kc:code codeId="CC701" code="${list.crtLinkHouse}"/></a></td>
<td><a href="#" onclick="fn_goDetail('${list.crtSeq}');"><kc:code codeId="CC703" code="${list.crtStatCd}"/></a></td>
</tr>

View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator"
uri="http://www.springmodules.org/tags/commons-validator"%>
<html lang="ko">
<head>
<title>조정위원검색</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready(function(){
$('#filebutton').click(function (e) {
e.preventDefault();
$('#file_temp').click();
});
});
function fncClose() {
self.close();
}
function fn_regist(p_esntlId, p_pstinstCode) {
var msg = "저장 하시겠습니까?";
if(confirm(msg)){
var data = new FormData(document.listForm);
var url= "<c:url value='/kccadr/adjCourtCnctn/popup/adjCourtCnctnEndAfterPopAjax.do' />";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (data) {
alert(data.data);
if(data.status == 'OK')
{
window.opener.location.reload();
window.close();
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</script>
</head>
<body>
<form id="listForm" name="listForm" method="post" action="" >
<!-- 드래그앤 드롭 파라미터 -->
<input type="hidden" name="limitcount" value="10" />
<input type="hidden" id="crtSeq" name="crtSeq" value="${adjCourtCnctnVO.crtSeq}"/>
<input type="hidden" id="crtSn" name="crtSn" value="${adjCourtCnctnVO.crtSn}"/>
<div class="area_popup supm_popup" style="width: 800px;">
<div class="cont_popup">
<p class="tb_tit">사건메모</p>
<table class="pop_tbType01">
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>종결일자</th>
<td>
<div id="sel_date" class="sel_date">
<input readonly="readonly" type="text" class="crtEndDe inp" title="대면기일" id="crtEndDe" name="crtEndDe" value="${fn:substring(adjCourtCnctnVO.crtEndDe, 0, 10)}" data-datecontrol="true" onchange="test(this);">
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('crtEndDe-lry','',this)" class="btn_cal" ></button>
<div id="crtEndDe-lry" class="calendarPop" style="display: none;">
<iframe id="crtEndDe-ifrm" name="crtEndDe-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</td>
</tr>
<tr>
<th>합의금</th>
<td>
<input type="text" id="crtAgrment" name="crtAgrment" value="${adjCourtCnctnVO.crtAgrment}"/>
</td>
</tr>
<tr>
<th>수당금액</th>
<td>
<input type="text" id="crtAllwanc" name="crtAllwanc" value="${adjCourtDeptVO.crtAllwanc}"/>
</td>
</tr>
<tr>
<th>지급일자</th>
<td>
<div id="sel_date" class="sel_date">
<input readonly="readonly" type="text" class="crtPayDe inp" title="대면기일" id="crtPayDe" name="crtPayDe" value="${fn:substring(adjCourtDeptVO.crtPayDe, 0, 10)}" data-datecontrol="true" onchange="test(this);">
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('crtPayDe-lry','',this)" class="btn_cal" ></button>
<div id="crtPayDe-lry" class="calendarPop" style="display: none;">
<iframe id="crtPayDe-ifrm" name="crtPayDe-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</td>
</tr>
<tr>
<th>수령계좌</th>
<td>
<input type="text" id="crtRecivAccnt" name="crtRecivAccnt" value="${adjCourtDeptVO.crtRecivAccnt}"/>
</td>
</tr>
</tbody>
</table>
<div class="btn_wrap btn_layout04">
<button type="button" class="btnType06" onclick="fn_regist(); return false;">저장</button>
<button type="button" class="btnType03" onclick="window.close()">닫기</button>
</div>
</div>
</div>
</form>
</body>
</html>