법원연계조정 상세 > 사무수행일보고 다중입력 완료

This commit is contained in:
hylee 2024-02-16 14:51:51 +09:00
parent be60e41e61
commit afb749ccb5
10 changed files with 278 additions and 12 deletions

View File

@ -56,4 +56,8 @@ public interface AdjCourtCnctnService {
public RestResponse updateCrtAdjAdminMenoAjax(AdjCourtCnctnVO adjCourtCnctnVO);
List<AdjCourtRprtMgrVO> findByIdFromAdjCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO);
AdjCourtRprtMgrVO findByRprtSeqFromAdrCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO);
}

View File

@ -109,6 +109,11 @@ public class AdjCourtCnctnVO extends ComDefaultVO implements Serializable {
private String crtAdjAdminMeno;
private String crtAdjCmsnrMeno;
private String rprtSeq;
private String rprtPhone;
private String rprtPgr;
private String rprtSeqTemp;
private List<AdjCourtRprtMgrVO> adjCourtRprtMgrList;
public String getCrtSeq() {
@ -513,6 +518,36 @@ public class AdjCourtCnctnVO extends ComDefaultVO implements Serializable {
public void setCrtAdjCmsnrMeno(String crtAdjCmsnrMeno) {
this.crtAdjCmsnrMeno = crtAdjCmsnrMeno;
}
public String getRprtSeq() {
return rprtSeq;
}
public void setRprtSeq(String rprtSeq) {
this.rprtSeq = rprtSeq;
}
public String getRprtPhone() {
return rprtPhone;
}
public void setRprtPhone(String rprtPhone) {
this.rprtPhone = rprtPhone;
}
public String getRprtPgr() {
return rprtPgr;
}
public void setRprtPgr(String rprtPgr) {
this.rprtPgr = rprtPgr;
}
public String getRprtSeqTemp() {
return rprtSeqTemp;
}
public void setRprtSeqTemp(String rprtSeqTemp) {
this.rprtSeqTemp = rprtSeqTemp;
}
public List<AdjCourtRprtMgrVO> getAdjCourtRprtMgrList() {
return adjCourtRprtMgrList;
}
public void setAdjCourtRprtMgrList(List<AdjCourtRprtMgrVO> adjCourtRprtMgrList) {
this.adjCourtRprtMgrList = adjCourtRprtMgrList;
}

View File

@ -0,0 +1,63 @@
package kcc.kccadr.adjCourtCnctn.service;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import kcc.com.cmm.ComDefaultVO;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
public class AdjCourtRprtMgrVO extends ComDefaultVO implements Serializable {
/**
*
*/
private static final long serialVersionUID = 836926077984092881L;
private String crtSeq; //법원연계 seq
private String crtSn; //법원연계 기일수
private String rprtSeq; // 사무수행보고일 SEQ
private String rprtPhone; // 전화
private String rprtPgr; // 기일진행
private String crtRprtDe; // 사무수행보고일
public String getCrtSeq() {
return crtSeq;
}
public void setCrtSeq(String crtSeq) {
this.crtSeq = crtSeq;
}
public String getCrtSn() {
return crtSn;
}
public void setCrtSn(String crtSn) {
this.crtSn = crtSn;
}
public String getRprtSeq() {
return rprtSeq;
}
public void setRprtSeq(String rprtSeq) {
this.rprtSeq = rprtSeq;
}
public String getRprtPhone() {
return rprtPhone;
}
public void setRprtPhone(String rprtPhone) {
this.rprtPhone = rprtPhone;
}
public String getRprtPgr() {
return rprtPgr;
}
public void setRprtPgr(String rprtPgr) {
this.rprtPgr = rprtPgr;
}
public String getCrtRprtDe() {
return crtRprtDe;
}
public void setCrtRprtDe(String crtRprtDe) {
this.crtRprtDe = crtRprtDe;
}
}

View File

@ -9,6 +9,7 @@ import kcc.com.cmm.service.AdrCourtFileVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtAppVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtCnctnVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtDeptVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtRprtMgrVO;
@Repository("AdjCourtCnctnDAO")
public class AdjCourtCnctnDAO extends EgovAbstractDAO {
@ -114,6 +115,14 @@ public class AdjCourtCnctnDAO extends EgovAbstractDAO {
public void updateCrtAdjAdminMenoAjax(AdjCourtCnctnVO adjCourtCnctnVO) {
update("adjCourtCnctnDAO.updateCrtAdjAdminMenoAjax", adjCourtCnctnVO);
}
public List<AdjCourtRprtMgrVO> findByIdFromAdjCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO) {
return (List<AdjCourtRprtMgrVO>) list("adjCourtCnctnDAO.findByIdFromAdjCourtRprtMgr", adjCourtCnctnVO);
}
public AdjCourtRprtMgrVO findByRprtSeqFromAdrCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO) {
return (AdjCourtRprtMgrVO) select("adjCourtCnctnDAO.findByRprtSeqFromAdrCourtRprtMgr", adjCourtCnctnVO);
}
}

View File

@ -24,6 +24,7 @@ import kcc.kccadr.adjCourtCnctn.service.AdjCourtAppVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtCnctnService;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtCnctnVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtDeptVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtRprtMgrVO;
import kcc.kccadr.cmm.KccadrCourtConstants;
import kcc.kccadr.cmm.RestResponse;
@ -37,6 +38,9 @@ public class AdjCourtCnctnServiceImpl extends EgovAbstractServiceImpl implements
@Resource(name="courtCnctnGnrService")
private EgovIdGnrService courtCnctnGnrService;
@Resource(name="crtRprtMgrIdgenService")
private EgovIdGnrService crtRprtMgrIdgenService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileMngService;
@ -283,8 +287,10 @@ public class AdjCourtCnctnServiceImpl extends EgovAbstractServiceImpl implements
@Override
public RestResponse insertAdjCourtRprtDePopAjax(AdjCourtCnctnVO adjCourtCnctnVO) throws Exception {
try {
adjCourtCnctnVO.setRprtSeqTemp(crtRprtMgrIdgenService.getNextStringId());
adjCourtCnctnDAO.insertAdjCourtRprtDePopAjax(adjCourtCnctnVO);
}catch (Exception e) {
e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, "등록 되었습니다.", LocalDateTime.now());
@ -316,6 +322,17 @@ public class AdjCourtCnctnServiceImpl extends EgovAbstractServiceImpl implements
}
return new RestResponse(HttpStatus.OK, "수정 되었습니다.", LocalDateTime.now());
}
@Override
public List<AdjCourtRprtMgrVO> findByIdFromAdjCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO) {
return adjCourtCnctnDAO.findByIdFromAdjCourtRprtMgr(adjCourtCnctnVO);
}
@Override
public AdjCourtRprtMgrVO findByRprtSeqFromAdrCourtRprtMgr(AdjCourtCnctnVO adjCourtCnctnVO) {
return adjCourtCnctnDAO.findByRprtSeqFromAdrCourtRprtMgr(adjCourtCnctnVO);
}
}

View File

@ -37,6 +37,7 @@ import kcc.kccadr.adjCourtCnctn.service.AdjCourtAppVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtCnctnService;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtCnctnVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtDeptVO;
import kcc.kccadr.adjCourtCnctn.service.AdjCourtRprtMgrVO;
import kcc.kccadr.cmm.KccadrCourtConstants;
import kcc.kccadr.cmm.RestResponse;
import kcc.let.org.service.LocVO;
@ -197,6 +198,9 @@ public class AdjCourtCnctnController {
AdjCourtCnctnVO adjCourtCnctnVO = adjCourtCnctnService.findByid(CourtVO);
adjCourtCnctnVO.setAdjCourtRprtMgrList(adjCourtCnctnService.findByIdFromAdjCourtRprtMgr(adjCourtCnctnVO));
model.addAttribute("courtVO", adjCourtCnctnVO);
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null;
@ -615,6 +619,9 @@ public class AdjCourtCnctnController {
@RequestMapping(value = "/kccadr/adjCourtCnctn/popup/adjCourtRprtDePop.do")
public String adjCourtRprtDePop(@ModelAttribute("AdjCourtCnctnVO") AdjCourtCnctnVO adjCourtCnctnVO, ModelMap model) throws Exception {
AdjCourtRprtMgrVO adjCourtRprtMgrVO = adjCourtCnctnService.findByRprtSeqFromAdrCourtRprtMgr(adjCourtCnctnVO);
model.addAttribute("adjCourtRprtMgrVO", adjCourtRprtMgrVO);
return "kccadr/adjCourtCnctn/pop/adjCourtRprtDePop";
}

View File

@ -2971,5 +2971,23 @@
<property name="cipers" value="14" />
<property name="fillChar" value="0" />
</bean>
<!-- adr_court_rprt_mgr 법원연계 사무수행보고일 테이블-->
<bean name="crtRprtMgrIdgenService"
class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="crtRprtMgrStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="RPRT_ID"/><!-- tableName 값 수정 -->
</bean>
<!-- cs_seq 조정사례 Generation Strategy Config -->
<bean name="crtRprtMgrStrategy"
class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
<property name="prefix" value="crtRprt_" />
<property name="cipers" value="12" />
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -7,6 +7,7 @@
<typeAlias alias="adjCourtDeptVO" type="kcc.kccadr.adjCourtCnctn.service.AdjCourtDeptVO"/>
<typeAlias alias="adjCourtaprvlVO" type="kcc.kccadr.adjCourtCnctn.service.AdjCourtaprvlVO"/>
<typeAlias alias="adjCourtAppVO" type="kcc.kccadr.adjCourtCnctn.service.AdjCourtAppVO"/>
<typeAlias alias="adjCourtRprtMgrVO" type="kcc.kccadr.adjCourtCnctn.service.AdjCourtRprtMgrVO"/>
<sql id="adjCourtCnctnDAO.adjCourtCnctnListSql">
FROM adr_court_mgr a
@ -1019,12 +1020,39 @@
<update id="adjCourtCnctnDAO.insertAdjCourtRprtDePopAjax" parameterClass="adjCourtCnctnVO">
UPDATE adr_court_mgr
SET crt_rprt_de = #crtRprtDe#
, last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = now()
WHERE crt_seq = #crtSeq#
/* adjCourtCnctnDAO.insertAdjCourtRprtDePopAjax */
MERGE INTO ADR_COURT_RPRT_MGR T1 USING DB_ROOT
ON (
T1.CRT_SEQ = #crtSeq#
AND T1.RPRT_SEQ = #rprtSeq#
)
WHEN MATCHED THEN
UPDATE SET
RPRT_PHONE = #rprtPhone#
, RPRT_PGR = #rprtPgr#
, CRT_RPRT_DE = #crtRprtDe#
, LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
WHEN NOT MATCHED THEN
INSERT (
CRT_SEQ
, RPRT_SEQ
, RPRT_PHONE
, RPRT_PGR
, CRT_RPRT_DE
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
) VALUES (
#crtSeq#
, #rprtSeqTemp#
, #rprtPhone#
, #rprtPgr#
, #crtRprtDe#
, NOW()
, #frstRegisterId#
)
</update>
<update id="adjCourtCnctnDAO.updateOfcpsNmFromAdrCourtDeptMgr" parameterClass="adjCourtCnctnVO">
@ -1058,6 +1086,42 @@
</update>
<select id="adjCourtCnctnDAO.findByIdFromAdjCourtRprtMgr" parameterClass="adjCourtCnctnVO" resultClass="adjCourtCnctnVO">
/* adjCourtCnctnDAO.findByIdFromAdjCourtRprtMgr */
SELECT
crt_seq AS crtSeq
, rprt_seq AS rprtSeq
, rprt_phone AS rprtPhone
, rprt_pgr AS rprtPgr
, crt_rprt_de AS crtRprtDe
, frst_regist_pnttm AS frstRegistPnttm
, frst_register_id AS frstRegisterId
, last_updt_pnttm AS lastUpdtPnttm
, last_updusr_id AS lastUpdusrId
FROM
ADR_COURT_RPRT_MGR
WHERE crt_seq = #crtSeq#
</select>
<select id="adjCourtCnctnDAO.findByRprtSeqFromAdrCourtRprtMgr" parameterClass="adjCourtCnctnVO" resultClass="adjCourtRprtMgrVO">
/* adjCourtCnctnDAO.findByIdFromAdjCourtRprtMgr */
SELECT
crt_seq AS crtSeq
, rprt_seq AS rprtSeq
, rprt_phone AS rprtPhone
, rprt_pgr AS rprtPgr
, crt_rprt_de AS crtRprtDe
, frst_regist_pnttm AS frstRegistPnttm
, frst_register_id AS frstRegisterId
, last_updt_pnttm AS lastUpdtPnttm
, last_updusr_id AS lastUpdusrId
FROM
ADR_COURT_RPRT_MGR
WHERE rprt_seq = #rprtSeq#
</select>

View File

@ -57,7 +57,8 @@ function DeptPop(){
commonPopWindowopenForm("/kccadr/adjCourtCnctn/popup/adjCourtCnctnDeptPop.do", "650", "400", "DeptPop", $("#popForm"));
}
function RprtDePop(){
function RprtDePop(rprtSeq){
$('#popForm input[name="rprtSeq"]').val(rprtSeq);
commonPopWindowopenForm("/kccadr/adjCourtCnctn/popup/adjCourtRprtDePop.do", "650", "400", "RprtDePop", $("#popForm"));
}
@ -150,6 +151,7 @@ function updateMemo(div){
<input type="hidden" name="crtStatCd" id="crtStatCd" value=""/>
<input type="hidden" name="esntlId" value="<c:out value="${courtVO.esntlId}" />" />
<input type="hidden" name="crtRprtDe" value="<c:out value="${courtVO.crtRprtDe}" />" />
<input type="hidden" name="rprtSeq" value="" />
</form>
@ -203,15 +205,43 @@ function updateMemo(div){
<c:out value="${fn:substring(courtVO.crtAllctDdlDeAdd2nd, 0, 10)}"/>
</td>
</tr>
<c:forEach items="${courtVO.adjCourtRprtMgrList }" var="rprtMgr" varStatus="status">
<c:if test="${status.index eq 0}">
<tr>
<th rowspan="${fn:length(courtVO.adjCourtRprtMgrList) + 1}">사무수행보고일</th>
</c:if>
<c:if test="${status.index ne 0}">
<tr>
</c:if>
<td>
<c:out value="${fn:substring(rprtMgr.crtRprtDe, 0, 10)}"/>
(
<c:if test="${rprtMgr.rprtPhone eq 'Y'}">전화</c:if>
<c:if test="${rprtMgr.rprtPgr eq 'Y'}">
<c:if test="${rprtMgr.rprtPhone eq 'Y'}">,</c:if>
기일진행
</c:if>
)
<c:if test="${loginVO.ofcpsNm eq '80'
or loginVO.ofcpsNm eq '90'
or loginVO.id eq 'admin'}">
<button type="button" class="btnType06" onclick="RprtDePop('${rprtMgr.rprtSeq }');">보고일자 선택</button>
</c:if>
</td>
</tr>
</c:forEach>
<tr>
<!-- <th>사무수행보고일</th> -->
<th>사무수행보고일</th>
<c:if test="${fn:length(courtVO.adjCourtRprtMgrList) eq 0}">
<th rowspan="">사무수행보고일</th>
</c:if>
<td>
<c:out value="${fn:substring(courtVO.crtRprtDe, 0, 10)}"/>
<c:if test="${loginVO.ofcpsNm eq '80'
or loginVO.ofcpsNm eq '90'
or loginVO.id eq 'admin'}">
<button type="button" class="btnType06" onclick="RprtDePop();">보고일자 선택</button>
<button type="button" class="btnType06" onclick="RprtDePop('');">보고일자 선택</button>
</c:if>
</td>
</tr>

View File

@ -39,6 +39,11 @@
var form = document.insertForm;
form.crtRprtDe.value = document.listForm.crtRprtDe.value;
form.rprtPhone.value = document.listForm.rprtPhone.checked ? 'Y' : 'N';
form.rprtPgr.value = document.listForm.rprtPgr.checked ? 'Y' : 'N';
var msg = "선택 하시겠습니까?";
if(confirm(msg)){
@ -73,13 +78,27 @@
<body>
<form name="insertForm" id="insertForm">
<input type="hidden" id="crtSeq" name="crtSeq" value="${AdjCourtCnctnVO.crtSeq}" />
<input type="hidden" name="rprtSeq" value="${adjCourtRprtMgrVO.rprtSeq}" />
<input type="hidden" name="crtRprtDe" value="${AdjCourtCnctnVO.crtRprtDe}" />
<input type="hidden" name="rprtPhone" value="${adjCourtRprtMgrVO.rprtPhone}" />
<input type="hidden" name="rprtPgr" value="${adjCourtRprtMgrVO.rprtPgr}" />
</form>
<div class="area_popup search_list_popup" style="width: 640px;">
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="targetId" id="targetId" value="<c:out value='${dtbVO.targetId}' />" />
<div class="cont_popup">
<p class="tit_text tt1">사무수행보고일</p>
<div class="btn_wrap btn_layout04">
<p style="margin-bottom: 21px;">
<label for="rprtPhone">전화</label>전화
<input type="checkbox" name="rprtPhone" id="rprtPhone" value="Y" ${adjCourtRprtMgrVO.rprtPhone eq 'Y' ? 'checked' : ''} style="margin-right: 32px;" >
<label for="rprtPgr">기일진행</label>기일진행
<input type="checkbox" name="rprtPgr" id="rprtPgr" value="Y" ${adjCourtRprtMgrVO.rprtPgr eq 'Y' ? 'checked' : ''} >
</p>
</div>
<table class="pop_tbType02">
<colgroup>
<col style="width: 60%">
@ -95,7 +114,7 @@
<tr>
<td>
<div id="sel_date" class="sel_date">
<input readonly="readonly" type="text" class="crtRprtDe inp" title="사무수행보고일" id="crtRprtDe" name="crtRprtDe" value="${fn:substring(AdjCourtCnctnVO.crtRprtDe, 0, 10)}" data-datecontrol="true">
<input readonly="readonly" type="text" class="crtRprtDe inp" title="사무수행보고일" id="crtRprtDe" name="crtRprtDe" value="${fn:substring(adjCourtRprtMgrVO.crtRprtDe, 0, 10)}" data-datecontrol="true">
<div class="calendar_in" id="calendarName_crtRprtDe" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('crtRprtDe-lry','',this)" class="btn_cal" ></button>
<div id="crtRprtDe-lry" class="calendarPop" style="display: none;">