Merge branch 'master' of

http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/kcc_adr_advc_git

Conflicts:
	src/main/resources/egovframework/egovProps/globals_local.properties
This commit is contained in:
myname 2022-09-13 17:45:00 +09:00
commit 2027c05c85
66 changed files with 6916 additions and 1014 deletions

2
.gitignore vendored
View File

@ -74,4 +74,4 @@ buildNumber.properties
.mvn/timing.properties
# jrebel
rebel.xml
src/main/resources/rebel.xml

View File

@ -97,7 +97,7 @@ public class IpUtil {
String ozServerNm = "";
if(serverNm.contains("localhost") || serverNm.contains("219.240.88.15")) {//로컬 개발서버 요청시 서버 경로 처리
if(serverNm.contains("localhost") || serverNm.contains("219.240.88.15") || serverNm.contains("iten.co.kr")) {//로컬 개발서버 요청시 서버 경로 처리
ozServerNm = "http://219.240.88.15:8091";

View File

@ -78,6 +78,7 @@ public class AdjstDeputyReqVO extends ComDefaultVO implements Serializable {
private String resPonDentNms;
private String ccTy;
private String rejectCn;
private String expCode;
public int getRowNumber() {
return rowNumber;
@ -390,5 +391,13 @@ public class AdjstDeputyReqVO extends ComDefaultVO implements Serializable {
public void setRejectCn(String rejectCn) {
this.rejectCn = rejectCn;
}
public String getExpCode() {
return expCode;
}
public void setExpCode(String expCode) {
this.expCode = expCode;
}
}

View File

@ -44,6 +44,10 @@ public class AdjstReqStatusVO extends AdjstIncidentVO {
private String docTy;
private String rpplUsrTyNm;
private String pageExpIndex;
private String expCode;
public String getAdrSn() {
return adrSn;
@ -242,8 +246,22 @@ public class AdjstReqStatusVO extends AdjstIncidentVO {
public void setRpplUsrTyNm(String rpplUsrTyNm) {
this.rpplUsrTyNm = rpplUsrTyNm;
}
public String getPageExpIndex() {
return pageExpIndex;
}
public void setPageExpIndex(String pageExpIndex) {
this.pageExpIndex = pageExpIndex;
}
public String getExpCode() {
return expCode;
}
public void setExpCode(String expCode) {
this.expCode = expCode;
}
}

View File

@ -535,6 +535,7 @@ public class ApmController {
int resultCnt = entService.updateEntApprYnInfo(entVO
, "조정진행관리>>조정진행목록>조정진행상세>사건문서>취하신청사유>P>취하신청상세-처리" //String p_code_desc - CC199
, "A330" //String p_stat_cd - 취하처리
, ""
);
if(resultCnt > 0) {

View File

@ -12,12 +12,14 @@ public interface DtbService {
int updateDistribution(DtbVO dtbVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
int insertDistribution(DtbVO dtbVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
int deleteDistribution(DtbVO dtbVO) throws Exception;

View File

@ -61,11 +61,13 @@ public class DtbServiceImpl implements DtbService {
@Override
public int updateDistribution(DtbVO dtbVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
return insertDistribution(dtbVO
, p_code_desc
, p_stat_cd
, p_stat_cd
, p_adrHstryMgrSeq
);
}
@ -76,7 +78,8 @@ public class DtbServiceImpl implements DtbService {
@Override
public int insertDistribution(DtbVO dtbVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
@ -94,6 +97,31 @@ public class DtbServiceImpl implements DtbService {
dtbVO.setAssUsrTy("01"); // 01 조정부장
dtbVO.setAddChgYn("N");
dtbDAO.insertDistribution_setp0(dtbVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(dtbVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, dtbVO.getFrstRegisterId()
, dtbVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "I" //, String p_useCd I/U/UI/II/RE
, "ADR_ASS_MGR" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+dtbVO.getAdrSeq()
+ " AND adr_sn='"+dtbVO.getAdrSn()
+ " AND ass_seq='"+dtbVO.getAssSeq()
+"' " //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
@ -108,6 +136,31 @@ public class DtbServiceImpl implements DtbService {
dtbDAO.insertDistribution_setp0(dtbVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(dtbVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, dtbVO.getFrstRegisterId()
, dtbVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "I" //, String p_useCd I/U/UI/II/RE
, "ADR_ASS_MGR" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+dtbVO.getAdrSeq()
+ " AND adr_sn='"+dtbVO.getAdrSn()
+ " AND ass_seq='"+dtbVO.getAssSeq()
+"' " //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
@ -117,6 +170,32 @@ public class DtbServiceImpl implements DtbService {
dtbVO.setAssUsrTy("02"); // 02 조정위원
dtbVO.setAddChgYn(dtbVO.getAddChgYn1());
dtbDAO.insertDistribution_setp0(dtbVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(dtbVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, dtbVO.getFrstRegisterId()
, dtbVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "I" //, String p_useCd I/U/UI/II/RE
, "ADR_ASS_MGR" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+dtbVO.getAdrSeq()
+ " AND adr_sn='"+dtbVO.getAdrSn()
+ " AND ass_seq='"+dtbVO.getAssSeq()
+"' " //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
if (!StringUtil.isEmpty(dtbVO.getAddUsrId2())) {
@ -125,6 +204,32 @@ public class DtbServiceImpl implements DtbService {
dtbVO.setAssUsrTy("02"); // 02 조정위원
dtbVO.setAddChgYn(dtbVO.getAddChgYn2()); // 대석여부
dtbDAO.insertDistribution_setp0(dtbVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(dtbVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, dtbVO.getFrstRegisterId()
, dtbVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "I" //, String p_useCd I/U/UI/II/RE
, "ADR_ASS_MGR" //, String p_tableName
, " WHERE 1=1 AND adr_seq='"+dtbVO.getAdrSeq()
+ " AND adr_sn='"+dtbVO.getAdrSn()
+ " AND ass_seq='"+dtbVO.getAssSeq()
+"' " //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
@ -139,8 +244,15 @@ public class DtbServiceImpl implements DtbService {
, p_stat_cd
, dtbVO.getFrstRegisterId()
, dtbVO.getLastUpdusrId());
//adr_hstry_mgr에 넣기 -
, dtbVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_ASS_MGR" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
return rs;
}

View File

@ -231,7 +231,8 @@ public class DtbController {
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
dtbService.insertDistribution(dtbVO
, "조정진행관리>>조정진행목록>조정결재상세>조정부지정>배당결재요청" //String p_code_desc - CC199
, "A100" //String p_stat_cd 배당결재요청
, "A100" //String p_stat_cd 배당결재요청
, ""
);
@ -274,7 +275,8 @@ public class DtbController {
dtbService.insertDistribution(dtbVO
, "조정진행관리>>조정진행목록>조정결재상세>조정부지정>배당결재요청" //String p_code_desc - CC199
, "A100" //String p_stat_cd 배당결재요청
, "A100" //String p_stat_cd 배당결재요청
, ""
);
/* 조정부등록
@ -318,7 +320,8 @@ public class DtbController {
dtbService.updateDistribution(dtbVO
, "조정진행관리>>조정진행목록>조정결재상세>조정부지정>배당결재요청-수정" //String p_code_desc - CC199
, "A110" //String p_stat_cd 배당결재요청
, "A110" //String p_stat_cd 배당결재요청
, ""
);

View File

@ -9,7 +9,8 @@ public interface EntService {
public int updateEntApprYnInfo(EntVO entVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
}

View File

@ -53,7 +53,8 @@ public class EntServiceImpl implements EntService{
public int updateEntApprYnInfo(EntVO entVO
, String p_code_desc
, String p_stat_cd
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception{
if(KccadrConstants.ADR_CNCL_DROP_COMP.equals(entVO.getApprYn())){
@ -87,7 +88,14 @@ public class EntServiceImpl implements EntService{
, p_stat_cd
, adjReqMgrVO.getFrstRegisterId()
, adjReqMgrVO.getLastUpdusrId());
, adjReqMgrVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "adr_cncl_mgr" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}catch(Exception ex) {
ex.printStackTrace();

View File

@ -61,7 +61,7 @@ public class ExmpAppManagerController {
private EgovFileMngService fileMngService;
///kccadr/adjPgrMgr/expm/AdjustExpmManagerList.do
@RequestMapping(value = "/kccadr/adjPgrMgr/exmp/exmpAppManagerList.do")
public String exmpAppManagerList(@ModelAttribute("exmpAppManageVO") ExmpManageVO exmpAppManageVO , ModelMap model) throws Exception {
if(exmpAppManageVO.getPageUnit() != 10) {
@ -82,6 +82,8 @@ public class ExmpAppManagerController {
exmpAppManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
exmpAppManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
exmpAppManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
exmpAppManageVO.setCodeId("CC002");
paginationInfo.setTotalRecordCount(exmpAppManageService.selectExmpAppManagerCount(exmpAppManageVO));
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", exmpAppManageService.selectExmpAppManagerList(exmpAppManageVO));

View File

@ -10,6 +10,7 @@ public interface InternalApprovManageService {
Integer updateinternalApprovManageSave(InternalApprovManageVO internalApprovManageVO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception;
List<InternalApprovManageVO> selectInternalApprovManageList(InternalApprovManageVO internalApprovManageVO) throws Exception;

View File

@ -52,6 +52,7 @@ public class InternalAppovManageServiceImpl implements InternalApprovManageServi
public Integer updateinternalApprovManageSave(InternalApprovManageVO internalApprovManageVO
, String p_code_desc
, String p_stat_cd
, String p_adrHstryMgrSeq
) throws Exception {
int rs = 0;
@ -72,15 +73,39 @@ public class InternalAppovManageServiceImpl implements InternalApprovManageServi
// 조정부일때..
if(KccadrConstants.SBMT_USER_TYPE.equals(statInfo.getTarget())){
rs += internalApprovManageDAO.updateDeptUserSbmt(internalApprovManageVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(internalApprovManageVO.getAdrSeq()
//, "상태코드수정"
, p_code_desc
//, adjReqMgrVO.getStatCd()
, p_stat_cd
, internalApprovManageVO.getFrstRegisterId()
, internalApprovManageVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_SBMT_DETAIL_MGR" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
// 조정부 전체 결재 상태가 null이 아니고 , Y일때 반려를했을때만 부모테이블 업데이트 처리
if((StringUtils.isNotBlank(statInfo.getMemSuc()) && "Y".equals(statInfo.getMemSuc()) ) || "N".equals(internalApprovManageVO.getSbmtYn())){
rs += internalApprovManageDAO.updateUserSbmtMgr(internalApprovManageVO);
}
}else{
rs += internalApprovManageDAO.updateUserSbmtMgr(internalApprovManageVO);
}
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(internalApprovManageVO.getAdrSeq()
@ -90,8 +115,16 @@ public class InternalAppovManageServiceImpl implements InternalApprovManageServi
, p_stat_cd
, internalApprovManageVO.getFrstRegisterId()
, internalApprovManageVO.getLastUpdusrId());
//adr_hstry_mgr에 넣기 -
, internalApprovManageVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_SBMT_MGR" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}

View File

@ -357,7 +357,8 @@ public class InternalApprovManageController {
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
int rs = internalApprovManageService.updateinternalApprovManageSave(internalApprovManageVO
, "조정진행관리>>내부결재목록>조정결재상세>결재처리" //String p_code_desc - CC199
, "A090" //String p_stat_cd
, "A090" //String p_stat_cd
, ""
);
if(rs > 0 ){
AdjstConciliatorVO statSearch = new AdjstConciliatorVO();

View File

@ -63,7 +63,10 @@ public interface AdjstReqService {
public int updateAdjstReqPerson(AdjstReqVO adjstReqVO) throws Exception;
//3단계 저장
public int updateMasterInfo(AdjstReqVO adjstReqVO, MultipartHttpServletRequest multipartHttpServletRequest) throws Exception;
public int updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest multipartHttpServletRequest
, String p_adrHstryMgrSeq
) throws Exception;
public int selectAdjstReqRegistPopCount(AdjstReqVO adjstReq) throws Exception;

View File

@ -766,10 +766,15 @@ public class AdjstReqServiceImpl extends EgovAbstractServiceImpl implements Adj
}
@Override
public int updateMasterInfo(AdjstReqVO adjstReqVO, MultipartHttpServletRequest mltReq) throws Exception {
public int updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest mltReq
, String p_adrHstryMgrSeq
) throws Exception {
int rs = 0;
rs = _updateMasterInfo(adjstReqVO, mltReq);
rs = _updateMasterInfo(adjstReqVO, mltReq
, p_adrHstryMgrSeq
);
/*
String atchFileId = adjstReqVO.getAtchFileId();
@ -1039,7 +1044,10 @@ public class AdjstReqServiceImpl extends EgovAbstractServiceImpl implements Adj
return result;
}
private int _updateMasterInfo(AdjstReqVO adjstReqVO, MultipartHttpServletRequest mltReq) throws Exception {
private int _updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest mltReq
, String p_adrHstryMgrSeq
) throws Exception {
int rs = 0;
String atchFileId = adjstReqVO.getAtchFileId();
@ -1101,6 +1109,23 @@ public class AdjstReqServiceImpl extends EgovAbstractServiceImpl implements Adj
if(StringUtils.isNotBlank(adjstReqVO.getEdtSn()) ){
adjstReqVO.setEdtStatus("02"); // 수정, 보완 완료상태로 변경
adjstReqDAO.updateAdrMgrEditInfo(adjstReqVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(adjstReqVO.getAdrSeq(), "조정신청서 제출", adjstReqVO.getStatCd()
, adjstReqVO.getFrstRegisterId()
, adjstReqVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_EDT_REQ" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
// 보완요청을 했을경우 상태를 보완요청완료로 변경
if("S".equals(adjstReqVO.getEdtTy())){
adjstReqVO.setStatCd(KccadrConstants.ADR_SUPP_COMP);
@ -1108,14 +1133,23 @@ public class AdjstReqServiceImpl extends EgovAbstractServiceImpl implements Adj
}
rs += adjstReqDAO.updateAdrMgrMasterComplete(adjstReqVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(adjstReqVO.getAdrSeq(), "조정신청서 제출", adjstReqVO.getStatCd()
, adjstReqVO.getFrstRegisterId()
, adjstReqVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_MGR_MASTER" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
return rs;
}

View File

@ -17,7 +17,6 @@ import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.SystemEnvironmentPropertySource;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -47,7 +46,6 @@ import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.accdnt.crtfc.service.CrtfcService;
import kcc.kccadr.adjPgrMgr.exmp.cmm.ExmpManageVO;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.cmm.KccadrConstants;
@ -484,7 +482,10 @@ public class AdjstReqWebController {
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstReqService.updateMasterInfo(adjstReqVO, multiRequest);
int rs = adjstReqService.updateMasterInfo(adjstReqVO
, multiRequest
, ""
);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공메세지
return modelAndView;

View File

@ -4,8 +4,11 @@ import java.util.List;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.accdnt.arc.service.CorReqVO;
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.cmm.RestResponse;
/**
* 조정신청 관리를 위한 서비스 인터페이스 클래스
@ -26,6 +29,8 @@ import kcc.kccadr.cmm.RestResponse;
public interface AdjstExpService {
/*===== 신청하기 =====*/
String checkAdjsReqEditStatus(AdjstReqVO adjstReq) throws Exception;
// 조정사건 대리인/신청인/피신청인 정보 불러오기
@ -40,4 +45,27 @@ public interface AdjstExpService {
//1단계 수정(from 이전 불러오기)
public int updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception;
//2단계 저장
public int insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception;
//3단계 저장
public int updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest multipartHttpServletRequest
, String p_adrHstryMgrSeq
) throws Exception;
/*===== Detail =====*/
List<AdjstReqStatusVO> selectAdjstReqRpplInfo(AdjstReqStatusVO adjstReqStatusVO) throws Exception;
AdjstIncidentVO selectAdjstIncidentMaster(AdjstIncidentVO adjstIncidentVO) throws Exception;
List<CorReqVO> selectRpplList(AdjstDeputyReqVO adjDeputyReqVO);
}

View File

@ -5,6 +5,10 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.accdnt.arc.service.CorReqVO;
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
import kcc.kccadr.adjst.service.AdjstReqVO;
/**
@ -25,47 +29,93 @@ import kcc.kccadr.adjst.service.AdjstReqVO;
*/
@Repository("AdjstExpDAO")
public class AdjstExpDAO extends EgovAbstractDAO {
/*===== 신청하기 =====*/
// 조정사건 정보 불러오기
public AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception{
return (AdjstReqVO) select("AdjstExpDAO.selectAdjsMgrMasterByUniqId", adjstReqVO);
return (AdjstReqVO) select("adjstExpDAO.selectAdjsMgrMasterByUniqId", adjstReqVO);
}
public AdjstReqVO selectAdjsReqEditInfo(AdjstReqVO adjstReqVO) throws Exception{
return (AdjstReqVO) select("AdjstExpDAO.selectAdjsReqEditInfo", adjstReqVO);
return (AdjstReqVO) select("adjstExpDAO.selectAdjsReqEditInfo", adjstReqVO);
}
// 조정사건 대리인/신청인/피신청인 정보 불러오기
@SuppressWarnings("unchecked")
public List<AdjstReqVO> selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception{
return (List<AdjstReqVO>) list("AdjstExpDAO.selectAdjsReqUserListByadjSeq", adjstReqVO);
return (List<AdjstReqVO>) list("adjstExpDAO.selectAdjsReqUserListByadjSeq", adjstReqVO);
}
//조정사건 신규 등록
public int insertAdrMgrMaster(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrMgrMaster", adjstReqVO);
return update("adjstExpDAO.insertAdrMgrMaster", adjstReqVO);
}
//조정사건 상세 신규 등록
public int insertAdrMgrMasterDetail(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrMgrMasterDetail", adjstReqVO);
return update("adjstExpDAO.insertAdrMgrMasterDetail", adjstReqVO);
}
public int updateCopyMasterInfo(AdjstReqVO adjstReqVO) throws Exception {
return (Integer) update("AdjstExpDAO.updateCopyMasterInfo", adjstReqVO);
return (Integer) update("adjstExpDAO.updateCopyMasterInfo", adjstReqVO);
}
public void mergeIntoAdrRppl(AdjstReqVO adjstReqVO) throws Exception {
insert("AdjstExpDAO.mergeIntoAdrRppl", adjstReqVO);
insert("adjstExpDAO.mergeIntoAdrRppl", adjstReqVO);
}
//조정사건 대리인, 신청인, 피신청인 정보 등록
public int insertAdrRppl(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrRppl", adjstReqVO);
return update("adjstExpDAO.insertAdrRppl", adjstReqVO);
}
// 조정사건 대리인/신청인 정보 수정
public int updateAdrRppl(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.updateAdrRppl", adjstReqVO);
return update("adjstExpDAO.updateAdrRppl", adjstReqVO);
}
public int deleteAdjstReqPersonNotIn(AdjstReqVO adjstReqVO) throws Exception {
return delete("adjstExpDAO.deleteAdjstReqPersonNotIn", adjstReqVO);
}
//조정신청 신청인 취지/원인 정보 등록
public int updateAdrMgrMaster(AdjstReqVO adjstReqVO) throws Exception{
return update("adjstExpDAO.updateAdrMgrMaster", adjstReqVO);
}
public int updateAdrMgrEditInfo(AdjstReqVO adjstReqVO) throws Exception {
return (Integer) update("adjstExpDAO.updateAdrMgrEditInfo", adjstReqVO);
}
//조정신청 최종제출 처리
public int updateAdrMgrMasterComplete(AdjstReqVO adjstReqVO) throws Exception{
return update("adjstExpDAO.updateAdrMgrMasterComplete", adjstReqVO);
}
/*===== Detail =====*/
public List<AdjstReqStatusVO> selectAdjstReqRpplInfo(AdjstReqStatusVO adjstReqStatusVO) throws Exception {
return (List<AdjstReqStatusVO>) list("adjstExpDAO.selectAdjstReqRpplInfo", adjstReqStatusVO);
}
public AdjstIncidentVO selectAdjstIncidentMaster(AdjstIncidentVO adjstIncidentVO) throws Exception {
return (AdjstIncidentVO) select("adjstExpDAO.selectAdjstIncidentMaster", adjstIncidentVO);
}
public List<CorReqVO> selectRpplList(AdjstDeputyReqVO adjDeputyReqVO) {
return (List<CorReqVO>) list("adjstExpDAO.selectRpplList", adjDeputyReqVO);
}
// public AdjstIncidentVO selectApmChgDateInfo(AdjstIncidentVO adjstIncidentVO) throws Exception{
// return (AdjstIncidentVO) select("adjstExpDAO.selectApmChgDateInfo", adjstIncidentVO);
// }
//
}

View File

@ -1,311 +1,607 @@
package kcc.kccadr.adjstExp.service.impl;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjreqmgr.service.impl.AdjReqMgrDAO;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.adjstExp.service.AdjstExpService;
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.kccadr.cmm.RestResponse;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 조정신청 관리를 위한 서비스 구현 클래스
* @author 여현준
* @since 2021.08.03
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.03 여현준 최초 생성
*
* </pre>
*/
@Service("AdjstExpService")
public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements AdjstExpService {
Logger log = LoggerFactory.getLogger(this.getClass());
// 조정신청 DAO
@Resource(name = "AdjstExpDAO")
private AdjstExpDAO adjstExpDAO;
// 조정상태관련 공통
@Resource(name = "checkAdrProcessUtil")
private CheckAdrProcessUtil checkAdrProcessUtil;
//상세 코드 정보
@Resource(name = "CmmnDetailCodeManageService")
private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService;
@Resource(name="AdjReqMgrDAO")
private AdjReqMgrDAO adjReqMgrDAO;
// 조정사건이력관리 DAO
@Resource(name = "adrHstryMgrDAO")
private AdrHstryMgrDAO adrHstryMgrDAO;
/**
* 고유ID 설정 추가
* - 설정파일경로 : /resources/egovframework/spring/com/context-idgen.xml
*/
// eGov 고유ID Generation
@Resource(name="xxxGnrService")
private EgovIdGnrService idgenService;
@Resource(name="adrGnrService")
private EgovIdGnrService adrIdgenService;
@Resource(name="rpplGnrService")
private EgovIdGnrService rpplIdgenService;
//첨부파일 경로, realPath 설정
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
// 첨부파일 정보
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
private static final Logger LOGGER = LoggerFactory.getLogger(AdjstExpServiceImpl.class);
@Override
public String checkAdjsReqEditStatus(AdjstReqVO adjstReq) throws Exception {
AdjstReqVO editInfo = null;
String result = null;
if(StringUtils.isNotBlank(adjstReq.getAdrSeq()) && StringUtils.isBlank(adjstReq.getCopyAdrSeq())){
AdjstReqVO adjMsrMaster = adjstExpDAO.selectAdjsMgrMasterByUniqId(adjstReq);
if(adjMsrMaster != null){
// 수정요청 승인이거나, 보완요청이거나
if(KccadrConstants.ADR_UPDT_APPR.equals(adjMsrMaster.getStatCd()) || KccadrConstants.ADR_SUPP_REQ.equals(adjMsrMaster.getStatCd())){
editInfo = adjstExpDAO.selectAdjsReqEditInfo(adjstReq);
}
}
}
if(editInfo != null){
result = new ObjectMapper().writeValueAsString(editInfo);
}
return result;
}
// 조정사건 대리인/신청인/피신청인 정보 불러오기
public List<AdjstReqVO> selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception{
return adjstExpDAO.selectAdjsReqUserListByadjSeq(adjstReqVO);
}
// 조정사건 정보 불러오기
public AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception{
return adjstExpDAO.selectAdjsMgrMasterByUniqId(adjstReqVO);
}
@Override
public int insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
return this._insertAdjsReqStep1Save(adjstReqVO);
}
private int _insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception{
int rs = 0;
/*
* 조정마스터 테이블에 기본 임시정보 생성
* */
// 조정키 생성
adjstReqVO.setAdrSeq(adrIdgenService.getNextStringId());
// :오프라인 온라인 코드로 등록
adjstReqVO.setReqOlCd(KccadrConstants.ADR_REQ_ONLINE);
// 조정상태 작성중 상태로 등록
adjstReqVO.setStatCd(KccadrConstants.ADR_REQ_ING);
// 마스터 정보 insert
rs = adjstExpDAO.insertAdrMgrMaster(adjstReqVO);
// 조정상세 정보 등록
if(rs > 0){
// 처음 등록하는 조정사건이기때문에 1회차 등록
adjstReqVO.setAdrSn("1");
rs = adjstExpDAO.insertAdrMgrMasterDetail(adjstReqVO);
}
// 신청인 대리인 등록
if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){
for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){
model.setAdrSeq(adjstReqVO.getAdrSeq());
// 관련인 생성
model.setRpplSeq(rpplIdgenService.getNextStringId());
// 최초등록자
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
// 마지막 수정자
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
// 조정기일 대리 여부
model.setAgntYn("N");
/* 신청인에 경우 rrplId를 등록해준다.*/
if(KccadrConstants.ADR_RPPL_TY_REQ.equals(model.getRpplTy())){
model.setRpplId(adjstReqVO.getFrstRegisterId());
}
rs += cryptAdjReqRpplSend(model);
}
}
// 이전신청 불러오기 데이터가 존재한다면 피신청인과, 마스터 정보를 복제해준다.
if(StringUtils.isNotBlank(adjstReqVO.getCopyAdrSeq())){
adjstExpDAO.updateCopyMasterInfo(adjstReqVO);
// 피신청인 목록조회..
String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_RES};
adjstReqVO.setRpplTyArr(rpplTyArr);
List<AdjstReqVO> list = adjstExpDAO.selectAdjsReqUserListByadjSeq(adjstReqVO);
for(AdjstReqVO model : list){
/*
* 복제할때는 암호화된 데이터 그대로 삽입...
* */
model.setRpplSeq(rpplIdgenService.getNextStringId()); // 관련인 일련번호 생성
model.setAdrSeq(adjstReqVO.getAdrSeq()); // 생성된 조정일련번호로 교체..
model.setAgntYn("N"); // 조정기일대리여부
model.setAdrOlYn(""); // 전자조정진행여부
model.setRpplId(""); // 조정사건관리인ID
model.setSbmtYn(""); // 제출여부
model.setSbmtDe(null); // 제출일시
model.setUsrCi(""); // 전자서명인증값
model.setApprYn(""); // 결제여부
model.setApprDe(null); // 결제일시
model.setAtchFileId(""); // 첨부파일ID
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
adjstExpDAO.mergeIntoAdrRppl(model);
}
}
return rs;
}
private int _updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
int rs = 0;
if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){
for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){
model.setAdrSeq(adjstReqVO.getAdrSeq());
// 최초등록자
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
// 마지막 수정자
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
// 조정기일 대리 여부
model.setAgntYn("N");
/* 신청인에 경우 rrplId를 등록해준다.*/
if(KccadrConstants.ADR_RPPL_TY_REQ.equals(model.getRpplTy())){
model.setRpplId(adjstReqVO.getFrstRegisterId());
}
rs = cryptAdjReqRpplSendUpdate(model);
}
}
return rs;
}
// 조정신청 이름, 이메일, 연락처, 주소정보 암호화 데이터베이스에 수정해주기
public int cryptAdjReqRpplSendUpdate(AdjstReqVO adjstReqVO) throws Exception{
String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
//디비에 수정해 주기
int resultCnt = adjstExpDAO.updateAdrRppl(adjstReqVO);
return resultCnt;
}
// 조정신청 이름, 이메일, 연락처, 주소정보 암호화 데이터베이스에 입력해주기
public int cryptAdjReqRpplSend(AdjstReqVO adjstReqVO) throws Exception{
String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
//디비에 추가해 주기
int resultCnt = adjstExpDAO.insertAdrRppl(adjstReqVO);
return resultCnt;
}
@Override
public int updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
return _updatedjsReqStep1Save(adjstReqVO);
}
}
package kcc.kccadr.adjstExp.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.accdnt.arc.service.CorReqVO;
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjreqmgr.service.impl.AdjReqMgrDAO;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.adjstExp.service.AdjstExpService;
import kcc.kccadr.advc.service.impl.AdrHstryMgrDAO;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 조정신청 관리를 위한 서비스 구현 클래스
* @author 여현준
* @since 2021.08.03
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.03 여현준 최초 생성
*
* </pre>
*/
@Service("AdjstExpService")
public class AdjstExpServiceImpl extends EgovAbstractServiceImpl implements AdjstExpService {
Logger log = LoggerFactory.getLogger(this.getClass());
// 조정신청 DAO
@Resource(name = "AdjstExpDAO")
private AdjstExpDAO adjstExpDAO;
// 조정상태관련 공통
@Resource(name = "checkAdrProcessUtil")
private CheckAdrProcessUtil checkAdrProcessUtil;
//상세 코드 정보
@Resource(name = "CmmnDetailCodeManageService")
private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService;
@Resource(name="AdjReqMgrDAO")
private AdjReqMgrDAO adjReqMgrDAO;
// 조정사건이력관리 DAO
@Resource(name = "adrHstryMgrDAO")
private AdrHstryMgrDAO adrHstryMgrDAO;
/**
* 고유ID 설정 추가
* - 설정파일경로 : /resources/egovframework/spring/com/context-idgen.xml
*/
@Resource(name="adrExpGnrService")
private EgovIdGnrService adrExpGnrService;
@Resource(name="rpplExpGnrService")
private EgovIdGnrService rpplExpGnrService;
//첨부파일 경로, realPath 설정
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
// 첨부파일 정보
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
private static final Logger LOGGER = LoggerFactory.getLogger(AdjstExpServiceImpl.class);
/*===== 신청하기 =====*/
@Override
public String checkAdjsReqEditStatus(AdjstReqVO adjstReq) throws Exception {
AdjstReqVO editInfo = null;
String result = null;
if(StringUtils.isNotBlank(adjstReq.getAdrSeq()) && StringUtils.isBlank(adjstReq.getCopyAdrSeq())){
AdjstReqVO adjMsrMaster = adjstExpDAO.selectAdjsMgrMasterByUniqId(adjstReq);
if(adjMsrMaster != null){
// 수정요청 승인이거나, 보완요청이거나
if(KccadrConstants.ADR_UPDT_APPR.equals(adjMsrMaster.getStatCd()) || KccadrConstants.ADR_SUPP_REQ.equals(adjMsrMaster.getStatCd())){
editInfo = adjstExpDAO.selectAdjsReqEditInfo(adjstReq);
}
}
}
if(editInfo != null){
result = new ObjectMapper().writeValueAsString(editInfo);
}
return result;
}
// 조정사건 대리인/신청인/피신청인 정보 불러오기
public List<AdjstReqVO> selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception{
return adjstExpDAO.selectAdjsReqUserListByadjSeq(adjstReqVO);
}
// 조정사건 정보 불러오기
public AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception{
return adjstExpDAO.selectAdjsMgrMasterByUniqId(adjstReqVO);
}
@Override
public int insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
return this._insertAdjsReqStep1Save(adjstReqVO);
}
private int _insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception{
int rs = 0;
/*
* 조정마스터 테이블에 기본 임시정보 생성
* */
// 조정키 생성
adjstReqVO.setAdrSeq(adrExpGnrService.getNextStringId());
// :오프라인 온라인 코드로 등록
adjstReqVO.setReqOlCd(KccadrConstants.ADR_REQ_ONLINE);
// 조정상태 작성중 상태로 등록
adjstReqVO.setStatCd(KccadrConstants.ADR_REQ_ING);
// 마스터 정보 insert
rs = adjstExpDAO.insertAdrMgrMaster(adjstReqVO);
// 조정상세 정보 등록
if(rs > 0){
// 처음 등록하는 조정사건이기때문에 1회차 등록
adjstReqVO.setAdrSn("1");
rs = adjstExpDAO.insertAdrMgrMasterDetail(adjstReqVO);
}
// 신청인 대리인 등록
if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){
for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){
model.setAdrSeq(adjstReqVO.getAdrSeq());
// 관련인 생성
model.setRpplSeq(rpplExpGnrService.getNextStringId());
// 최초등록자
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
// 마지막 수정자
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
// 조정기일 대리 여부
model.setAgntYn("N");
/* 신청인에 경우 rrplId를 등록해준다.*/
if(KccadrConstants.ADR_RPPL_TY_REQ.equals(model.getRpplTy())){
model.setRpplId(adjstReqVO.getFrstRegisterId());
}
rs += cryptAdjReqRpplSend(model);
}
}
// 이전신청 불러오기 데이터가 존재한다면 피신청인과, 마스터 정보를 복제해준다.
if(StringUtils.isNotBlank(adjstReqVO.getCopyAdrSeq())){
adjstExpDAO.updateCopyMasterInfo(adjstReqVO);
// 피신청인 목록조회..
String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_RES};
adjstReqVO.setRpplTyArr(rpplTyArr);
List<AdjstReqVO> list = adjstExpDAO.selectAdjsReqUserListByadjSeq(adjstReqVO);
for(AdjstReqVO model : list){
/*
* 복제할때는 암호화된 데이터 그대로 삽입...
* */
model.setRpplSeq(rpplExpGnrService.getNextStringId()); // 관련인 일련번호 생성
model.setAdrSeq(adjstReqVO.getAdrSeq()); // 생성된 조정일련번호로 교체..
model.setAgntYn("N"); // 조정기일대리여부
model.setAdrOlYn(""); // 전자조정진행여부
model.setRpplId(""); // 조정사건관리인ID
model.setSbmtYn(""); // 제출여부
model.setSbmtDe(null); // 제출일시
model.setUsrCi(""); // 전자서명인증값
model.setApprYn(""); // 결제여부
model.setApprDe(null); // 결제일시
model.setAtchFileId(""); // 첨부파일ID
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
adjstExpDAO.mergeIntoAdrRppl(model);
}
}
return rs;
}
private int _updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
int rs = 0;
if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){
for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){
model.setAdrSeq(adjstReqVO.getAdrSeq());
// 최초등록자
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
// 마지막 수정자
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
// 조정기일 대리 여부
model.setAgntYn("N");
/* 신청인에 경우 rrplId를 등록해준다.*/
if(KccadrConstants.ADR_RPPL_TY_REQ.equals(model.getRpplTy())){
model.setRpplId(adjstReqVO.getFrstRegisterId());
}
rs = cryptAdjReqRpplSendUpdate(model);
}
}
return rs;
}
@Override
public int insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception {
return _insertAdjsReqStep2Save(adjstReqVO);
}
private int _insertAdjsReqStep2Save(AdjstReqVO adjstReqVO) throws Exception {
int rs = 0 ;
List<String> existSeqList = new ArrayList<>();
if(CollectionUtils.isNotEmpty(adjstReqVO.getAdjstRpplList())){
for(AdjstReqVO model : adjstReqVO.getAdjstRpplList()){
// 관련일 일련번호가 없다면 생성
if(StringUtils.isEmpty(model.getRpplSeq())){
model.setRpplSeq(rpplExpGnrService.getNextStringId());
}
model.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES);
model.setAdrSeq(adjstReqVO.getAdrSeq());
// 최초등록자
model.setFrstRegisterId(adjstReqVO.getFrstRegisterId());
// 마지막 수정자
model.setLastUpdusrId(adjstReqVO.getLastUpdusrId());
// 조정기일 대리 여부
model.setAgntYn("N");
cryptAdjReqRpplSendMerge(model);
existSeqList.add(model.getRpplSeq());
rs++;
}
}
// 등록된 피신청인을 제외한 나머지 삭제 처리....
if(rs > 0){
// 피신청인 현재 등록 수정된 피신청인을 제외한 나머지 삭제 처리..
adjstReqVO.setExistSeqList(existSeqList);
adjstReqVO.setRpplTy(KccadrConstants.ADR_RPPL_TY_RES);
adjstExpDAO.deleteAdjstReqPersonNotIn(adjstReqVO);
}
return rs;
}
@Override
public int updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest mltReq
, String p_adrHstryMgrSeq
) throws Exception {
int rs = 0;
rs = _updateMasterInfo(adjstReqVO
, mltReq
, p_adrHstryMgrSeq
);
return rs;
}
private int _updateMasterInfo(AdjstReqVO adjstReqVO
, MultipartHttpServletRequest mltReq
, String p_adrHstryMgrSeq
) throws Exception {
int rs = 0;
String atchFileId = adjstReqVO.getAtchFileId();
final Map<String, MultipartFile> files = mltReq.getFileMap();
if (!files.isEmpty()) {
if ("".equals(atchFileId)) {
List<FileVO> result = fileUtil.parseFileInf(files, "조정 신청_", 0, atchFileId, "", "");
atchFileId = fileMngService.insertFileInfs(result);
adjstReqVO.setAtchFileId(atchFileId);
} else {
FileVO fvo = new FileVO();
fvo.setAtchFileId(atchFileId);
int cnt = fileMngService.getMaxFileSN(fvo);
List<FileVO> result = fileUtil.parseFileInf(files, "조정 신청_", cnt, atchFileId, "", "");
fileMngService.updateFileInfs(result);
}
}
// 조정사건이력업데이트
{
AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
adjReqMgrVO.setAdrSeq(adjstReqVO.getAdrSeq());
adjReqMgrVO.setAdrSn(adjstReqVO.getAdrSn());
adjReqMgrVO.setStatCd(KccadrConstants.ADR_REQ_COMP);
adjReqMgrVO = checkAdrProcessUtil.getAdrHstryCn(adjReqMgrVO); // 이력 내용 확인
//하기 내용으로 변경
CmmnDetailCodeVO cmmnDetailCodeVO = new CmmnDetailCodeVO();
cmmnDetailCodeVO.setCodeId("CC022");
cmmnDetailCodeVO.setCode(KccadrConstants.ADR_REQ_COMP);
CmmnDetailCode cmmnDetailCode = new CmmnDetailCode();
cmmnDetailCode = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO);
adjReqMgrVO.setHstryCn(cmmnDetailCode.getCodeNm());
System.out.println("cmmnDetailCode.getCodeNm()");
System.out.println(cmmnDetailCode.getCodeNm());
try {
adjReqMgrDAO.insertAdrHstry(adjReqMgrVO); // 이력 등록
}catch(Exception ex) {
ex.printStackTrace();
}
}
// 조정 마스터 정보 업데이트
rs += adjstExpDAO.updateAdrMgrMaster(adjstReqVO);
if(KccadrConstants.ADR_MODE_SMT.equals(adjstReqVO.getMode())){
adjstReqVO.setStatCd(KccadrConstants.ADR_REQ_COMP); // 제출완료상태
// 수정,보완요청 상태 업데이트..
if(StringUtils.isNotBlank(adjstReqVO.getEdtSn()) ){
adjstReqVO.setEdtStatus("02"); // 수정, 보완 완료상태로 변경
adjstExpDAO.updateAdrMgrEditInfo(adjstReqVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(adjstReqVO.getAdrSeq(), "조정신청서 제출", adjstReqVO.getStatCd()
, adjstReqVO.getFrstRegisterId()
, adjstReqVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_EDT_REQ" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
// 보완요청을 했을경우 상태를 보완요청완료로 변경
if("S".equals(adjstReqVO.getEdtTy())){
adjstReqVO.setStatCd(KccadrConstants.ADR_SUPP_COMP);
}
}
rs += adjstExpDAO.updateAdrMgrMasterComplete(adjstReqVO);
//이력관리를 위한 adr_hstry_mgr_detail - 2022-09-07 serviceImpl #1
//이력관리를 위한 adr_hstry_mgr 데이터 관리 추가 - 2022-08-09
//adr_hstry_mgr에 넣기 - 시작
adrHstryMgrDAO.insert4Func(adjstReqVO.getAdrSeq(), "조정신청서 제출", adjstReqVO.getStatCd()
, adjstReqVO.getFrstRegisterId()
, adjstReqVO.getLastUpdusrId()
, p_adrHstryMgrSeq //, String p_adrHstryMgrSeq
, "U" //, String p_useCd I/U/UI/II/RE
, "ADR_MGR_MASTER" //, String p_tableName
, "" //, String p_updateQuery
);
//adr_hstry_mgr에 넣기 -
}
return rs;
}
/*===== Detail =====*/
@Override
public List<AdjstReqStatusVO> selectAdjstReqRpplInfo(AdjstReqStatusVO adjstReqStatusVO) throws Exception {
return adjstExpDAO.selectAdjstReqRpplInfo(adjstReqStatusVO);
}
@Override
public AdjstIncidentVO selectAdjstIncidentMaster(AdjstIncidentVO adjstIncidentVO) throws Exception {
return adjstExpDAO.selectAdjstIncidentMaster(adjstIncidentVO);
}
/*===== 공통 =====*/
// 조정신청 이름, 이메일, 연락처, 주소정보 암호화 데이터베이스에 수정해주기
public int cryptAdjReqRpplSendUpdate(AdjstReqVO adjstReqVO) throws Exception{
String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
//디비에 수정해 주기
int resultCnt = adjstExpDAO.updateAdrRppl(adjstReqVO);
return resultCnt;
}
// 조정신청 이름, 이메일, 연락처, 주소정보 암호화 데이터베이스에 입력해주기
public int cryptAdjReqRpplSend(AdjstReqVO adjstReqVO) throws Exception{
String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
//디비에 추가해 주기
int resultCnt = adjstExpDAO.insertAdrRppl(adjstReqVO);
return resultCnt;
}
@Override
public int updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception {
return _updatedjsReqStep1Save(adjstReqVO);
}
public void cryptAdjReqRpplSendMerge(AdjstReqVO adjstReqVO) throws Exception{
String rpplNm = egovCryptoUtil.encrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.encrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.encrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.encrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
//디비에 수정해 주기
adjstExpDAO.mergeIntoAdrRppl(adjstReqVO);
}
@Override
public List<CorReqVO> selectRpplList(AdjstDeputyReqVO adjDeputyReqVO) {
List<CorReqVO> list = adjstExpDAO.selectRpplList(adjDeputyReqVO);
for (CorReqVO item : list) {
decpyptVo(item);
}
return list;
}
/**
* 신청인, 피신청인 복호화
*
* @param result
*/
private void decpyptVo(CorReqVO result) {
if (result != null) {
StringBuffer key = new StringBuffer(result.getRpplSeq());
if (!StringUtil.isEmpty(result.getRpplNm())) {
result.setRpplNm(egovCryptoUtil.decrypt(result.getRpplNm()));
key.append("|" + result.getRpplNm());
}
//조정신청 신청인 이름
if (!StringUtil.isEmpty(result.getAppliCantNm())) {
result.setAppliCantNm(egovCryptoUtil.decrypt(result.getAppliCantNm()));
key.append("|" + result.getAppliCantNm());
}
if (!StringUtil.isEmpty(result.getRpplPost())) {
result.setRpplPost(egovCryptoUtil.decrypt(result.getRpplPost()));
key.append("|" + result.getRpplPost());
}
if (!StringUtil.isEmpty(result.getRpplAddr())) {
result.setRpplAddr(egovCryptoUtil.decrypt(result.getRpplAddr()));
key.append("|" + result.getRpplAddr());
}
if (!StringUtil.isEmpty(result.getRpplAddrDtl())) {
result.setRpplAddrDtl(egovCryptoUtil.decrypt(result.getRpplAddrDtl()));
key.append("|" + result.getRpplAddrDtl());
}
if (!StringUtil.isEmpty(result.getRpplPhone())) {
result.setRpplPhone(egovCryptoUtil.decrypt(result.getRpplPhone()));
if(!result.getRpplPhone().contains("-")) {
StringBuffer buff = new StringBuffer();
buff.append(result.getRpplPhone());
buff.insert(3, "-");
buff.insert(8, "-");
result.setRpplPhone(buff.toString());
}
String phone[] = result.getRpplPhone().split("-");
result.setRpplPhone01(phone[0]);
result.setRpplPhone02(phone[1]);
result.setRpplPhone03(phone[2]);
key.append("|" + result.getRpplPhone());
}
if (!StringUtil.isEmpty(result.getRpplEmail())) {
result.setRpplEmail(egovCryptoUtil.decrypt(result.getRpplEmail()));
String email[] = result.getRpplEmail().split("@");
result.setRpplEmail01(email[0]);
result.setRpplEmail02(email[1]);
key.append("|" + result.getRpplEmail());
}
if (!StringUtil.isEmpty(result.getOldRpplNm())) {
result.setOldRpplNm(egovCryptoUtil.decrypt(result.getOldRpplNm()));
}
if (!StringUtil.isEmpty(result.getOldRpplPost())) {
result.setOldRpplPost(egovCryptoUtil.decrypt(result.getOldRpplPost()));
}
if (!StringUtil.isEmpty(result.getOldRpplAddr())) {
result.setOldRpplAddr(egovCryptoUtil.decrypt(result.getOldRpplAddr()));
}
if (!StringUtil.isEmpty(result.getOldRpplAddrDtl())) {
result.setOldRpplAddrDtl(egovCryptoUtil.decrypt(result.getOldRpplAddrDtl()));
}
if (!StringUtil.isEmpty(result.getOldRpplPhone())) {
result.setOldRpplPhone(egovCryptoUtil.decrypt(result.getOldRpplPhone()));
}
if (!StringUtil.isEmpty(result.getOldRpplEmail())) {
result.setOldRpplEmail(egovCryptoUtil.decrypt(result.getOldRpplEmail()));
}
result.setSelectRpplKey(key.toString());
}
}
}

View File

@ -1,279 +1,404 @@
package kcc.kccadr.adjstExp.web;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
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.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.accdnt.crtfc.service.CrtfcService;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.adjstExp.service.AdjstExpService;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.umt.service.MberManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 대국민(사용자)
* 조정신청에 관한 controller 클래스를 정의한다.
* @author 여현준
* @since 2021.08.17
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.17 여현준 최초 생성
*
* </pre>
*/
@Controller
public class AdjstExpController {
// 조정신청 서비스단
// @Resource(name = "AdjstReqExpService")
// private AdjstReqExpService adjstReqExpService;
//공동인증서 서비스단
@Resource(name="CrtfcService")
private CrtfcService crtfcService;
// 조정신청 서비스단
@Resource(name = "AdjstExpService")
private AdjstExpService adjstExpService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
private static final Logger LOGGER = LoggerFactory.getLogger(AdjstExpController.class);
/**
* 조정신청 구분선택 - 안내화면
*/
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistInformation.do")
public String adjstReqRegistInformation(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model) throws Exception {
adjstReqVO.setStep(KccadrConstants.STEP6);
// 오라클 연동 테스트 > 여현준
// sMSOracleService.selectOracleTest();
// AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
// adjReqMgrVO.setAdrSeq("ADR_0000000000000381");
// adjReqMgrVO.setStatCd("104010");
// sMSOracleService.insertSmsSend(adjReqMgrVO);
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(userId);
MberManageVO resultMberVO = crtfcService.selectMberCrtfc(mberManageVO);
String crtfcSn = "N";
if(StringUtil.isNotEmpty(resultMberVO.getCrtfcSn())) {
crtfcSn = "Y";
}
model.addAttribute("crtfcSn", crtfcSn);
return "/web/kccadr/adjstExp/adjstReqRegistInformation";
}
/*
* 신청인 대리인 작성화면 STEP1
* [체험하기] 신청인 대리인 작성화면 STEP7
* */
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep1.do")
public String adjstReqRegistStep1(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model, RedirectAttributes redirectAttributes, HttpSession session) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
SsoLoginVO ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
model.addAttribute("ssoLoginVO", ssoLoginVO);
// 작성단계 셋팅
adjstReqVO.setStep(KccadrConstants.STEP7);
adjstReqVO.setFrstRegisterId(userId); // 최초등록자
adjstReqVO.setLastUpdusrId(userId); // 마지막 수정자
adjstReqVO.setEsntlId(userId); // 사용자
// 신청인 , 대리인 목록 초기화
List<AdjstReqVO> list = null;
// 조정일련번호와 카피 조정일련번호가 있다면 수정상태로 본다..
if(StringUtils.isNotBlank(adjstReqVO.getAdrSeq()) || StringUtils.isNotBlank(adjstReqVO.getCopyAdrSeq())){
AdjstReqVO adjMsrMaster = adjstExpService.selectAdjsMgrMasterByUniqId(adjstReqVO);
// 대리인, 신청인 불러오기
String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_REQ, KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY};
adjstReqVO.setRpplTyArr(rpplTyArr);
adjstReqVO.setRpplTy(""); // 전페이지에서 넘어온 피신청값 제거...
list = adjstExpService.selectAdjsReqUserListByadjSeq(adjstReqVO);
decryptObjectAndCollection(adjMsrMaster, list);
if(CollectionUtils.isEmpty(list)){
// 만약에 신청인과 , 대리인 없다면 오류로 발생한 데이터다
// 그래도 처리를 해야한다면 신청인으로 등록할수있도록 처리해준다.
list = new ArrayList<>();
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(req);
}
model.addAttribute("editInfo", adjstExpService.checkAdjsReqEditStatus(adjstReqVO));
model.addAttribute("master", adjMsrMaster);
}else{
// 조정일련번호가 없다면 작성상태로 본다.
// 첫번째 화면에서 대리인을 선택했다면 두로우 셋팅
list = new ArrayList<>();
if(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY.equals(adjstReqVO.getRpplTy())){
AdjstReqVO duty = new AdjstReqVO(); // 대리인
duty.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY);
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(duty); // 화면상 대리인이 존재한다면 대리인 부터 보여야하기 때문에 첫번째로 셋팅해줘야한다.
list.add(req);
}else if(KccadrConstants.ADR_RPPL_TY_REQ.equals(adjstReqVO.getRpplTy())){
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(req);
}
}
model.addAttribute("list", list); // 조정사건폼
return "/web/kccadr/adjstExp/adjstReqRegistStep1";
}
@RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Save.do"}, method = RequestMethod.POST)
public ModelAndView adjReqMgrRegSecurityStatusChange(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.insertAdjsReqStep1Save(adjstReqVO);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터
modelAndView.addObject("rs", rs); // 삽입 개수
return modelAndView;
}
@RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Update.do"}, method = RequestMethod.POST)
public ModelAndView adjstReqRegistStep1Update(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.updatedjsReqStep1Save(adjstReqVO);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터
modelAndView.addObject("rs", rs); // 삽입 개수
return modelAndView;
}
public void decryptObjectAndCollection(AdjstReqVO adjstReqVO, List<AdjstReqVO> list){
if(adjstReqVO != null){
decryptInfo(adjstReqVO);
}
if(CollectionUtils.isNotEmpty(list)){
for(AdjstReqVO model : list){
decryptInfo(model);
}
}
}
public void decryptInfo(AdjstReqVO adjstReqVO){
String rpplNm = egovCryptoUtil.decrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.decrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.decrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.decrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.decrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.decrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
// 피신청인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(adjstReqVO.getResPonDentNms())){
String[] resNms = adjstReqVO.getResPonDentNms().split("\\|");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
adjstReqVO.setResPonDentNms(String.join(",", names));
}else{
adjstReqVO.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
}
}
package kcc.kccadr.adjstExp.web;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
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.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.accdnt.crtfc.service.CrtfcService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.adjstExp.service.AdjstExpService;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.umt.service.MberManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 대국민 체험 기능(사용자)
* 체험기능 신청 컨트롤러
* @author 이호영
* @since 2022.09.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 22.09.01 이호영 최초 생성
*
* </pre>
*/
@Controller
public class AdjstExpController {
// 조정신청 서비스단
// @Resource(name = "AdjstReqExpService")
// private AdjstReqExpService adjstReqExpService;
//공동인증서 서비스단
@Resource(name="CrtfcService")
private CrtfcService crtfcService;
// 조정신청 서비스단
@Resource(name = "AdjstExpService")
private AdjstExpService adjstExpService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
private static final Logger LOGGER = LoggerFactory.getLogger(AdjstExpController.class);
/**
* 조정신청 구분선택 - 안내화면
*/
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistInformation.do")
public String adjstReqRegistInformation(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model) throws Exception {
adjstReqVO.setStep(KccadrConstants.STEP6);
// 오라클 연동 테스트 > 여현준
// sMSOracleService.selectOracleTest();
// AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
// adjReqMgrVO.setAdrSeq("ADR_0000000000000381");
// adjReqMgrVO.setStatCd("104010");
// sMSOracleService.insertSmsSend(adjReqMgrVO);
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(userId);
MberManageVO resultMberVO = crtfcService.selectMberCrtfc(mberManageVO);
String crtfcSn = "N";
if(StringUtil.isNotEmpty(resultMberVO.getCrtfcSn())) {
crtfcSn = "Y";
}
model.addAttribute("crtfcSn", crtfcSn);
return "/web/kccadr/adjstExp/adjstReqRegistInformation";
}
/*
* 신청인 대리인 작성화면 STEP1
* [체험하기] 신청인 대리인 작성화면 STEP7
* */
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep1.do")
public String adjstReqRegistStep1(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model, RedirectAttributes redirectAttributes, HttpSession session) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
SsoLoginVO ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO");
model.addAttribute("ssoLoginVO", ssoLoginVO);
// 작성단계 셋팅
adjstReqVO.setStep(KccadrConstants.STEP7);
adjstReqVO.setFrstRegisterId(userId); // 최초등록자
adjstReqVO.setLastUpdusrId(userId); // 마지막 수정자
adjstReqVO.setEsntlId(userId); // 사용자
// 신청인 , 대리인 목록 초기화
List<AdjstReqVO> list = null;
// 조정일련번호와 카피 조정일련번호가 있다면 수정상태로 본다..
if(StringUtils.isNotBlank(adjstReqVO.getAdrSeq()) || StringUtils.isNotBlank(adjstReqVO.getCopyAdrSeq())){
AdjstReqVO adjMsrMaster = adjstExpService.selectAdjsMgrMasterByUniqId(adjstReqVO);
// 대리인, 신청인 불러오기
String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_REQ, KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY};
adjstReqVO.setRpplTyArr(rpplTyArr);
adjstReqVO.setRpplTy(""); // 전페이지에서 넘어온 피신청값 제거...
list = adjstExpService.selectAdjsReqUserListByadjSeq(adjstReqVO);
decryptObjectAndCollection(adjMsrMaster, list);
if(CollectionUtils.isEmpty(list)){
// 만약에 신청인과 , 대리인 없다면 오류로 발생한 데이터다
// 그래도 처리를 해야한다면 신청인으로 등록할수있도록 처리해준다.
list = new ArrayList<>();
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(req);
}
model.addAttribute("editInfo", adjstExpService.checkAdjsReqEditStatus(adjstReqVO));
model.addAttribute("master", adjMsrMaster);
}else{
// 조정일련번호가 없다면 작성상태로 본다.
// 첫번째 화면에서 대리인을 선택했다면 두로우 셋팅
list = new ArrayList<>();
if(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY.equals(adjstReqVO.getRpplTy())){
AdjstReqVO duty = new AdjstReqVO(); // 대리인
duty.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY);
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(duty); // 화면상 대리인이 존재한다면 대리인 부터 보여야하기 때문에 첫번째로 셋팅해줘야한다.
list.add(req);
}else if(KccadrConstants.ADR_RPPL_TY_REQ.equals(adjstReqVO.getRpplTy())){
AdjstReqVO req = new AdjstReqVO(); // 신청인
req.setRpplTy(KccadrConstants.ADR_RPPL_TY_REQ);
list.add(req);
}
}
model.addAttribute("list", list); // 조정사건폼
return "/web/kccadr/adjstExp/adjstReqRegistStep1";
}
@RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Save.do"}, method = RequestMethod.POST)
public ModelAndView adjstReqRegistStep1Save(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.insertAdjsReqStep1Save(adjstReqVO);
LOGGER.info("adjstReqVO.getAdrSeq() : [{}]", adjstReqVO.getAdrSeq());
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터
modelAndView.addObject("rs", rs); // 삽입 개수
return modelAndView;
}
@RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep1Update.do"}, method = RequestMethod.POST)
public ModelAndView adjstReqRegistStep1Update(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.updatedjsReqStep1Save(adjstReqVO);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터
modelAndView.addObject("rs", rs); // 삽입 개수
return modelAndView;
}
/*
* 피신청인 작성화면 STEP2
* */
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep2.do")
public String adjstReqRegistStep2(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model) throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if (loginVO == null) {
model.addAttribute("msg", "로그인 해주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
LOGGER.info("adjstReqRegistStep2 getAdrSeq() : [{}]", adjstReqVO.getAdrSeq());
// 작성단계 셋팅
adjstReqVO.setStep(KccadrConstants.STEP8);
adjstReqVO.setFrstRegisterId(userId); // 최초등록자
adjstReqVO.setLastUpdusrId(userId); // 마지막 수정자
adjstReqVO.setEsntlId(userId); // 사용자
AdjstReqVO adjMsrMaster = adjstExpService.selectAdjsMgrMasterByUniqId(adjstReqVO);
// 피신청인 목록조회..
String rpplTyArr[] = {KccadrConstants.ADR_RPPL_TY_RES};
adjstReqVO.setRpplTyArr(rpplTyArr);
List<AdjstReqVO> list = adjstExpService.selectAdjsReqUserListByadjSeq(adjstReqVO);
// 개인정보 복호화 처리..
decryptObjectAndCollection(adjMsrMaster, list);
model.addAttribute("editInfo", adjstExpService.checkAdjsReqEditStatus(adjstReqVO));
model.addAttribute("master", adjMsrMaster);
model.addAttribute("list", list);
return "/web/kccadr/adjstExp/adjstReqRegistStep2";
}
@RequestMapping(value = {"/web/kccadr/adjstExp/adjstReqRegistStep2Save.do"}, method = RequestMethod.POST)
public ModelAndView adjstReqRegistStep2Save(HttpServletRequest request , @RequestBody AdjstReqVO adjstReqVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.insertAdjsReqStep2Save(adjstReqVO);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공데이터
//modelAndView.addObject("rs", rs); // 삽입 개수
return modelAndView;
}
/*
* 조정신청 정보 작성화면 STEP3
* */
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep3.do")
public String adjstReqRegistStep3(@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO, ModelMap model, RedirectAttributes redirectAttributes) throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
// 작성단계 셋팅
adjstReqVO.setStep(KccadrConstants.STEP9);
adjstReqVO.setFrstRegisterId(userId); // 최초등록자
adjstReqVO.setLastUpdusrId(userId); // 마지막 수정자
adjstReqVO.setEsntlId(userId); // 사용자
AdjstReqVO adjMsrMaster = adjstExpService.selectAdjsMgrMasterByUniqId(adjstReqVO);
if(StringUtils.isNotBlank(adjMsrMaster.getAtchFileId())){
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(adjMsrMaster.getAtchFileId());
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", fileList);
}
model.addAttribute("editInfo", adjstExpService.checkAdjsReqEditStatus(adjstReqVO));
model.addAttribute("master", adjMsrMaster);
return "/web/kccadr/adjstExp/adjstReqRegistStep3";
}
@RequestMapping("/web/kccadr/adjstExp/adjstReqRegistStep3Save.do")
public ModelAndView adjstReqRegistStep3Save(
@ModelAttribute("adjstReqVO") AdjstReqVO adjstReqVO
, final MultipartHttpServletRequest multiRequest
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
adjstReqVO.setFrstRegisterId(userId);
adjstReqVO.setLastUpdusrId(userId);
int rs = adjstExpService.updateMasterInfo(adjstReqVO
, multiRequest
, ""
);
modelAndView.addObject("result", KccadrConstants.SUCCESS); // 성공메세지
modelAndView.addObject("rsVO", adjstReqVO); // 성공메세지
return modelAndView;
}
public void decryptObjectAndCollection(AdjstReqVO adjstReqVO, List<AdjstReqVO> list){
if(adjstReqVO != null){
decryptInfo(adjstReqVO);
}
if(CollectionUtils.isNotEmpty(list)){
for(AdjstReqVO model : list){
decryptInfo(model);
}
}
}
public void decryptInfo(AdjstReqVO adjstReqVO){
String rpplNm = egovCryptoUtil.decrypt(adjstReqVO.getRpplNm()); //신청인이름
String rpplEmail = egovCryptoUtil.decrypt(adjstReqVO.getRpplEmail()); //이메일주소
String rpplPhone = egovCryptoUtil.decrypt(adjstReqVO.getRpplPhone()); //연락처
String rpplPost = egovCryptoUtil.decrypt(adjstReqVO.getRpplPost()); //우편번호
String rpplAddr = egovCryptoUtil.decrypt(adjstReqVO.getRpplAddr()); //주소
String rpplAddrDtl = egovCryptoUtil.decrypt(adjstReqVO.getRpplAddrDtl()); //상세주소
String rpplRealPost = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealPost()); //우편물 수령지 우편번호
String rpplRealAddr = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealAddr()); //우편물 수령지 주소
String rpplRealAddrDtl = egovCryptoUtil.decrypt(adjstReqVO.getRpplRealAddrDtl()); //우편물 수령지 상세주소
// 피신청인 다중으로 가져왔을때..
if(StringUtils.isNotBlank(adjstReqVO.getResPonDentNms())){
String[] resNms = adjstReqVO.getResPonDentNms().split("\\|");
if(resNms.length > 1 ){
List<String> names = new ArrayList<>();
for(String name : resNms){
names.add(egovCryptoUtil.decrypt(name));
}
adjstReqVO.setResPonDentNms(String.join(",", names));
}else{
adjstReqVO.setResPonDentNms(egovCryptoUtil.decrypt(resNms[0]));
}
}
adjstReqVO.setRpplNm(rpplNm);
adjstReqVO.setRpplEmail(rpplEmail);
adjstReqVO.setRpplPhone(rpplPhone);
adjstReqVO.setRpplPost(rpplPost);
adjstReqVO.setRpplAddr(rpplAddr);
adjstReqVO.setRpplAddrDtl(rpplAddrDtl);
adjstReqVO.setRpplRealPost(rpplRealPost);
adjstReqVO.setRpplRealAddr(rpplRealAddr);
adjstReqVO.setRpplRealAddrDtl(rpplRealAddrDtl);
}
}

View File

@ -0,0 +1,303 @@
package kcc.kccadr.adjstExp.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
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.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.kccadr.accdnt.acd.service.AdjstChangeDateVO;
import kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO;
import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO;
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
import kcc.kccadr.accdnt.crtfc.service.CrtfcService;
import kcc.kccadr.adjclsmgr.service.AdjClsMgrVO;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.adjstExp.service.AdjstExpService;
import kcc.kccadr.cmm.KccadrConstants;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.umt.service.MberManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
/**
* 대국민 체험 기능(사용자)
* 체험기능 컨트롤러 상세
* @author 이호영
* @since 2022.09.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 22.09.01 이호영 최초 생성
*
* </pre>
*/
@Controller
public class AdjstExpDetailController {
// 조정신청 서비스단
// @Resource(name = "AdjstReqExpService")
// private AdjstReqExpService adjstReqExpService;
//공동인증서 서비스단
@Resource(name="CrtfcService")
private CrtfcService crtfcService;
// 조정신청 서비스단
@Resource(name = "AdjstExpService")
private AdjstExpService adjstExpService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
private static final Logger LOGGER = LoggerFactory.getLogger(AdjstExpDetailController.class);
/**
* 조정진행 상세 화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do")
public String adjstReqStatusDetail(@ModelAttribute("adjstReqStatusVO") AdjstReqStatusVO adjstReqStatusVO, ModelMap model) throws Exception {
return "/web/kccadr/adjstExpDetail/adjstReqStatusDetail";
}
/**
* 조정진행 상세 Tab 조정상세 화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabDetail.do")
public String adjstReqStatusTabDetail(
@ModelAttribute("adjstReqStatusVO") AdjstReqStatusVO adjstReqStatusVO
, @ModelAttribute("adjstIncidentVO") AdjstIncidentVO adjstIncidentVO
, ModelMap model) throws Exception {
// 조정신청 관련인 조회
List<AdjstReqStatusVO> list = adjstExpService.selectAdjstReqRpplInfo(adjstReqStatusVO);
// System.out.println("=============================== ============");
// list.stream().forEach(t -> System.out.println(" :::: "+t.getRpplUsrTyNm()));
// 신청인 추출
Optional<AdjstReqStatusVO> reqInfo = list.stream().filter(t -> t.getRpplTy().equals(KccadrConstants.ADR_RPPL_TY_REQ)).findFirst();
// 대리인 추출
Optional<AdjstReqStatusVO> agenInfo = list.stream().filter(t -> t.getRpplTy().equals(KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY)).findFirst();
AdjstReqStatusVO reqPeson = reqInfo.isPresent() ? reqInfo.get() : null;
AdjstReqStatusVO agenPerson = agenInfo.isPresent() ? agenInfo.get() : null;
this.decryptInfomation(null, reqPeson);
this.decryptInfomation(null, agenPerson);
// 피신청인 추출
List<AdjstReqStatusVO> resInfo = list.stream().filter(t -> t.getRpplTy().equals(KccadrConstants.ADR_RPPL_TY_RES)).collect(Collectors.toList());
// 기일 예정일 정보 불러오기 - 업무 담당자가 등록하 최근의 데이터 불러오기
// model.addAttribute("apmChgInfo", adjstExpService.selectApmChgDateInfo(adjstIncidentVO));
decryptInfomation(resInfo, null);
model.addAttribute("master" , adjstExpService.selectAdjstIncidentMaster(adjstIncidentVO));
model.addAttribute("pageExpIndex" , StringUtils.isEmpty(adjstReqStatusVO.getPageExpIndex()) ? "2" : adjstReqStatusVO.getPageExpIndex());
model.addAttribute("reqInfo" , reqPeson);
model.addAttribute("agenInfo" , agenPerson);
model.addAttribute("resInfo" , resInfo);
return "/web/kccadr/adjstExpDetail/adjstReqStatusTabDetail";
}
/**
* 조정진행 상세 Tab 사건진행 화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabStatus.do")
public String adjstReqStatusTabStatus() throws Exception {
return "/web/kccadr/adjstExpDetail/adjstReqStatusTabStatus";
}
/**
* 조정진행 상세 Tab 조정기록 화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabNormal.do")
public String adjstReqStatusTabNormal() throws Exception {
return "/web/kccadr/adjstExpDetail/adjstReqStatusTabNormal";
}
/**
* 조정신청 구분선택 - 안내화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/popup/openExpExamplePop.do")
public String adjstReqOpenAnswerExamplePop(@ModelAttribute("adjDeputyReqVO") AdjstDeputyReqVO adjDeputyReqVO, ModelMap model) throws Exception {
String returnUrl = "/web/kccadr/adjstExpDetail/";
/*
공통
- 답변서 제출 - 01
기일지정
- 조정 대리인 신청 - 02
- 기일변경 요청 - 03
- 조정 취하 신청 - 04
- 경정신청 - 05
기일개최
- 조정 취하 신청
- 경정신청
조정중(직권조정)
- 이의신청
- 직권조정 결정서 상세 - 06
*/
System.out.println("adjDeputyReqVO.getExpCode() :: "+ adjDeputyReqVO.getExpCode());
String expCode = adjDeputyReqVO.getExpCode();
switch (expCode) {
case "01": returnUrl += "expAnsSubmit";
break;
case "02": returnUrl += "expAdjstDeputyReqCreate";
break;
case "03": returnUrl += "expAdjstChangeDateCreate";
model.addAttribute("adjstChangeDateVO" , new AdjstChangeDateVO());
break;
case "04": returnUrl += "expAdjstWithDrawCreate";
break;
case "05": returnUrl += "expCorReqCreate"; // 경정신청
model.addAttribute("list", adjstExpService.selectRpplList(adjDeputyReqVO)); // 피신청인 리스트
break;
case "06": returnUrl += "expOadDetail"; // 직권조정결정서 상세
break;
case "07": returnUrl += "expOjctRegist"; // 이의 신청
break;
default: returnUrl += "expAnsSubmit";
break;
}
return returnUrl;
}
// 기록열람, 조정조서 발급 요청 팝업
@RequestMapping(value = "/web/kccadr/adjstExpDetail/popup/docIssReqViewPop.do")
public String docIssReqViewPop(@ModelAttribute("adjClsMgrVO") AdjClsMgrVO adjClsMgrVO, ModelMap model) throws Exception {
// model.addAttribute("security", adjReqMgrService.selectAdjstReqSecurityInfo(param));
return "/web/kccadr/adjstExpDetail/docIssReqViewPop";
}
/**
* 조정대리신청 화면
*/
@RequestMapping("/web/kccadr/adjstExpDetail/popup/adjstDeputyReqCreate.do")
public String adjstDeputyReqCreate(@ModelAttribute("adjDeputyReqVO") AdjstDeputyReqVO adjDeputyReqVO, ModelMap model) throws Exception {
return "/web/kccadr/adjstExpDetail/adjstDeputyReqCreate";
}
public void decryptInfomation(List<AdjstReqStatusVO> list, AdjstReqStatusVO info){
if(CollectionUtils.isNotEmpty(list)){
for(AdjstReqStatusVO model : list){
model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm()));
model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr()));
model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl()));
model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost()));
model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail()));
model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone()));
model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost()));
model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr()));
model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl()));
model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm()));
// model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()));
//피신청인 명수 표시 ' N명' 처리_이준호_220801
if (!StringUtil.isEmpty(model.getResPonDentNm())) {
String tmpStr = "";
if(model.getResPonDentNm().contains("")) {
tmpStr = model.getResPonDentNm().substring(model.getResPonDentNm().length()-3);
}
model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()) + " " + tmpStr);
}
model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm()));
}
}
if(info != null){
info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm()));
info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr()));
info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl()));
info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost()));
info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail()));
info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone()));
info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm()));
info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm()));
info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm()));
info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost()));
info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr()));
info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl()));
}
}
}

View File

@ -22,9 +22,9 @@ public class OzSchdExportUtil {
//개발서버 운영서버 구분에 따른 서버 정보 셋팅
String serverNm = request.getServerName();
if(serverNm.contains("localhost") || serverNm.contains("219.240.88.15")) {
if(serverNm.contains("localhost") || serverNm.contains("219.240.88.15") || serverNm.contains("iten.co.kr")) {
ozApiUrl = "http://219.240.88.15:8091/oz80/server";
ozApiUrl = "http://192.168.0.125:8091/oz80/server";
ozApiIp = "192.168.0.125";
}else {

View File

@ -417,6 +417,8 @@ public class MainController {
popupzoneVo.setFirstIndex(0);
popupzoneVo.setSeCd("02"); //좌측팝업
popupzoneVo.setUseYn("Y");
popupzoneVo.setSearchSortCnd("MB.sort");
popupzoneVo.setSearchSortOrd("ASC");
List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
model.addAttribute("popupzoneList", popupzoneList);
@ -1276,6 +1278,7 @@ public class MainController {
if(menuUrl.equals("/web/cop/org/selectOrgDetail.do")){
menuUrl = "/web/cop/org/selectOrgList.do" ;
}else if(menuUrl.equals("/web/kccadr/accdnt/ars/adjstReqStatusDetail.do")
|| menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do")
|| menuUrl.equals("/web/kccadr/accdnt/acd/adjstChangeDateList.do")
|| menuUrl.equals("/web/kccadr/accdnt/acd/adjstChangeDateCreate.do")
|| menuUrl.equals("/web/kccadr/accdnt/arc/corReqList.do")

View File

@ -33,8 +33,8 @@ Globals.DriverClassName=cubrid.jdbc.driver.CUBRIDDriver
#\ud074\ub77c\uc6b0\ub4dc \uc11c\ubc84
#Globals.Url=jdbc:cubrid:158.247.225.133:30000:kcc_adrs4:::?charset=utf8
#\uac1c\ubc1c\uc11c\ubc84
#Globals.Url=jdbc:cubrid:192.168.0.176:30000:cubdb:::?charset=utf8
Globals.Url=jdbc:cubrid:119.193.215.98:30000:kcc_adr_advc:::?charset=utf8
Globals.Url=jdbc:CUBRID:119.193.215.98:30000:kcc_adr_advc:::?charset=utf8
#\uc2e4\uc11c\ubc84
#Globals.Url=jdbc:cubrid:192.168.39.14:30000:kcc_adrs4:::?charset=utf8

View File

@ -2688,6 +2688,43 @@
<property name="cipers" value="15" />
<property name="fillChar" value="0" />
</bean>
<!-- =================== 체험하기 =====================-->
<!-- 체험하기 ADR ID Generation Config-->
<bean name="adrExpGnrService"
class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="adrExpStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="ADR_EXP_ID"/><!-- tableName 값 수정 -->
</bean>
<!-- 체험하기 ADR ID Generation Strategy Config -->
<bean name="adrExpStrategy"
class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="ADR_EXP_" /><!-- prefix 값 수정 -->
<property name="cipers" value="8" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
<!-- 체험하기 RPPL ID Generation Config-->
<bean name="rpplExpGnrService"
class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="rpplExpStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="RPPL_EXP_ID"/><!-- tableName 값 수정 -->
</bean>
<!-- 체험하기 RPPL ID Generation Strategy Config -->
<bean name="rpplExpStrategy"
class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="RPP_EXP_" /><!-- prefix 값 수정 -->
<property name="cipers" value="8" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -3,11 +3,14 @@
<!-- 조정신청 -->
<sqlMap namespace="AdjstExp">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CorReqVO" type="kcc.kccadr.accdnt.arc.service.CorReqVO"/>
<typeAlias alias="AdjstReqVO" type="kcc.kccadr.adjst.service.AdjstReqVO"/>
<typeAlias alias="AdjstIncidentVO" type="kcc.kccadr.accdnt.ai.service.AdjstIncidentVO"/>
<typeAlias alias="AdjstReqStatusVO" type="kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO"/>
<typeAlias alias="AdjstDeputyReqVO" type="kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO"/>
<!-- 조정사건정보 수정 : 조정사건 정보 불러오기 -->
<select id="AdjstExpDAO.selectAdjsMgrMasterByUniqId" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
<select id="adjstExpDAO.selectAdjsMgrMasterByUniqId" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT ADR_SEQ AS adrSeq,
ADR_NO AS adrNo,
STAT_CD AS statCd,
@ -27,7 +30,7 @@
FRST_REGIST_PNTTM AS frstRegistPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
LAST_UPDT_PNTTM AS lastUpdtPnttm
FROM ADR_MGR_MASTER
FROM ADR_MGR_EXP_MASTER
WHERE ADR_SEQ = #adrSeq#
AND FRST_REGISTER_ID = #esntlId#
<isNotEmpty property="statCd">
@ -35,7 +38,7 @@
</isNotEmpty>
</select>
<select id="AdjstExpDAO.selectAdjsReqEditInfo" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
<select id="adjstExpDAO.selectAdjsReqEditInfo" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT
ADR_SEQ AS adrSeq,
EDT_SN AS edtSn,
@ -58,7 +61,7 @@
</select>
<!-- 조정사건정보 수정 : 조정신청인 정보 불러오기 -->
<select id="AdjstExpDAO.selectAdjsReqUserListByadjSeq" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
<select id="adjstExpDAO.selectAdjsReqUserListByadjSeq" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT ADR_SEQ AS adrSeq,
RPPL_SEQ AS rpplSeq,
@ -96,7 +99,7 @@
FRST_REGISTER_ID AS frstRegisterId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_RPPL
FROM ADR_EXP_RPPL
WHERE (ADR_SEQ = #adrSeq# OR ADR_SEQ = #copyAdrSeq#)
<isNotEmpty property="rpplTy">
AND RPPL_TY = #rpplTy#
@ -109,8 +112,8 @@
</select>
<!-- 조정사건정보 등록 : 대국민 조정신청 저장 -->
<insert id="AdjstExpDAO.insertAdrMgrMaster" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_MASTER (
<insert id="adjstExpDAO.insertAdrMgrMaster" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_EXP_MASTER (
ADR_SEQ
,STAT_CD
,REQ_OL_CD
@ -150,8 +153,8 @@
<!-- 조정사건정보 등록 : 대국민 조정신청 상세 저장 -->
<insert id="AdjstExpDAO.insertAdrMgrMasterDetail" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_DETAIL(
<insert id="adjstExpDAO.insertAdrMgrMasterDetail" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_EXP_DETAIL(
ADR_SEQ,
ADR_SN,
FRST_REGIST_PNTTM,
@ -170,8 +173,8 @@
)
</insert>
<update id="AdjstExpDAO.updateCopyMasterInfo" parameterClass="AdjstReqVO">
UPDATE ADR_MGR_MASTER
<update id="adjstExpDAO.updateCopyMasterInfo" parameterClass="AdjstReqVO">
UPDATE ADR_MGR_EXP_MASTER
SET (
REQ_CN1
,REQ_CN2
@ -183,15 +186,15 @@
,REQ_CN2
,REQ_TY
,CC_TY
FROM ADR_MGR_MASTER
FROM ADR_MGR_EXP_MASTER
WHERE ADR_SEQ = #copyAdrSeq#
)
WHERE ADR_SEQ = #adrSeq#
</update>
<insert id="AdjstExpDAO.mergeIntoAdrRppl" parameterClass="AdjstReqVO">
MERGE INTO ADR_RPPL T1 USING DB_ROOT
<insert id="adjstExpDAO.mergeIntoAdrRppl" parameterClass="AdjstReqVO">
MERGE INTO ADR_EXP_RPPL T1 USING DB_ROOT
ON (T1.ADR_SEQ = #adrSeq# AND T1.RPPL_SEQ = #rpplSeq# AND T1.RPPL_TY = #rpplTy#)
WHEN MATCHED THEN
UPDATE SET
@ -296,8 +299,8 @@
</insert>
<!-- 조정사건관리인 등록 : 대국민 조정신청 저장 -->
<insert id="AdjstExpDAO.insertAdrRppl" parameterClass="AdjstReqVO">
INSERT INTO ADR_RPPL (
<insert id="adjstExpDAO.insertAdrRppl" parameterClass="AdjstReqVO">
INSERT INTO ADR_EXP_RPPL (
ADR_SEQ
,RPPL_SEQ
,RPPL_TY
@ -374,8 +377,8 @@
<!-- 조정사건관리인 수정 : 대국민 조정신청 수정 -->
<update id="AdjstExpDAO.updateAdrRppl" parameterClass="AdjstReqVO">
UPDATE ADR_RPPL SET
<update id="adjstExpDAO.updateAdrRppl" parameterClass="AdjstReqVO">
UPDATE ADR_EXP_RPPL SET
RPPL_TY = #rpplTy#
,RPPL_ID = #rpplId#
,AGNT_YN = #agntYn#
@ -406,18 +409,204 @@
AND RPPL_SEQ = #rpplSeq#
</update>
<delete id="adjstExpDAO.deleteAdjstReqPersonNotIn" parameterClass="AdjstReqVO">
DELETE FROM ADR_EXP_RPPL
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND RPPL_TY = #rpplTy#
AND RPPL_SEQ
<iterate prepend="NOT IN" open="(" close=")" property="existSeqList" conjunction=",">
#existSeqList[]#
</iterate>
</delete>
<!-- 조정사건정보 수정 : 대국민 조정신청 수정 -->
<update id="adjstExpDAO.updateAdrMgrMaster" parameterClass="AdjstReqVO">
UPDATE ADR_MGR_EXP_MASTER SET
<isNotEmpty property="reqCn1">
REQ_CN1 = #reqCn1#,
</isNotEmpty>
<isNotEmpty property="reqCn2">
REQ_CN2 = #reqCn2#,
</isNotEmpty>
<isNotEmpty property="ccTy">
CC_TY = #ccTy#,
</isNotEmpty>
<isNotEmpty property="atchFileId">
ATCH_FILE_ID = #atchFileId#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND ADR_SEQ = #adrSeq#
</update>
<update id="adjstExpDAO.updateAdrMgrEditInfo" parameterClass="AdjstReqVO">
UPDATE ADR_EXP_EDT_REQ SET
EDT_STATUS = #edtStatus#,
CPMTE_DT = NOW(),
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE ADR_SEQ = #adrSeq#
AND EDT_SN = #edtSn#
AND EDT_TY = #edtTy#
</update>
<!-- 조정사건정보 수정 : 대국민 조정신청 최종 제출 -->
<update id="adjstExpDAO.updateAdrMgrMasterComplete" parameterClass="AdjstReqVO">
UPDATE ADR_MGR_EXP_MASTER SET
STAT_CD = #statCd#
,SBMT_DE = NOW()
,APPR_DE = NOW()
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND ADR_SEQ = #adrSeq#
</update>
<!-- ====== Detail ====== -->
<select id="adjstExpDAO.selectAdjstReqRpplInfo" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT
ADR_SEQ AS adrSeq
,RPPL_SEQ AS rpplSeq
,RPPL_TY AS rpplTy
,AGNT_YN AS agntYn
,RPPL_USR_TY AS rpplUsrTy
,ADR_OL_YN AS adrOlYn
,RPPL_ID AS rpplId
,RPPL_NM AS rpplNm
,RPPL_BIZ_ID AS rpplBizId
,RPPL_BIZ_NM AS rpplBizNm
,RPPL_BIZ_NO AS rpplBizNo
,RPPL_POST AS rpplPost
,RPPL_ADDR AS rpplAddr
,RPPL_ADDR_DTL AS rpplAddrDtl
,RPPL_ADDR_CP_YN AS rpplAddrCpYn
,RPPL_REAL_POST AS rpplRealPost
,RPPL_REAL_ADDR AS rpplRealAddr
,RPPL_REAL_ADDR_DTL AS rpplRealAddrDtl
,RPPL_PHONE AS rpplPhone
,RPPL_EMAIL AS rpplEmail
,RPPL_EMAIL_YN AS rpplEmailYn
,RPPL_SMS_YN AS rpplSmsYn
,RPPL_CLASS AS rpplClass
,RPPL_GRADE AS rpplGrade
,SBMT_YN AS sbmtYn
,SBMT_DE AS sbmtDe
,USR_CI AS usrCi
,APPR_YN AS apprYn
,APPR_DE AS apprDe
,ATCH_FILE_ID AS atchFileId
,FRST_REGIST_PNTTM AS frstRegistPnttm
,FRST_REGISTER_ID AS frstRegisterId
,LAST_UPDT_PNTTM AS lastUpdtPnttm
,LAST_UPDUSR_ID AS lastUpdusrId
,( SELECT CODE_NM
FROM LETTCCMMNDETAILCODE
WHERE CODE_ID = 'CC001'
AND CODE = RPPL_USR_TY
)
AS RPPL_USR_TY_NM
FROM ADR_EXP_RPPL
WHERE 1=1
AND ADR_SEQ = #adrSeq#
</select>
<select id="adjstExpDAO.selectAdjstIncidentMaster" parameterClass="AdjstIncidentVO" resultClass="AdjstIncidentVO">
SELECT
T1.ADR_SEQ AS adrSeq,
T1.ADR_NO AS adrNo,
T1.STAT_CD AS statCd,
T1.REQ_OL_CD AS reqOlCd,
T1.REQ_CN1 AS reqCn1,
T1.REQ_CN2 AS reqCn2,
T1.REQ_TY AS reqTy,
T1.CC_TY AS ccTy,
T1.SBMT_YN AS sbmtYn,
T1.SBMT_DE AS sbmtDe,
T1.ADR_COST AS adrCost,
T1.ADR_PAY_YN AS adrPayYn,
T1.APPR_SEQ AS apprSeq,
T1.APPR_DE AS apprDe,
T1.ATCH_FILE_ID AS atchFileId,
T1.FRST_REGIST_PNTTM AS frstRegistPnttm,
T1.FRST_REGISTER_ID AS frstRegisterId,
T1.LAST_UPDT_PNTTM AS lastUpdtPnttm,
T1.LAST_UPDUSR_ID AS lastUpdusrId,
T2.ADR_SN AS adrSn,
T2.ADR_ADM_ID AS adrAdmId,
T2.MEM_DEPT_SEQ AS memDeptSeq,
T2.ASS_SEQ AS assSeq,
T2.APP_YN AS appYn,
T3.APP_SEQ AS appSeq,
T3.ADR_ADMIN_ID AS adrAdminId,
T3.RPPL_SEQ AS rpplSeq,
T3.APP_CHG_CN AS appChgCn,
T3.APP_CHG_PHONE AS appChgPhone,
T3.APP_CHG_CELNUM AS appChgCelnum,
T3.SBMT_YN AS dtSbmtYn,
TO_CHAR(T3.SBMT_DE,'YYYY-MM-DD') AS dtSbmtDe,
T3.USR_CI AS usrCi,
TO_CHAR(T3.APP_DE,'YYYY-MM-DD') AS appDe,
T3.APP_PLACE AS appPlace,
T3.APP_PLACE_ADDR AS appPlaceAddr,
T3.APPR_YN AS apprYn,
TO_CHAR(T3.APPR_DE,'YYYY-MM-DD') AS dtApprDe,
T3.APPR_CN AS apprCn,
T4.EDT_STATUS AS edtStatus,
T5.AVOID_REQ_YN AS avoidReqYn,
CASE
WHEN T6.ADR_OJCT_DE <![CDATA[ >= ]]> NOW() THEN 'Y'
WHEN T6.ADR_OJCT_DE <![CDATA[ < ]]> NOW() THEN 'N'
END AS adrOjctDe
FROM ADR_MGR_EXP_MASTER T1 LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX T2 ON T1.ADR_SEQ = T2.ADR_SEQ
LEFT OUTER JOIN (
SELECT bb0.*
FROM (
SELECT a0.adr_seq, a0.adr_sn, MAX(a0.app_seq) app_seq
FROM ADR_APP_MGR a0
GROUP BY a0.adr_seq, a0.adr_sn
)aa0
,
ADR_APP_MGR bb0
WHERE aa0.adr_seq=bb0.adr_seq
AND aa0.adr_sn=bb0.adr_sn
AND aa0.app_seq=bb0.app_seq
) T3 ON T1.ADR_SEQ = T3.ADR_SEQ AND T2.ADR_SN = T3.ADR_SN
LEFT OUTER JOIN ADR_AVOID_REQ_MGR T5 ON T1.ADR_SEQ = T5.ADR_SEQ AND T2.ADR_SN = T5.ADR_SN
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V T4 ON T1.ADR_SEQ = T4.ADR_SEQ
LEFT OUTER JOIN ADR_CLOSE_DOC T6 ON T1.ADR_SEQ = T6.ADR_SEQ AND T2.ADR_SN = T6.ADR_SN AND T6.CLOSE_DOC_TY = '60'
WHERE T1.ADR_SEQ = #adrSeq#
</select>
<select id="adjstExpDAO.selectRpplList" parameterClass="AdjstDeputyReqVO" resultClass="CorReqVO">
SELECT A.ADR_SEQ AS adrSeq /* 조정일련번호" */
, A.RPPL_SEQ AS rpplSeq /* 관리인일련번호" */
, A.RPPL_USR_TY AS rpplUsrTy /* 관리인분류" */
, A.RPPL_NM AS rpplNm /* 이름_대표자" */
, A.RPPL_POST AS rpplPost /* 우편번호" */
, A.RPPL_ADDR AS rpplAddr /* 주소" */
, A.RPPL_ADDR_DTL AS rpplAddrDtl /* 상세주소" */
, A.RPPL_PHONE AS rpplPhone /* 연락처" */
, A.RPPL_EMAIL AS rpplEmail /* 이메일" */
FROM ADR_EXP_RPPL A
WHERE A.ADR_SEQ = #adrSeq#
AND A.RPPL_TY = '20' <!-- 피신청인만 추출 -->
<!-- <isNotEmpty property="selectRpplSeq">
AND A.RPPL_SEQ = #selectRpplSeq#
</isNotEmpty> -->
ORDER BY A.ADR_SEQ, A.RPPL_SEQ
</select>

View File

@ -7,7 +7,7 @@
<application generated-by="eclipse" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com" xsi:schemaLocation="http://www.zeroturnaround.com http://update.zeroturnaround.com/jrebel/rebel-2_1.xsd">
<classpath>
<dir name="${rebel.workspace.path}/kcc_adr_advc_git/target/classes">
<dir name="D:/Development/git_repository/kcc_adr_advc_git/target/classes">
</dir>
</classpath>
@ -22,5 +22,5 @@
</dir>
</link>
</web>
</application>

View File

@ -53,6 +53,7 @@
<pattern>*/web/kccadr/kccadrCom/*</pattern><!-- 팝업 적용안함 -->
<pattern>*/web/kccadr/**/none/**/*</pattern><!-- none 적용안함 -->
<pattern>*/web/kccadr/**/tab/*</pattern><!-- 팝업 적용안함 -->
<pattern>*/web/kccadr/**/comment/*</pattern><!-- 팝업 적용안함 -->
<pattern>*/kccadr/**/comment/*</pattern><!-- 팝업 적용안함 -->
<pattern>*/web/kccadr/accdnt/apm/popup/*</pattern><!-- 팝업 적용안함 -->

View File

@ -323,10 +323,11 @@
</c:if>
</c:forEach>
</c:if>
<c:set var="cnt" value="1"/>
<c:forEach var="item" items="${rppList}" varStatus="status">
<!-- 피신청인 정보 -->
<c:if test="${item.rpplTy eq KccadrConstants.ADR_RPPL_TY_RES}">
<p class="tb_tit">피신청인 정보</p>
<p class="tb_tit">피신청인 정보${cnt }</p>
<table class="pop_tbType01">
<colgroup>
<col style="width: 20%;">
@ -418,6 +419,7 @@
</tbody>
</table>
<!-- //대리인 정보 -->
<c:set var="cnt" value="${cnt +1 }"/>
</c:if>
<!-- 피신청인 정보 끝 -->

View File

@ -564,7 +564,7 @@
<tr>
<th>조서내용</th>
<td colspan="3">
<textarea name="prtclCn" id="prtclCn" cols="30" rows="2"><c:out value="${info.prtclCn }" /></textarea>
<textarea name="prtclCn" id="prtclCn" cols="30" rows="2" style="height: 200px;"><c:out value="${info.prtclCn }"/></textarea>
</td>
</tr>
<tr>

View File

@ -369,7 +369,8 @@
<option value="<c:out value="${ass.agntSeq }|35|N"></c:out>">불출석</option>
</select>
</c:when>
<c:when test="${ass.assUsrTy=='30' && ass.isAgnt eq 'N'}">
<%-- <c:when test="${ass.assUsrTy=='30' && ass.isAgnt eq 'N'}"> --%>
<c:when test="${ass.isAgnt eq 'N'}">
<button type="button" class="btnType01 btn_change" onclick="fncAddAgnt('${ass.addUsrId}')">참관대리인등록</button>
</c:when>
</c:choose>
@ -500,7 +501,7 @@
<tr>
<th>조서내용</th>
<td colspan="3">
<textarea name="prtclCn" id="prtclCn" cols="30" rows="2"></textarea>
<textarea name="prtclCn" id="prtclCn" cols="30" rows="2" style="height: 200px;"></textarea>
</td>
</tr>
<tr>

View File

@ -173,9 +173,9 @@
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- <div class="page"> -->
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> --%>
<!-- </div> -->
<!-- //page -->
</div>
</div>

View File

@ -13,7 +13,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","/web/kccadr/accdnt/adr/adjstDeputyReqCreate.do").submit();
$("#listForm").attr("action","/web/kccadr/adjstExpDetail/popup/adjstDeputyReqCreate.do").submit();
}
function fncGoDetail(adrSeq, adrSn, agntSeq){

View File

@ -66,9 +66,11 @@
// 레이어팝업 포커싱 이동 수정
var adrSeqNum = $("#adrSeq").val();
$(".tooltip-close").click(function(){
$(".btn_popup_close").click(function(){
// $('.tooltip-wrap').hide()
//var activeTarget = $('[data-tooltip-con="sch_' + adrSeqNum + '_popup"]');
var activeTarget = $('[data-tooltip-con="securityPop"]');
// var activeTarget = $('[data-tooltip-con="securityPop"]');
var activeTarget = $('#securityPop');
activeTarget.hide();
//$('[data-tooltip="sch_' + adrSeqNum + '_popup"]').focus();
$('[data-tooltip="securityPop"]').focus();

View File

@ -43,6 +43,8 @@
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = '${adjstReqVO.step}';
alert('현재 페이지를 나가면 신청내용이 초기화 됩니다.');
});
//조정신청 등록화면2
// function fn_adjstReq2_regist() {
@ -80,6 +82,9 @@ function fnGoCrtfc(){
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p class="cf_text">체험하기 시스템 입니다.</p>
</li>
<li>
<p>시스템 이용을 위해 필요한 사항 : 신청 수수료 결제를 위한 인터넷뱅킹 가능 결제계좌</p>
</li>

View File

@ -71,7 +71,7 @@ $( document ).ready(function(){
<div class="tooltip-wrap"></div>
<form:form id="${KccadrConstants.STEP7}" name="${KccadrConstants.STEP7}" commandName="adjstReqVO" method="post">
<form:input type="hidden" path="copyAdrSeq" id="copyAdrSeq"/>
<form:input type="hidden" path="adrSeq" id="adrS eq"/>
<form:input type="hidden" path="adrSeq" id="adrSeq"/>
<form:input type="hidden" path="adrSn" id="adrSn"/>
<form:input type="hidden" path="reqTy" id="reqTy"/>
<!-- cont -->
@ -259,11 +259,11 @@ $( document ).ready(function(){
<form:input type="hidden" path="adjstRpplList[${status.index}].rpplTy" id="rpplTy${status.index}" value="${list.rpplTy}"/>
<div class="tb_top">
<p>신청인 정보</p>
<c:if test="${status.index eq 0 and empty adjstReqVO.adrSeq}">
<div class="tb_top_btns">
<button type="button" class="btnType12 btn_add" data-tooltip="list_popup" onclick="AdjstReq.historyAdjstPopList();" title="팝업 열림">이전신청 불러오기</button>
</div>
</c:if>
<%-- <c:if test="${status.index eq 0 and empty adjstReqVO.adrSeq}"> --%>
<!-- <div class="tb_top_btns"> -->
<!-- <button type="button" class="btnType12 btn_add" data-tooltip="list_popup" onclick="AdjstReq.historyAdjstPopList();" title="팝업 열림">이전신청 불러오기</button> -->
<!-- </div> -->
<%-- </c:if> --%>
<%--<span class="cf_text">* 필수입력 항목</span>--%>
</div>
<table class="tbType01">

View File

@ -52,84 +52,28 @@
AdjstReq.step2Onload();
/* 피 신청인 조회 버튼 Function */
$('.respondentSch').on('click', function(e){
// 피신청인 구분 tbody
var $tbody = $(this).parents('tbody')
// 피신청인 븐류 값
// 개인 01, 법인02, 개인사업자03
var rpplUsrTy = $tbody.find("input[name^=rpplUsrTy]:checked").val();
// 피신청인 분루값으로 selector 값 바뀜
var rpplNmVal = '';
if(rpplUsrTy === '01') // 개인
rpplNmVal = 'rpplNm';
if(rpplUsrTy === '02') // 법인
rpplNmVal = 'rpplCportNm';
if(rpplUsrTy === '03') // 개인사업자
rpplNmVal = 'rpplPersonBizNm';
// 이름 가져오기
var rpplNm = $tbody.find("input[name^='"+rpplNmVal+"']").val();
// 메일가져오기
var rpplEmail1 = $tbody.find("input[name^='rpplEmail1']").val();
var rpplEmail2 = $tbody.find("input[name^='rpplEmail2']").val();
// value Chk
if(vali(rpplNm)) {alert("이름을 입력해 주세요"); return false};
if(vali(rpplEmail1)) {alert("이메일을 입력해 주세요"); return false};
if(vali(rpplEmail2)) {alert("이메일을 입력해 주세요"); return false};
var rpplEmail = rpplEmail1+"@"+rpplEmail2;
// ajax 호출
ajaxValueChk(rpplNm, rpplEmail);
});
function ajaxValueChk(rpplNm, rpplEmail){
$.ajax({
type: "POST",
url: "/web/kccadr/adjst/selectRespondentSchChk.do",
data: JSON.stringify({rpplNm : rpplNm
,rpplEmail : rpplEmail})
, dataType:'json'
, async: false
, processData: false
, contentType: "application/json"
, cache: false
, success: function (data) {
alert('\''+rpplNm + '\' 피신청인은 '+data.message);
return false;
}
, error: function (e) { alert("조회에 실패하였습니다."); console.log("ERROR : ", e); }
});
function vali(val){
if (val === null) return true;
if (typeof val === 'string' && val === '') return true;
if (typeof val === 'undefined') return true;
return false;
}
function vali(val){
if (val === null) return true;
if (typeof val === 'string' && val === '') return true;
if (typeof val === 'undefined') return true;
return false;
}
});
</script>
</head>
<body>
<form:form id="${KccadrConstants.STEP2}" name="${KccadrConstants.STEP2}" commandName="adjstReqVO" method="post">
<form:form id="${KccadrConstants.STEP8}" name="${KccadrConstants.STEP8}" commandName="adjstReqVO" method="post">
<form:input type="hidden" path="adrSeq" id="adrSeq"/>
<form:input type="hidden" path="adrSn" id="adrSn"/>
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>조정신청</h2>
<h2>조정신청 체험하기</h2>
</div>
<c:import url="/web/kccadr/adjstExp/none/adjstReqStatusProcess.do"/>
<c:import url="/web/kccadr/adjst/none/adjstReqStatusProcess.do"/>
<c:choose>
<c:when test="${fn:length(list) eq 0}">
<div class="tb_top_btns">
@ -171,7 +115,7 @@
<td><!-- <input type="text" size="30"> -->
<label for="rpplNm" class="label">피신청인 이름 입력</label>
<input name="rpplNm" id="rpplNm" type="text" size="30" placeholder="피신청인 이름을 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
<!-- <button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button> -->
</td>
</tr>

View File

@ -1,259 +1,253 @@
ㅊ <%--
대국민 사용자
Class Name : adjstReq4Regist.jsp
Description : 조정신청 등록화면4 - 신청취지/원인 정보 등록
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.24 우영두 내용
author : 우영두
since : 2021.08.24
--%>
<%-- 공통 JS 함수 정의 : /jsp/web/com/webLayout.jsp --%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" />
<!DOCTYPE html>
<html lang="ko">
<head>
<title>신청취지/원인 등록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input::placeholder{color: #ddd;font-size: 16px;}
input:disabled{background-color: #f3f3f3 !important;}
textarea:disabled{background-color: #f3f3f3 !important;}
.mr15{margin-right: 15px !important;}
.btn_wrap.btn_layout03 .btn_right{text-align: right}
.btn_wrap.btn_layout03 .btnType01{height: 46px}
@media all and (max-width: 540px){
.btn_wrap.btn_layout03 button{min-width: 90px; padding: 0 6px;}
}
</style>
<%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = "<c:out value='${adjstReqVO.step}' />";
var editData = "<c:out value='${editInfo}'/>";
editData = editData.replace(/&#034;/g, '"');
if(editData != ""){
AdjstReq.EDIT_DATA = eval("("+editData+")");
}
<%--AdjstReq.STATUS = '${not empty master ? master.statCd : ''}';--%>
AdjstReq.STATUS = "<c:out value="${not empty master ? master.statCd : ''}" />";
// 페이지 로드 업무 프로세스
AdjstReq.pageOnload();
// 파일등록이벤트
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
//첨부파일 보완요청 없을 시 드래그엔 드랍 방지
var test = '<%= request.getRequestURL() %>';
$('.upload_area').bind("drop dragover", function(e){
e.preventDefault();
if(AdjstReq.EDIT_DATA.attchFileYn != 'Y' && AdjstReq.EDIT_DATA.attchFileYn != undefined){
if(test.indexOf('adjstReqRegistStep3.jsp') != -1){
adrstReqRegistStep3EditDataAtchFileYn = 'Y';
}
}
});
});
//미리보기 팝업
function fn_adjstReq_preview() {
<c:choose>
<c:when test="${empty fn:trim(master.ccTy)}">
// AdjstReq.step3Save(처리구분, 미리보기화면 여부,)
AdjstReq.step3Save("<c:out value='${KccadrConstants.ADR_MODE_NEW}' />", 'Y', "<c:out value='${adjstReqVO.adrSeq}' />");
</c:when>
<c:otherwise>
// AdjstReq.step3Save(처리구분, 미리보기화면 여부)
AdjstReq.step3Save("<c:out value='${KccadrConstants.ADR_MODE_UPT}' />", 'Y', "<c:out value='${adjstReqVO.adrSeq}' />");
</c:otherwise>
</c:choose>
location.reload();
}
</script>
</head>
<body>
<form:form id="${KccadrConstants.STEP3}" name="${KccadrConstants.STEP3}" commandName="adjstReqVO" method="post">
<form:input type="hidden" path="adrSeq" id="adrSeq"/>
<form:input type="hidden" path="adrSn" id="adrSn"/>
<form:input type="hidden" path="edtSn" id="edtSn"/>
<form:input type="hidden" path="edtTy" id="edtTy"/>
<form:input type="hidden" path="atchFileId" id="atchFileId" value="${master.atchFileId}"/>
<input type="hidden" name="limitcount" value="10" />
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>조정신청</h2>
</div>
<c:import url="/web/kccadr/adjst/none/adjstReqStatusProcess.do"/>
<div class="tb_wrap">
<div class="tb_top">
<p>신청인 취지/원인</p>
</div>
<table class="tbType01" id="adjstInfo">
<caption>신청인 취지/원인 정보 : 저작물 종류, 신청취지, 신청원인, 첨부파일등의 정보입력</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>저작물종류</p>
</th>
<td>
<label for="ccTy" class="label">저작물종류 선택</label>
<kc:select codeId="CC002" name="ccTy" id="ccTy" selectedValue="${not empty master.ccTy? master.ccTy : '01'}"/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청취지</p>
<button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="AdjstReq.openExamplePop('01'); return false;" title="예문 팝업 열림">예문</button>
</th>
<td>
<label for="reqCn1" class="label">신청취지 입력</label>
<textarea name="reqCn1" id="reqCn1" cols="30" rows="5" cssClass="purpose_text"><c:out value='${master.reqCn1}' /></textarea>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청원인</p>
<button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="AdjstReq.openExamplePop('02'); return false;" title="예문 팝업 열림">예문</button>
</th>
<td>
<label for="reqCn2" class="label">신청원인 입력</label>
<textarea name="reqCn2" id="reqCn2" cols="30" rows="10" cssClass="purpose_text"><c:out value='${master.reqCn2}' /></textarea>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td id="uploadWarp" class="upload_area">
<label for="fileNm" class="label">첨부파일 선택</label>
<input type="text" id="fileNm" size="30" class="file_input" readonly><button type="button" class="btnType01 btn_add_file">파일 첨부하기</button>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none;"/>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<img src="/direct/img/upload_hwp_img.png" alt="파일" />
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">.<c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td class="file_del">
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"><button type="button" class="btnType04 btn_move" onclick="AdjstReq.fncGoPrev();">2단계이동</button></div>
<div class="btn_right">
<!-- <button type="button" class="btnType06 btn_preview" onclick="alert('준비중입니다.'); return false;">미리보기</button> -->
<button type="button" class="btnType06 btn_preview" onclick="fn_adjstReq_preview(); return false;" title="새창열림">미리보기</button>
<%-- <button type="button" class="btnType01" onclick="AdjstReq.stepDelete('${adjstReqVO.adrSeq}'); return false;">신청서 삭제</button> --%>
<c:choose>
<c:when test="${empty fn:trim(master.ccTy)}">
<button type="button" class="btnType02 btn_save" onClick="AdjstReq.step3Save('<c:out value='${KccadrConstants.ADR_MODE_NEW}' />'); return false;">임시저장</button>
</c:when>
<c:otherwise>
<button type="button" class="btnType02 btn_save" onClick="AdjstReq.step3Save('<c:out value='${KccadrConstants.ADR_MODE_UPT}' />'); return false;">임시저장</button>
</c:otherwise>
</c:choose>
<button type="button" class="btnType02 btn_save" onClick="AdjstReq.step3Save('<c:out value='${KccadrConstants.ADR_MODE_SMT}' />'); return false;">조정신청서 제출</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>
ㅊ <%--
대국민 사용자
Class Name : adjstReq4Regist.jsp
Description : 조정신청 등록화면4 - 신청취지/원인 정보 등록
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.24 우영두 내용
author : 우영두
since : 2021.08.24
--%>
<%-- 공통 JS 함수 정의 : /jsp/web/com/webLayout.jsp --%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" />
<!DOCTYPE html>
<html lang="ko">
<head>
<title>신청취지/원인 등록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input::placeholder{color: #ddd;font-size: 16px;}
input:disabled{background-color: #f3f3f3 !important;}
textarea:disabled{background-color: #f3f3f3 !important;}
.mr15{margin-right: 15px !important;}
.btn_wrap.btn_layout03 .btn_right{text-align: right}
.btn_wrap.btn_layout03 .btnType01{height: 46px}
@media all and (max-width: 540px){
.btn_wrap.btn_layout03 button{min-width: 90px; padding: 0 6px;}
}
</style>
<%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = "<c:out value='${adjstReqVO.step}' />";
var editData = "<c:out value='${editInfo}'/>";
editData = editData.replace(/&#034;/g, '"');
if(editData != ""){
AdjstReq.EDIT_DATA = eval("("+editData+")");
}
<%--AdjstReq.STATUS = '${not empty master ? master.statCd : ''}';--%>
AdjstReq.STATUS = "<c:out value="${not empty master ? master.statCd : ''}" />";
// 페이지 로드 업무 프로세스
AdjstReq.pageOnload();
// 파일등록이벤트
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
//첨부파일 보완요청 없을 시 드래그엔 드랍 방지
var test = '<%= request.getRequestURL() %>';
$('.upload_area').bind("drop dragover", function(e){
e.preventDefault();
if(AdjstReq.EDIT_DATA.attchFileYn != 'Y' && AdjstReq.EDIT_DATA.attchFileYn != undefined){
if(test.indexOf('adjstReqRegistStep3.jsp') != -1){
adrstReqRegistStep3EditDataAtchFileYn = 'Y';
}
}
});
});
//미리보기 팝업
function fn_adjstReq_preview() {
<c:choose>
<c:when test="${empty fn:trim(master.ccTy)}">
// AdjstReq.step3Save(처리구분, 미리보기화면 여부,)
AdjstReq.step3Save("<c:out value='${KccadrConstants.ADR_MODE_NEW}' />", 'Y', "<c:out value='${adjstReqVO.adrSeq}' />");
</c:when>
<c:otherwise>
// AdjstReq.step3Save(처리구분, 미리보기화면 여부)
AdjstReq.step3Save("<c:out value='${KccadrConstants.ADR_MODE_UPT}' />", 'Y', "<c:out value='${adjstReqVO.adrSeq}' />");
</c:otherwise>
</c:choose>
location.reload();
}
</script>
</head>
<body>
<form:form id="${KccadrConstants.STEP9}" name="${KccadrConstants.STEP9}" commandName="adjstReqVO" method="post">
<form:input type="hidden" path="adrSeq" id="adrSeq"/>
<form:input type="hidden" path="adrSn" id="adrSn"/>
<form:input type="hidden" path="edtSn" id="edtSn"/>
<form:input type="hidden" path="edtTy" id="edtTy"/>
<form:input type="hidden" path="atchFileId" id="atchFileId" value="${master.atchFileId}"/>
<input type="hidden" name="limitcount" value="10" />
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>조정신청</h2>
</div>
<c:import url="/web/kccadr/adjst/none/adjstReqStatusProcess.do"/>
<div class="tb_wrap">
<div class="tb_top">
<p>신청인 취지/원인</p>
</div>
<table class="tbType01" id="adjstInfo">
<caption>신청인 취지/원인 정보 : 저작물 종류, 신청취지, 신청원인, 첨부파일등의 정보입력</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>저작물종류</p>
</th>
<td>
<label for="ccTy" class="label">저작물종류 선택</label>
<kc:select codeId="CC002" name="ccTy" id="ccTy" selectedValue="${not empty master.ccTy? master.ccTy : '01'}"/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청취지</p>
<button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="AdjstReq.openExamplePop('01'); return false;" title="예문 팝업 열림">예문</button>
</th>
<td>
<label for="reqCn1" class="label">신청취지 입력</label>
<textarea name="reqCn1" id="reqCn1" cols="30" rows="5" cssClass="purpose_text"><c:out value='${master.reqCn1}' /></textarea>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청원인</p>
<button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="AdjstReq.openExamplePop('02'); return false;" title="예문 팝업 열림">예문</button>
</th>
<td>
<label for="reqCn2" class="label">신청원인 입력</label>
<textarea name="reqCn2" id="reqCn2" cols="30" rows="10" cssClass="purpose_text"><c:out value='${master.reqCn2}' /></textarea>
</td>
</tr>
<tr>
<th scope="row">
<!-- <p class="req_text"><span>필수입력 항목</span>*</p> -->
<p>첨부파일</p>
</th>
<td id="uploadWarp" class="upload_area">
<label for="fileNm" class="label">첨부파일 선택</label>
<input type="text" id="fileNm" size="30" class="file_input" readonly><button type="button" class="btnType01 btn_add_file">파일 첨부하기</button>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none;"/>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<img src="/direct/img/upload_hwp_img.png" alt="파일" />
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">.<c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td class="file_del">
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<!-- <div class="btn_left"><button type="button" class="btnType04 btn_move" onclick="AdjstReq.fncGoPrev();">2단계이동</button></div> -->
<div class="btn_right">
<button type="button" class="btnType02 btn_save" onClick="AdjstReq.step3Save('<c:out value='${KccadrConstants.ADR_MODE_SMT}' />'); return false;">조정신청서 제출</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
<form name="expGoDetail" id="expGoDetail" action="<c:url value='/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do'/>">
<input type="hidden" name="adrSeq" id="adrSeq" value="${adjstReqVO.adrSeq }"/>
<input type="hidden" name="adrSn" id="adrSn" value="${adjstReqVO.adrSn }"/>
</form>
</body>
</html>

View File

@ -0,0 +1,75 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정신청 예문보기</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="/kccadrPb/usr/script/popup.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 레이어팝업 포커싱 이동 수정
var popupTit = $(".cont_tit03").text();
if(popupTit.trim() == "* 신청취지"){
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="fee_info_popup"]');
activeTarget.hide();
$('[data-tooltip="fee_info_popup"]').eq(0).focus();
});
}else{
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="fee_info_popup"]');
activeTarget.hide();
$('[data-tooltip="fee_info_popup"]').eq(1).focus();
});
}
})
</script>
</head>
<body>
<div class="popup_wrap fee_info_popup" style="max-width: 580px;" tabindex="0" data-tooltip-con="fee_info_popup" data-focus="fee_info_popup" data-focus-prev="fee_info_popup_close">
<div class="popup_tit">
<p>조정신청 예문</p> <button class="btn_popup_close tooltip-close" data-focus="fee_info_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<c:if test="${not empty expm.expmCd}">
<div class="cont_tit03">
* <kc:code codeId="CC040" code="${expm.expmCd}"/>
</div>
</c:if>
<table class="popup_tbType01 t_center">
<colgroup>
<col style="width: 60%;">
<col style="width: 40%;">
</colgroup>
<tbody>
<tr>
<td colspan="2" style="line-height: 30px; text-align: left;">
<c:choose>
<c:when test="${not empty expm.expmCn}">
<c:out value="${fn:replace(expm.expmCn, crlf , '<br/>')}" escapeXml="false" />
</c:when>
<c:otherwise>
등록된 내용이 없습니다.
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
<div class="btn_wrap">
<button class="btnType01 tooltip-close" data-focus="fee_info_popup_close" data-focus-next="fee_info_popup">닫기</button>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,101 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정진행 상세</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/kccadrPb/usr/script/popup.js"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$("#tabNav > button").on("click" , function(e){
tabPageLoad($(this).index());
});
tabPageLoad(0);
});
function tabPageLoad(idx){
var url = getPageUrl(idx);
$('#tabContent').load(
url
, {// 조정기일이 지정된 조정사건 조회시 too 하나만 조회되는 조건 adrSn 추가
"adrSeq" : $("#adrSeq").val()
, "adrSn" : $("#adrSn").val()
, "pageExpIndex" : $("#pageExpIndex").val()
}
, function(res, status, xhr){
console.log(status);
});
}
function getPageUrl(idx){
switch (idx) {
case 1 : return '/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabNormal.do';
case 2 : return '/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabStatus.do';
default: return '/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabDetail.do';
}
}
function fncGoList(){
var varFrom = document.getElementById("listForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/ai/adjstIncidentList.do'/>";
varFrom.submit();
}
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="adjstReqStatusVO" onsubmit="return false;" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${adjstReqStatusVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${adjstReqStatusVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${adjstReqStatusVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${adjstReqStatusVO.searchStatus}" />" />
<input type="hidden" name="adrSeq" id="adrSeq" value="<c:out value='${adjstReqStatusVO.adrSeq}'/>"/>
<input type="hidden" name="adrSn" id="adrSn" value="<c:out value='${adjstReqStatusVO.adrSn}'/>"/>
<input type="hidden" name="sbmtDe" value=""/>
<input type="hidden" name="statCd" value=""/>
<input type="hidden" name="adrNo" value=""/>
</form:form>
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<div class="inner">
<div class="cont_tit">
<h2>[체험]조정진행 상세</h2>
</div>
<div class="top_progress">
<p id="adrNoTemp">조정번호 :
<span>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</span>
</p>
<p>접수일 : <span><c:out value='${sysDay}' /></span></p>
<p>진행현황 :<span><c:out value='체험' /></span></p>
</div>
<div class="tab_wrap">
<div id="tabNav" class="tab_btn_wrap tab03">
<button class="tab on">조정일반</button>
<button class="tab">조정기록</button>
<button class="tab">사건진행</button>
<%--<button class="tab">조정진행내용</button>--%>
</div>
<div id="tabContent" class="tab_cont on">
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,403 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정진행</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoNextPage(){
var index = Number($('#pageExpIndex').val())+1;
$('#pageExpIndex').val(index);
tabPageLoad(0);
}
function fncEndPage(){
if(confirm("체험하기 종료하면 메인 페이지로 이동합니다.")){
window.location.href = "/";
}
}
function fncGoAnsSubmit() {
var linkForm = document.listForm;
linkForm.action = "<c:url value='/web/kccadr/accdnt/ans/ansSubmit.do'/>";
linkForm.submit();
}
//조정 대리인 신청페이지 이동 (아직 개발되지 않음)
function fncGoAgnReqList() {
var linkForm = document.listForm;
//linkForm.action = "<c:url value=''/>";
linkForm.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqList.do'/>";
linkForm.submit();
}
function fncGoChangeDateList() {
var linkForm = document.listForm;
linkForm.action = "<c:url value='/web/kccadr/accdnt/acd/adjstChangeDateList.do'/>";
linkForm.submit();
}
function fncGoWithDrawList() {
var linkForm = document.listForm;
linkForm.action = "<c:url value='/web/kccadr/accdnt/awd/adjstWithDrawCreate.do'/>";
linkForm.submit();
}
//이의신청
function fncGoOjctList() {
var linkForm = document.listForm;
linkForm.sbmtDe.value = document.getElementById("sbmtDe").value;
linkForm.statCd.value = document.getElementById("statCd").value;
linkForm.adrNo.value = document.getElementById("adrNoPa").value;
linkForm.action = "<c:url value='/web/kccadr/ojct/ojctList.do'/>";
linkForm.submit();
}
//직권조정결정서
function oadDetail(){
var linkForm = document.listForm;
linkForm.adrSeq.value = document.getElementById("adrSeq").value;
linkForm.action = "<c:url value='/web/kccadr/accdnt/arc/oadDetail.do'/>";
linkForm.submit();
}
function fncGoReqCorrectionList() {
var linkForm = document.listForm;
linkForm.action = "<c:url value='/web/kccadr/accdnt/arc/corReqList.do'/>";
linkForm.submit();
}
$(".btn_all").click(function() {
/* var btnIdx = $(".btn_all").index(this); */
var text = $(this).parent().children(".change_text_wrap");
if (text.is(".close") == true) {
text.removeClass("close");
$(this).addClass("close");
$(this).text("닫기");
$(this).attr("title", "내용 일부만 보이기");
} else {
text.addClass("close");
$(this).removeClass("close");
$(this).text("더보기");
$(this).attr("title", "내용 전체보기");
}
});
$('.step').click(function(){
var pageExpIndex = $(this).data('info');
$('#pageExpIndex').val(pageExpIndex);
tabPageLoad(0);
});
//접수증 팝업
function fn_adjstReq_receipt_report() {
window.open("<c:url value='/web/kccadr/adjst/report/adjstReqReceiptReportAjax.do?adrSeq=${adjstReqStatusVO.adrSeq}'/>");
}
//조정위원 기피
function fncAvoidPop() {
var pop = document.pop;
commonPopWindowopenForm("/web/kccadr/accdnt/arc/popup/adjstAvoid.do", "650", "400", "srcRegAdrNoPop", $('#pop'));
}
$(document).ready(function() {
/* step 개수에 따라 width 변동 */
var stepNum = $(".step").length;
$(".step_wrap").addClass("num0" + stepNum);
/* //step 개수에 따라 width 변동 */
});
function fn_openPop(expCode) {
$('#expCode').val(expCode);
$('#appliCantNm').val($('#appliCantNmTemp').text());
$('#resPonDentNm').val($('#resPonDentNmTemp1').text());
var width = "1000";
var height = "3000";
if(expCode === '04')
height = "700";
commonPopWindowopenForm("/web/kccadr/adjstExpDetail/popup/openExpExamplePop.do" , width, height, "openExpExamplePop",$("#pop"));
}
</script>
</head>
<body>
<form id="pop" name="pop" method="post">
<input type="hidden" id="adrSeq" name="adrSeq" value="<c:out value="${adjstReqStatusVO.adrSeq}" />" />
<input type="hidden" id="adrSn" name="adrSn" value="<c:out value="${adjstReqStatusVO.adrSn}" />" />
<input type="hidden" id="memDeptSeq" name="memDeptSeq" value="<c:out value="${master.memDeptSeq}" />" />
<input type="hidden" id="appliCantNm" name="appliCantNm" /> <!-- 신청인 -->
<input type="hidden" id="resPonDentNm" name="resPonDentNm" /> <!-- 신청인 -->
<input type="hidden" id="expCode" name="expCode" value="" />
</form>
<form id="pageForm" name="pageForm" action="/web/kccadr/adjstExpDetail/tab/adjstReqStatusTabDetail.do">
<input type="hidden" name="pageExpIndex" id="pageExpIndex" value="<c:out value='${pageExpIndex }'/>"/>
<input type="hidden" name="adrSeq" id="adrSeq" value="<c:out value='${adjstReqStatusVO.adrSeq}'/>"/>
<input type="hidden" name="adrSn" id="adrSn" value="<c:out value='${adjstReqStatusVO.adrSn}'/>"/>
</form>
<%--reqInfo
agenInfo
resInfo--%>
<input type="hidden" name="adrNoPa" id="adrNoPa" value="<c:out value='${master.adrNo}'/>" />
<div class="tb_wrap">
<div>
<c:set var="today" value="<%=new java.util.Date()%>" />
<c:set var="nowDt">
<fmt:formatDate value="${today}" pattern="yyyy-MM-dd" />
</c:set>
<!-- step -->
<div class="step_wrap status_detail">
<div class="step step01 <c:out value="${pageExpIndex eq '1' ? 'active' : ''}" />" data-info="1" style="cursor:pointer;">
<i></i>
<p>
STEP. 01
<span>접수</span>
</p>
<i class="next">다음</i>
</div>
<div class="step step02 <c:out value="${pageExpIndex eq '2' ? 'active' : ''}" />" data-info="2" style="cursor:pointer;">
<i></i>
<p>
STEP. 02
<span>기일지정</span>
</p>
<i class="next">다음</i>
</div>
<div class="step step03 <c:out value="${pageExpIndex eq '3' ? 'active' : ''}" />" data-info="3" style="cursor:pointer;">
<i></i>
<p>
STEP. 03
<span>기일개최</span>
</p>
<i class="next">다음</i>
</div>
<div class="step step04 <c:out value="${pageExpIndex eq '4' ? 'active' : ''}" />" data-info="4" style="cursor:pointer;">
<i></i>
<p>
STEP. 04
<span>조정중</span>
</p>
<i class="next">다음</i>
</div>
<div class="step step05 <c:out value="${pageExpIndex eq '5' ? 'active' : ''}" />" data-info="5" style="cursor:pointer;">
<i></i>
<p>
STEP. 05
<span>종료</span>
</p>
</div>
</div>
<!-- //step -->
<c:if test="${not empty master.appDe}">
<div class="exp_date">
<i></i>
<p>
기일예정일 :
<span><c:out value='${apmChgInfo.appDe}' /></span>
</p>
</div>
</c:if>
</div>
<table class="tbType01">
<caption>신청인, 주소등의 정보제공</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>신청인</p>
</th>
<td>
<p id="appliCantNmTemp"><c:out value='${reqInfo.rpplNm}' /></p>
</td>
<th scope="row">
<p>신청인 분류</p>
</th>
<td>
<p><c:out value='개인'/></p>
</td>
</tr>
<c:forEach var="List" items="${resInfo}" varStatus="status">
<c:if test="${status.count eq 1}">
<th scope="row" class="">
<p>피신청인 1</p>
</th>
<td>
<p id="resPonDentNmTemp${status.count }"><c:out value="${List.rpplNm}"/></p>
</td>
</c:if>
<c:if test="${status.count eq 2}">
<th scope="row" class="">
<p>피신청인 2</p>
</th>
<td>
<p><c:out value="${List.rpplNm}"/></p>
</td>
</c:if>
<c:if test="${status.count eq 3}">
</tr>
<tr>
<th scope="row" class="">
<p>피신청인 3</p>
</th>
<td>
<p><c:out value="${List.rpplNm}"/></p>
</td>
</c:if>
<c:if test="${status.count eq 4}">
<th scope="row" class="">
<p>피신청인 4</p>
</th>
<td>
<p><c:out value="${List.rpplNm}"/></p>
</td>
</c:if>
<c:if test="${status.count eq 5}">
<tr>
<th scope="row" class="">
<p>피신청인 5</p>
</th>
<td>
<p><c:out value="${List.rpplNm}"/></p>
</td>
</tr>
</c:if>
</c:forEach>
</tbody>
</table>
<table class="tbType01">
<caption>신청취지, 신청원인등의 정보제공</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>신청취지</p>
</th>
<td>
<p><c:out value='${master.reqCn1}' /></p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청원인</p>
</th>
<td>
<p class="change_text_wrap close"><c:out value='${master.reqCn2}' /></p>
<button type="button" class="btn_all" title="내용 전체보기">더보기</button>
</td>
</tr>
</tbody>
</table>
</div>
<!--
공통
- 답변서 제출
기일지정
- 조정 대리인 신청
- 기일변경 요청
- 조정 취하 신청
- 경정신청
기일개최
- 조정 취하 신청
- 경정신청
조정중(직권조정)
- 이의신청
- 직권조정 결정서 상세
-->
<div class="btn_wrap btn_layout03">
<div class="btn_left">
<!-- <button type="button" class="btnType07" onclick="fncGoAnsSubmit();">답변서 제출</button> -->
<button type="button" class="btnType07" onclick="fn_openPop('01'); return false;">답변서 제출</button>
<c:choose>
<c:when test="${pageExpIndex eq 2 }">
<button type="button" class="btnType07" onclick="fn_openPop('02'); return false;">조정 대리인 신청</button>
<button type="button" class="btnType07" onclick="fn_openPop('03'); return false;">기일변경 요청</button>
<button type="button" class="btnType07" onclick="fn_openPop('04'); return false;">조정 취하 신청</button>
<button type="button" class="btnType07" onclick="fn_openPop('05'); return false;">경정신청</button>
</c:when>
<c:when test="${pageExpIndex eq 3 }">
<button type="button" class="btnType07" onclick="fn_openPop('04'); return false;">조정 취하 신청</button>
<button type="button" class="btnType07" onclick="fn_openPop('05'); return false;">경정신청</button>
</c:when>
<c:when test="${pageExpIndex eq 4 }">
<button type="button" class="btnType07" onclick="fn_openPop('06'); return false;">직권조정 결정서 상세</button>
<button type="button" class="btnType07" onclick="fn_openPop('07'); return false;">이의신청</button>
</c:when>
<c:when test="${pageExpIndex eq 5 }">
</c:when>
</c:choose>
<%-- 조정 대리인 신청(기일참관인)은 입금완료 후 부터 기일조서 결재완료 전까지 노출 --%>
<%-- <c:if test="${master.statCd*1 ge 104050 and master.statCd*1 lt 302050}"> --%>
<!-- <button type="button" class="btnType07" onclick="fncGoAgnReqList();">조정 대리인 신청</button> -->
<%-- </c:if> --%>
<%-- <%-- 기일 변경 요청 버튼 stat_cd가 기일통지서승인 보다 크거나 같고 종결결재요청 보다작을 때 버튼 노출 --%>
<%-- 기일이 저징 되어있어야 기일변경 요청을 할수 있도록 변경--%>
<%-- <c:if test="${master.statCd*1 ge 205050 and master.statCd*1 lt 309010}"> --%>
<!-- <button type="button" class="btnType07" onclick="fncGoChangeDateList();">기일변경 요청</button> -->
<%-- </c:if> --%>
<%-- <%-- 조정 취하 신청의 경우 조정부장의 결재가 필수이므로 배당결제완료 이후 버튼 노출_이준호_220310 --%>
<%-- <c:if test="${master.statCd*1 ge 202050 and master.statCd*1 lt 309010 and master.statCd*1 ne 202090 }"> --%>
<!-- <button type="button" class="btnType07" onclick="fncGoWithDrawList();">조정 취하 신청</button> -->
<%-- </c:if> --%>
<%-- <c:if test="${master.adrOjctDe eq 'Y'}"> --%>
<%-- <%-- 현재 일시가 이의신청 기한보다 작을 경우만 버튼 오픈 --%>
<!-- <button type="button" class="btnType07" onclick="fncGoOjctList();">이의신청</button> -->
<%-- </c:if> --%>
<%-- <c:if test="${not empty master.adrOjctDe}"> --%>
<!-- <button type="button" class="btnType07" onclick="oadDetail();">직권조정 결정서 상세</button> -->
<%-- </c:if> --%>
<%-- <%-- 경정신청의 경우 접수결재완료 이후부터 종결결재요청 전까지 노출 --%>
<%-- <c:if test="${master.statCd*1 ge 201050 and master.statCd*1 lt 309010}"> --%>
<!-- <button type="button" class="btnType07" onclick="fncGoReqCorrectionList();">경정신청</button> -->
<%-- </c:if> --%>
<%-- <%-- 조정위원 기피 버튼은 관리자가 조정위원 기피 허용해 줬을경우 노출(업무시스템 조정진행 상세 > 조정위원 항목옆에 체크박스) --%>
<%-- <c:if test="${master.avoidReqYn eq 'Y'}"> --%>
<!-- <button type="button" class="btnType07" onclick="fncAvoidPop();" id="avoidBtn">조정위원기피</button> -->
<%-- </c:if> --%>
</div>
<div class="btn_right">
<c:choose>
<c:when test="${pageExpIndex eq 5 }">
<button class="btnType11 btn_list" onclick="fncEndPage(); return false;">체험 종료</button>
</c:when>
<c:otherwise>
<button class="btnType11 btn_list" onclick="fncGoNextPage(); return false;">다음</button>
</c:otherwise>
</c:choose>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,364 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정진행</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$("input[name=chkAll]").click(function(){
$("input[name=chk]").prop("checked" , $(this).is(":checked"));
});
});
function fnc_download(p_path, p_file){
var data = new FormData(document.getElementById("popCreateForm"));
data.append("adrSeq" ,$("#adrSeq").val());
if ($("input:checkbox[name=chk]:checked").length==0){
alert("선택한 항목이 없습니다.");
return;
}
$("input:checkbox[name=chk]:checked").each(function(){
var i_var = $(this).val().split('-');
if (i_var.length==2){
fn_egov_downFile(i_var[0], i_var[1]);
}else if (i_var.length==3){
fn_egov_downFileD(p_path, p_file);
//alert("조정신청서 다운로드는 현재 준비중입니다.");
}
});
}
//다운로드 전송 데이터
var d_data;
var d_nDate;
var d_i_1; //checker counter 1
var d_i_1_re; //call counter
var d_i_2; //checker counter 2
var d_i_3; //checker counter 3
//문서보기 클릭상태
var d_is_view = 0; //0-클릭가능, 1-진행중
//선택 다운로드 1.시작 함수
function fnc_view_download_step_1(){
alert("체험하기 기능 입니다.");
}
//선택 다운로드 2.요청 함수 호출
function fnc_view_download_step_1_after(d_data){
setTimeout(function(){
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusDownloadStep1Ajax.do",
data: d_data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
console.log(returnData.result);
//alert(returnData.result);
if(returnData.result == 'SUCCESS'){
d_i_1 = 1; //파일 생성 checker count 초기화
//파일 생성 checker 함수 호출
fnc_view_download_step_1_checker();
}else{
d_is_view = 0; //선택다운로드 완료
$("#d_btnType01_popup_close").click(); //선택다운로드 창닫기
alert(returnData.message);
}
},
error: function (e) { d_is_view = 0;$("#d_btnType01_popup_close").click();alert("요청에 실패하였습니다."); console.log("ERROR : ", e); }
});
},2000);
}
//선택 다운로드 3.파일 생성 checker 함수 호출
function fnc_view_download_step_1_checker(){
//var data = new FormData(document.getElementById("popCreateForm"));
//data.append("adrSeq" ,$("#adrSeq").val());
var d_data = new FormData(document.getElementById("popCreateForm"));
d_data.append("adrSeq" ,$("#adrSeq").val());
d_data.append("time_dir" ,d_nDate);
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/ars/tab/adjstReqStatusTabStatusDownloadStep1CheckerAjax.do",
data: d_data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
console.log(returnData.result);
//alert(returnData.result);
if(returnData.result == 'SUCCESS'){
//alert("정상적으로 문서보기 신청 되었습니다.");
d_is_view = 0; //선택다운로드 완료
$("#d_btnType01_popup_close").click(); //선택다운로드 창닫기
//생성된 파일 다운로드
fnc_download(returnData.path, returnData.file);
}else{
d_i_1 = d_i_1 + 1; //파일 생성 checker count 증가
if (d_i_1<20) { //체크(현재30번 필요시 값을 늘린다.)
setTimeout(function(){
fnc_view_download_step_1_checker();
},2000);
}else{ //체크에 실패한 경우 2번더 실행한다.(필요시 값을 늘린다.)
setTimeout(function(){
if (d_i_1_re<6){ //요청값 확인
d_i_1_re = d_i_1_re + 1; //요청값 중가
//다시 파일 생성 요청
fnc_view_download_step_1_after(d_data);
}else{
d_is_view = 0; //선택다운로드 완료
$("#d_btnType01_popup_close").click(); //선택다운로드 창닫기
alert(returnData.message);
}
},2000);
}
}
},
error: function (e) { d_is_view = 0;$("#d_btnType01_popup_close").click();alert("요청에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
//file download - 첨부파일
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
//file download - PDF변환기로 생성된 파일
function fn_egov_downFileD(p_path, p_file){
window.open("<c:url value='/cmm/fms/FileDownD.do?path="+p_path+"&file="+p_file+"'/>");
}
//pdf viewer
function fn_pdf_viewer(p_file_name, p_time_dir){
window.open("<c:url value='/web/kccadr/pdf/pdfview.do?webFile="+p_file_name+"&time_dir="+p_time_dir+"'/>");
}
//문서보기 전송 데이터
var data;
var nDate;
var i_1; //checker counter 1
var i_1_re; //call counter
var i_2; //checker counter 2
var i_2_re; //call counter
var i_3; //checker counter 3
var i_3_re; //call counter
//문서보기 클릭상태
var is_view = 0; //0-클릭가능, 1-진행중
function fnc_view_step_1_popup(){
alert("체험하기 기능 입니다.");
}
//문서보기 1단계 - 파일 생성
function fnc_view_step_1_test(){
alert("체험하기 기능 입니다.");
}
//문서보기 1단계 - 파일 생성 체커
function fnc_view_step_1_checker(){
alert("체험하기 기능 입니다.");
}
//문서보기 2단계 - 단권화 실행
function fnc_view_step_2(){
alert("체험하기 기능 입니다.");
}
//문서보기 2단계 - 단권화 실행 체커
function fnc_view_step_2_checker(){
alert("체험하기 기능 입니다.");
}
</script>
</head>
<body>
<button type="button" data-tooltip="loading_info_popup" class="btnType01" id="btnType01popupopen" style="display:none;">로딩팝업 나와라 쨘</button>
<button type="button" data-tooltip="loading_info_popup" class="btnType01" id="d_btnType01popupopen" style="display:none;">로딩팝업 나와라 쨘</button>
<!-- 조정비용 안내 -->
<div class="tooltip-wrap">
<div class="popup_wrap loading_info_popup" tabindex="0" data-tooltip-con="loading_info_popup"
data-focus="loading_info_popup" data-focus-prev="loading_info_popup_close">
<div class="popup_tit">
<p>진행 안내-최대 10분까지 소요될 수 있습니다.</p> <button class="btn_popup_close tooltip-close" data-focus-next="loading_info_popup" data-focus="loading_info_popup_close"
title="팝업 닫기" id="btnType01_popup_close"><i></i></button>
</div>
<div class="popup_cont">
<div class="info_wrap" id="btnType01_info_wrap">
<p>문서보기 파일 생성 중 입니다.</p>
<p>STEP1/3 - PDF파일로 변환 중 입니다.</p>
</div>
<!-- <p>아니면 그냥 이렇게 쓰셔도 됩니다! <br> 이런 p태그는 br로 줄 나눠주시면 감사하겠습니다!</p> -->
<div class="load_img">
<img src="/kccadrPb/usr/image/loading.gif" alt="로딩중">
<p>정보를 불러오고 있습니다.</p>
<p class="cf_text">잠시만 기다려주십시오</p>
</div>
</div>
</div>
</div>
<!-- //조정비용 안내 -->
<!-- 조정비용 안내 -->
<div class="tooltip-wrap">
<div class="popup_wrap loading_info_popup" tabindex="0" data-tooltip-con="loading_info_popup"
data-focus="loading_info_popup" data-focus-prev="loading_info_popup_close">
<div class="popup_tit">
<p>진행 안내-최대 10분까지 소요될 수 있습니다.</p> <button class="btn_popup_close tooltip-close" data-focus-next="loading_info_popup" data-focus="loading_info_popup_close"
title="팝업 닫기" id="d_btnType01_popup_close"><i></i></button>
</div>
<div class="popup_cont">
<div class="info_wrap" id="d_btnType01_info_wrap">
<p>선택다운로드 파일 생성 중 입니다.</p>
<p>STEP1/1 - PDF파일로 변환 중 입니다.</p>
</div>
<!-- <p>아니면 그냥 이렇게 쓰셔도 됩니다! <br> 이런 p태그는 br로 줄 나눠주시면 감사하겠습니다!</p> -->
<div class="load_img">
<img src="/kccadrPb/usr/image/loading.gif" alt="로딩중">
<p>정보를 불러오고 있습니다.</p>
<p class="cf_text">잠시만 기다려주십시오</p>
</div>
</div>
</div>
</div>
<!-- //조정비용 안내 -->
<form:form commandName="adjstIncidentVO" id="popCreateForm" name="popCreateForm" method="post" onsubmit="return false;">
<table class="tbType02">
<caption>조정진행 상세 - 조정기록 : 일자, 등록인, 문건명, 상대방 공개여부 등 정보제공</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th scope="col"><input type="checkbox" name="chkAll" value="All" title="모두체크"></th>
<th scope="col">일자</th>
<th scope="col">등록인</th>
<th scope="col">문건명</th>
<th scope="col">상대방 공개여부</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>
<input name="chk" type="checkbox" value="FILE_000000000013660--1" title="체크">
</p>
</td>
<td>
<p>2022-09-23</p>
</td>
<td>
<p>체험인</p>
</td>
<td><a href="#" onclick="alert('체험하기 기능입니다.'); return false;">[체험]조정신청서</a></td>
<td>
<p>
공개
</p>
</td>
</tr>
<tr>
<td>
<p>
<input name="chk" type="checkbox" value="FILE_000000000013660-0" title="체크">
</p>
</td>
<td>
<p>2022-10-30</p>
</td>
<td>
<p>체험인</p>
</td>
<td><a href="#" onclick="alert('체험하기 기능입니다.'); return false;">[체험]메인비주얼.jpg</a></td>
<td>
<p>공개</p>
</td>
</tr>
<tr>
<td>
<p>
<input name="chk" type="checkbox" value="FILE_000000000013680-0" title="체크">
</p>
</td>
<td>
<p>2022-11-24</p>
</td>
<td>
<p>체험인</p>
</td>
<td><a href="#" onclick="alert('체험하기 기능입니다.'); return false;">[체험]체험 테스트 파일.hwp</a></td>
<td>
<p>비공개</p>
</td>
</tr>
</tbody>
</table>
</form:form>
<div class="btn_wrap btn_layout03">
<div class="btn_left">
</div>
<div class="btn_right">
<button class="btnType11 btn_list" onclick="fnc_view_step_1_popup(); return false;">문서보기</button>
<button class="btnType11 btn_list" onclick="fnc_view_download_step_1(); return false;">선택다운로드</button>
<!-- <button class="btnType11 btn_list" onclick="fncGoList(); return false;">목록</button> -->
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,101 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정진행</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
/* 아래 함수 종결상세화면으로 이동 예정 */
//function fncSecurityPop2(adrSeq,edtTy,edtSn) {
function fncSecurityPop2(docuReqCd) {
commonPopLayeropen(
"/web/kccadr/adjstExpDetail/popup/docIssReqViewPop.do"
, 800
, 600
, {docuReqCd : docuReqCd, adrSeq : $("#adrSeq").val()}
, "N"
, "securityPop"
);
}
$(document).ready(function() {
var statCd = $(".top_progress").find("#statCd").val();
if (statCd != "400000") {
$(".closeBtn").css("display", "none");
}
});
</script>
</head>
<body>
<div class="tb_wrap">
<table class="tbType02">
<caption>조정진행 상세 - 사건진행 : 일자, 진행현황, 비고 등 정보제공</caption>
<colgroup>
<col style="width: 25%;">
<col style="width: auto;">
<col style="width: 25%;">
</colgroup>
<thead>
<tr>
<th scope="col">일자</th>
<th scope="col">진행현황</th>
<th scope="col">비고</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>2022-01-01</p>
</td>
<td class="td_info">
[체험] 조정접수
</td>
<td></td>
</tr>
<tr>
<td>
<p>2022-02-05</p>
</td>
<td class="td_info">
[체험] 신청인 홍길동 답변서 제출
</td>
<td></td>
</tr>
<tr>
<td>
<p>2022-04-07</p>
</td>
<td class="td_info">
[체험] 접수 결재 완료
</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout03">
<div class="btn_left">
<!-- <div class="closeBtn"> -->
<%-- <c:if test="${list.statCd == '309050' || list.statCd == '310050' || list.statCd == '311050'}"> --%>
<button type="button" class="btnType07" onclick="fncSecurityPop2('10');">기록열람 요청</button>
<button type="button" class="btnType07" onclick="fncSecurityPop2('20');">조정조서 발급요청</button>
<%-- </c:if> --%>
<!-- </div> -->
</div>
<div class="btn_right">
<button class="btnType11 btn_list" onclick="alert('체험하기 기능입니다.'); return false;">목록</button>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,134 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정신청 보완/수정요청</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncEdit(step){
var varFrom = document.getElementById("popCreateForm");
varFrom.action = "/web/kccadr/adjst/adjstReqRegistStep"+step+".do";
varFrom.submit();
}
function insertReq() {
}
$(document).ready(function(){
var docuReqCd = "<c:out value='${adjClsMgrVO.docuReqCd}' />";
console.log(docuReqCd);
var popTitTxt = "";
if (docuReqCd == "10") {
popTitTxt = "기록 열람 요청";
} else if (docuReqCd == "20") {
popTitTxt = "조정조서 발급요청";
}
$("#popTitTxt").text(popTitTxt);
// 레이어팝업 포커싱 이동 수정
var adrSeqNum = $("#adrSeq").val();
$(".btn_popup_close").click(function(){
// $('.tooltip-wrap').hide()
//var activeTarget = $('[data-tooltip-con="sch_' + adrSeqNum + '_popup"]');
// var activeTarget = $('[data-tooltip-con="securityPop"]');
var activeTarget = $('#securityPop');
activeTarget.hide();
//$('[data-tooltip="sch_' + adrSeqNum + '_popup"]').focus();
$('[data-tooltip="securityPop"]').focus();
});
})
</script>
</head>
<body>
<!-- 일정 상세 -->
<form:form commandName="adjstIncidentVO" id="popCreateForm" name="popCreateForm" method="post" onsubmit="return false;">
<input type="hidden" name="adrSeq" id="adrSeq" value="<c:out value='${adjClsMgrVO.adrSeq}'/>"/>
<input type="hidden" name="docuReqCd" id="docuReqCd" value="<c:out value='${adjClsMgrVO.docuReqCd}' />"/>
<c:set var="tit" value="${security.edtTy eq 'S' ? '보완' : '수정'}"/>
<div class="popup_wrap sch_${security.adrSeq}_popup" style="max-width: 550px;" tabindex="0" data-tooltip-con="sch_${security.adrSeq}_popup" data-focus="sch_${security.adrSeq}_popup" data-focus-prev="sch_${security.adrSeq}_popup_close">
<div class="popup_tit">
<p id="popTitTxt"></p>
<button class="btn_popup_close tooltip-close" data-focus="sch_${security.adrSeq}_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<table class="popup_tbType01">
<caption>${tit}요청항목, ${tit}요청내용 선택 및 입력</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto;">
</colgroup>
<tbody>
<%-- <tr>
<th scope="row">${tit}요청항목</th>
<td>
<div class="check_wrap">
<!-- <p class="sch_tit"> -->
<span><input type="checkbox" disabled value="Y" ${security.reqInfYn eq 'Y' ? 'checked' : ''} id="reqInfYn" name="reqInfYn"><label for="reqInfYn">신청인정보</label></span>
<span><input type="checkbox" disabled value="Y" ${security.resInfYn eq 'Y' ? 'checked' : ''} id="resInfYn" name="resInfYn"><label for="resInfYn">피신청인정보</label></span>
<span><input type="checkbox" disabled value="Y" ${security.reqPpsYn eq 'Y' ? 'checked' : ''} id="reqPpsYn" name="reqPpsYn"><label for="reqPpsYn">신청취지</label></span>
<span><input type="checkbox" disabled value="Y" ${security.reqRsnYn eq 'Y' ? 'checked' : ''} id="reqRsnYn" name="reqRsnYn"><label for="reqRsnYn">신청원인</label></span>
<span><input type="checkbox" disabled value="Y" ${security.attchFileYn eq 'Y' ? 'checked' : ''} id="attchFileYn" name="attchFileYn"><label for="reqRsnYn">첨부파일</label></span>
<!-- </p> -->
</div>
</td>
</tr> --%>
<tr>
<th scope="row">발급사유</th>
<td><textarea name="docuReqCn" id="docuReqCn" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;"></textarea></td>
</tr>
</tbody>
</table>
<%-- <c:if test="${security.edtTy eq 'E'}">
<div class="btm_box">
<p>승인여부 : <span class="t_bold">${security.apprYn eq 'Y' ? '승인' : '미승인'}</span></p>
</div>
</c:if>
<div class="btn_wrap">
<c:choose>
<c:when test="${security.apprYn eq 'Y'}">
<button class="btnType09 btn_edit" onclick="fncEdit('1');" data-focus-next="sch_${security.adrSeq}_popup">신청서수정</button>
</c:when>
<c:otherwise>
<button class="btnType01 tooltip-close" data-focus="list_popup_close">닫기</button>
</c:otherwise>
</c:choose>
</div> --%>
<button class="btnType09 btn_edit" onclick="alert('체험하기 기능입니다.'); return false;" data-focus-next="securityPop">신청</button>
<!-- 하단 버튼 -->
<%--<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<c:choose>
<c:when test="${security.apprYn eq 'Y'}">
<button class="btnType09 btn_edit" onclick="fncAprooval();" data-focus-next="sch_popup">신청서수정</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</div>
</div>--%>
<!-- //하단 버튼 -->
</div>
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,512 @@
<%--
대국민 사용자
Class Name : adjstChangeDateCreate.jsp
Description : 기일 변경 신청 작성
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.24 우영두 내용
author : 우영두
since : 2021.08.24
--%>
<%-- 공통 JS 함수 정의 : /jsp/web/com/webLayout.jsp --%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!-- for validator #1 -->
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!-- for validator #1 -->
<!DOCTYPE html>
<html lang="ko">
<head>
<title>기일변경신청</title>
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/adm/script/postcode.js"></script>
<script src="<c:url value='/js/kccadr/kccadrCom.js' />"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="adjstChangeDateVO" staticJavascript="false" xhtml="true" cdata="false" />
<!-- for validator #2 -->
<link rel="stylesheet" href="/kccadrPb/usr/datepicker/classic.css">
<link rel="stylesheet" href="/kccadrPb/usr/datepicker/classic.date.css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<style>
.tbType01 th.picker__weekday{font-size: 15px; padding-bottom: 0.25em; color: #555; font-weight: 400; background-color: #fff; text-align: center; padding-top: 0}
.tbType01 .picker__table tr{border-bottom: 0}
.tbType01 .picker__table td{height: auto}
</style>
<script src="/kccadrPb/usr/script/popup.js"></script>
<script src="/kccadrPb/usr/datepicker/picker.js"></script>
<script src="/kccadrPb/usr/datepicker/picker.date.js"></script>
<script src="/kccadrPb/usr/datepicker/legacy.js"></script>
<script src="/kccadrPb/usr/datepicker/ko_KR.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//시간 선택시 실행
$('input[name=sbmtTime]').timepicker({
'timeFormat': 'HH:mm',
});
//첨부파일 버튼 선택시 실행
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
//변경 기일 노출
$("div.sel_date").css("display","");
});
function fncCancle(){
if(confirm("기일변경 신청을 취소하시겠습니까?")){
fncGoList();
}
}
/*
function fncGoDetail(){
var varFrom = document.getElementById("detailForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/acd/adjstChangeDateDetail.do'/>";
varFrom.submit();
}
*/
function fncGoList(){
var varFrom = document.getElementById("listForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/acd/adjstChangeDateList.do'/>";
varFrom.submit();
}
/* 기일 변경 신청 등록 */
function fn_changeDate_insert() {
/*
<!-- for validator #3 -->
*/
if (!validateAdjstChangeDateVO(document.createForm)) return;
/*
<!-- for validator #3 -->
*/
var form = document.createForm; //대상폼 선택
/*
var reqCn1 = form.reqCn1.value;
var reqCn2 = form.reqCn2.value;
var fileTemp = $('.item_ uploaded_obj').length;
if(reqCn1 == ""){
alert("신청취지를 입력해 주세요.");
return false;
}
if(reqCn2 == ""){
alert("신청원인을 입력해 주세요.");
return false;
}
*/
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
var data = new FormData(form);
//첨부파일 등록 처리-step1
if(!data.get("fileSize")){
alert("첨부파일을 등록해 주세요");
return false;
}
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
//등록 작업실행
if(confirm("기일변경신청을 진행하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/web/kccadr/accdnt/acd/adjstChangeDateCreateAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
var p_result = returnData.result;
var p_message = returnData.message;
//var resultAdrSeq = returnData.resultAdrSeq;
if(p_result == 'success'){
alert("기일변경신청 저장이 완료되었습니다.");
//form.adrSeq.value = resultAdrSeq;
//fnGoAdjstReq4Page();
//return false;
fncGoList();
}else{
alert(p_message);
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="searchCondition" value="<c:out value='${adjstChangeDateVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${adjstChangeDateVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${adjstChangeDateVO.pageIndex}'/>"/>
<input type="hidden" name="adrSeq" value="${not empty eInfo.adrSeq ? eInfo.adrSeq : 'ADR_0000000000000101'}" /><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="${not empty eInfo.adrSn ? eInfo.adrSn : '1'}" /><!-- 조정회차 -->
</form>
<form:form id="createForm" name="createForm" commandName="adjstChangeDateVO" onsubmit="return false;" enctype="multipart/form-data">
<%-- <form:input type="hidden" path="atchFileId" id="atchFileId"/> --%>
<input type="hidden" name="adrSeq" value="${eInfo.adrSeq}" /><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="${eInfo.adrSn}" /><!-- 조정회차 -->
<input type="hidden" name="limitcount" value="10" />
<input type="hidden" name="rpplSeq" value="${rpplSeq}" /><!-- 관련인일련번호 -->
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<div class="cont_tit">
<h2>기일변경신청</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>기일변경신청 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<div class="tb_wrap">
<!--
/**
* 기일변경기본정보 공통 영역...
*
* @param masterInfo
* @param model
* @return
* @throws Exception
*/
-->
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<table class="tbType01">
<caption>사건, 담당조정부, 신청인, 피신청인등의 정보제공</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>사건</p>
</th>
<td>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</td>
<th scope="row">
<p>담당조정부</p>
</th>
<td>
<p>[체험]조정부</p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.appliCantNm}'/></p>
</td>
<th scope="row">
<p>피신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.resPonDentNm}'/></p>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 피신청인 정보 -->
<div class="tb_wrap">
<div class="tb_top">
<p>기일변경 정보</p>
<%--<button class="btnType05 btn_add">피신청인 추가</button>--%>
</div>
<table class="tbType01 tb_offeree">
<caption>기일변경 정보 : 변경사유, 변경기일, 연락처, 휴대전화, 첨부서류등의 정보 입력</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>변경사유</p>
</th>
<!-- for validator #4
formName="xxx"의
'required' depends를 가지고 있는 property는 반드시 input 명으로 사용해야 스크립트 오류가 발생하지 않는다.
<field property="appChgCn" depends="required, maxlength">
-->
<td colspan="3">
<label for="appChgCn" class="label">변경사유 입력</label>
<form:textarea path="appChgCn" id="appChgCn" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;"/>
</td>
<!-- for validator #4 -->
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>변경기일</p>
</th>
<td colspan="3">
<div class="list_util" style="text-align: left">
<div class="sel_date">
<div class="calendar_wrap">
<input type="text" class="searchStartDt startDate inp" title="변경기일 날짜 선택" id="sbmtDate" name="sbmtDate" onfocus="return calendarOpen('sbmtDate-lry','',this)" onclick="return calendarOpen('sbmtDate-lry','',this)" value="${adjstReqStatusVO.sbmtDate}" data-datecontrol="true" onkeyup="this.value = date_mask(this.value)" maxlength="10">
<button type="button" title="달력 팝업 열기" class="btn_start btn_cal" onclick="return calendarOpen('sbmtDate-lry','',this)"><i></i></button>
</div>
<!-- <div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('sbmtDate-lry','',this)" class="btn_cal"></button>
<div id="sbmtDate-lry" class="calendarPop" style="display: none;">
<iframe id="sbmtDate-ifrm" name="sbmtDate-ifrm" class="calendar-frame" src="/kccadrPb/usr/mini_calendar.html" title="달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div> -->
<input type="text" name="sbmtTime" id="sbmtTime" size="20" value="" title="변경기일 시간 선택">
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td colspan="3">
<label for="appChgPhone1" class="label">핸드폰 앞자리 입력</label><form:input path="appChgPhone1" id="appChgPhone1" size="15" cssClass="input_phone" maxLength="3"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
<!--
<form:select path="appChgPhone1" id="appChgPhone1" cssClass="phone_first">
<form:option value="">직접입력</form:option>
<form:option value="010">010</form:option>
<form:option value="011">011</form:option>
<form:option value="016">016</form:option>
<form:option value="017">017</form:option>
<form:option value="018">018</form:option>
<form:option value="019">019</form:option>
</form:select>
-->
-<label for="appChgPhone2" class="label">핸드폰 가운데자리 입력</label><form:input path="appChgPhone2" id="appChgPhone2" size="15" cssClass="input_phone" maxLength="4"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
-<label for="appChgPhone3" class="label">핸드폰 마지막자리 입력</label><form:input path="appChgPhone3" id="appChgPhone3" size="15" cssClass="input_phone" maxLength="4"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
<form:hidden path="appChgPhone" id="appChgPhone" />
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>휴대전화</p>
</th>
<td colspan="3">
<label for="appChgCelnum1" class="label">핸드폰 앞자리 입력</label><form:input path="appChgCelnum1" id="appChgCelnum1" size="15" cssClass="input_phone" maxLength="3"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
<!--
<form:select path="appChgCelnum1" id="appChgCelnum1" cssClass="phone_first">
<form:option value="">직접입력</form:option>
<form:option value="010">010</form:option>
<form:option value="011">011</form:option>
<form:option value="016">016</form:option>
<form:option value="017">017</form:option>
<form:option value="018">018</form:option>
<form:option value="019">019</form:option>
</form:select>
-->
-<label for="appChgCelnum2" class="label">핸드폰 가운데자리 입력</label><form:input path="appChgCelnum2" id="appChgCelnum2" size="15" cssClass="input_phone" maxLength="4"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
-<label for="appChgCelnum3" class="label">핸드폰 마지막자리 입력</label><form:input path="appChgCelnum3" id="appChgCelnum3" size="15" cssClass="input_phone" maxLength="4"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
/>
<form:hidden path="appChgCelnum" id="appChgCelnum" />
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부서류</p>
<p>(신분증 첨부 필수)</p>
</th>
<!-- DnD를 위해서는 td class='upload_area' 추가가 핵심 -->
<td class="upload_area" colspan="3">
<label for="fileNm" class="label">첨부파일 선택</label>
<input type="text" id="fileNm" size="30" class="file_input" readonly>
<button type="button" class="btnType01 btn_add_file">파일 첨부하기</button>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;" title="파일${status.count} 삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
<!--
<tbody id="tbody_fiielist">
</tbody>
-->
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="alert('체험하기 기능입니다.'); return false;">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,484 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정대리신청</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/adm/script/postcode.js"></script>
<script src="<c:url value='/js/kccadr/kccadrCom.js' />"></script>
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
#agntNm, #agntBrthDt, #agntPhone, #agntCelnum{width: calc(100% - 15px);}
@media all and (max-width: 1024px){
.tbType01 colgroup{display: none;}
}
</style>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$("input[name=rpplRltnTy]").on("click",function(){
if($(this).is(":checked")){
$("input[name=rpplRltnTy]").prop("checked" , false);
$(this).closest("td").find("input[type=text]").prop("disabled", true);
$(this).closest("td").find("input[type=text]").val("");
$(this).prop("checked" , true);
$(this).next().next().prop("disabled", false);
}else{
$(this).next().next().val("");
$(this).next().next().prop("disabled", true);
}
});
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
});
function fncSave(type){
$("#mode").val(type);
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("대리인정보를 저장하시겠습니까?")){
if(validationForm(data)){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/web/kccadr/accdnt/adr/adjstDeputyReqSave.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
$("#detailForm > input[name=agntSeq]").val(returnData.rsVO.agntSeq);
alert("저장 되었습니다.");
fncGoDetail();
} else if(status== 'fail'){
alert("저장에 실패하였습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
}
function validationForm(data){
if($('#agntNm').val() == ""){
alert("이름은 필수입력입니다.");
$("#agntNm").focus();
return false;
}
if($('#agntBrthDt').val() == ""){
alert("생년월일 필수입력입니다.");
$("#agntBrthDt").focus();
return false;
}
if($('#agntAddr').val() == ""){
alert("주소는 필수입력입니다.");
$("#agntAddr").focus();
return false;
}
if($('#agntAddrDtl').val() == ""){
alert("상세주소는 필수입력입니다.");
$("#agntAddrDtl").focus();
return false;
}
if($('#agntPhone').val() == ""){
alert("자택(사무소)는 필수입력입니다.");
$("#agntPhone").focus();
return false;
}
if($('#agntCelnum').val() == ""){
alert("휴대전화는 필수입력입니다.");
$("#agntCelnum").focus();
return false;
}
//위임과의 관계 체크 박스 값
var rpplRltnTy = $("input:checkbox[name='rpplRltnTy']:checked").val();
if(rpplRltnTy == "" || rpplRltnTy == null ){
alert("위임인과의 관계는 필수입력입니다.");
$("#agntCelnum").focus();
return false;
}else{
var desc = $("input[name=rpplRltnTy][value="+ rpplRltnTy +"]").next().next().val();
if(desc == ""){
alert("위임인과의 관계 내용은 필수입력입니다.");
$("input[name=rpplRltnTy][value="+ rpplRltnTy +"]").next().next().focus();
return false;
}
}
if($(".uploaded_obj").length <= 0 ) {
alert("파일첨부는 필수입력입니다.");
return false;
}
return true;
}
function fncCancle(){
if(confirm("조정대리 신청을 취소하시겠습니까?")){
fncGoList();
}
}
function fncGoDetail(){
var varFrom = document.getElementById("detailForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqDetail.do'/>";
varFrom.submit();
}
function fncGoList(){
var varFrom = document.getElementById("listForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqList.do'/>";
varFrom.submit();
}
function fn_openPop(expCode) {
$('#expCode').val(expCode);
commonPopWindowopenForm("/web/kccadr/adjstExpDetail/popup/openExpExamplePop.do" , "1000", "3000", "openExpExamplePop",$("#pop"));
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<form id="pop" name="pop" method="post">
<input type="hidden" id="expCode" name="expCode" value="" />
</form>
<form id="detailForm" name="detailForm" method="post">
<input type="hidden" name="adrSeq" value="${adjDeputyReqVO.adrSeq}"/><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="${adjDeputyReqVO.adrSn}" /><!-- 조정회차 -->
<input type="hidden" name="agntSeq" value="${info.agntSeq}" /><!-- 조정대리인 일련번호 -->
</form>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="searchCondition" value="<c:out value='${adjDeputyReqVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${adjDeputyReqVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${adjDeputyReqVO.pageIndex}'/>"/>
<input type="hidden" name="adrSeq" value="${adjDeputyReqVO.adrSeq}"/><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="${adjDeputyReqVO.adrSn}" /><!-- 조정회차 -->
</form>
<form:form id="createForm" name="createForm" commandName="adjDeputyReqVO" onsubmit="return false;">
<input type="hidden" name="atchFileId" value="${info.atchFileId}"/>
<input type="hidden" name="adrSeq" value="${adjDeputyReqVO.adrSeq}"/><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="${adjDeputyReqVO.adrSn}" /><!-- 조정회차 -->
<input type="hidden" name="agntSeq" value="${info.agntSeq}" /><!-- 조정대리인 일련번호 -->
<input type="hidden" name="mode" value="${not empty info ? 'U' : 'I'}" /><!-- 조정대리인 일련번호 -->
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<div class="cont_tit">
<h2>조정대리신청</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>조정대리신청 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<div class="tb_wrap">
<table class="tbType01">
<caption>조정진행 상세 - 사건정보 상세 내용 : 사건, 조정회차, 신청인, 피신청인 등의 정보제공</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>조정번호</p>
</th>
<td>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</td>
<th scope="row">
<p>조정회차</p>
</th>
<td>
<p>1회차</p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.appliCantNm}'/></p>
</td>
<th scope="row">
<p>피신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.resPonDentNm}'/></p>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 피신청인 정보 -->
<div class="tb_wrap">
<div class="tb_top">
<p>조정대리 정보</p>
<%--<button class="btnType05 btn_add">피신청인 추가</button>--%>
</div>
<table class="tbType01 tb_offeree">
<caption>조정대리 정보 : 이름, 생년월일, 주소, 자택(사무소), 휴대전화등의 정보 입력</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이름</p>
</th>
<td>
<label for="agntNm" class="label">이름 입력</label><input type="text" name="agntNm" id="agntNm" value="${info.agntNm}" maxLength="20">
</td>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>생년월일</p>
</th>
<td>
<label for="agntBrthDt" class="label">생년월일 입력</label><input type="text" name="agntBrthDt" id="agntBrthDt" maxlength="6" placeholder="예) 951028" value="${info.agntBrthDt}"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"
>
</td>
</tr>
<tr class="scb_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td colspan="3">
<label for="agntPost" class="label">우편번호 입력</label>
<input type="text" size="20" name="agntPost" id="agntPost" class="adr_input" readonly style="background-color: #eee;" value="${info.agntPost}">
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="agntAddr" class="label">주소 입력</label>
<input type="text" size="45" name="agntAddr" id="agntAddr" class="searchResultAddr" value="${info.agntAddr}" readonly>
<label for="agntAddrDtl" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="agntAddrDtl" id="agntAddrDtl" class="usrInsertAddr" value="${info.agntAddrDtl}" maxLength="100">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>자택(사무소)</p>
</th>
<td>
<label for="agntPhone" class="label">자택(사무소)번호 입력</label>
<input type="text" name="agntPhone" id="agntPhone" value="${info.agntPhone}" placeholder="- 없이 입력"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="20"
>
</td>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>휴대전화</p>
</th>
<td>
<label for="agntCelnum" class="label">휴대전화 입력</label>
<input type="text" name="agntCelnum" id="agntCelnum" value="${info.agntCelnum}" placeholder="- 없이 입력"
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="20"
>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_wrap">
<table class="tbType01 tb_offeree">
<caption>위임인과의 관계, 첨부서류, 조정위임 사항등의 정보 입력</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row" style="width: 231px;">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>위임인과의 관계</p>
</th>
<td>
<div class="check_wrap">
<span><input type="checkbox" value="01" id="employee" name="rpplRltnTy" <c:if test="${info.rpplRltnTy eq '01'}"> checked</c:if> ><label for="employee">직원</label>
<input type="text" name="rpplRltnCn" title="위임인과의 관계 직원 입력" size="15" ${info.rpplRltnTy eq '01' ? '' : 'disabled'} value="${info.rpplRltnTy eq '01' ? info.rpplRltnCn : ''}"></span>
<span><input type="checkbox" value="02" id="family" name="rpplRltnTy" <c:if test="${info.rpplRltnTy eq '02'}"> checked</c:if> ><label for="family">가족</label>
<input type="text" name="rpplRltnCn" title="위임인과의 관계 가족 입력" size="15" ${info.rpplRltnTy eq '02' ? '' : 'disabled'} value="${info.rpplRltnTy eq '02' ? info.rpplRltnCn : ''}"></span>
<span><input type="checkbox" value="03" id="etc" name="rpplRltnTy" <c:if test="${info.rpplRltnTy eq '03'}"> checked</c:if>><label for="etc">기타</label>
<input type="text" name="rpplRltnCn" title="위임인과의 관계 기타 입력" size="15" ${info.rpplRltnTy eq '03' ? '' : 'disabled'} value="${info.rpplRltnTy eq '03' ? info.rpplRltnCn : ''}"></span>
</div>
</td>
</tr>
<tr>
<th scope="row" style="width: 231px;">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부서류</p>
</th>
<td>
<label for="fileNm" class="label">첨부파일 선택</label>
<input type="text" id="fileNm" size="30" class="file_input" readonly>
<button type="button" class="btnType01 btn_add_file">파일 첨부하기</button>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_size_text" value="<c:out value="${fileList.fileExtsn}"/>"></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileSize}"/>"></span>
</td>
<td>
<input type="button" class="delBtn" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;" title="파일${status.count} 삭제">
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<th scope="row" style="width: 231px;">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>조정위임 사항</p>
</th>
<td style="line-height: 20px;">
<p>
1. 저작권 분쟁조정에 관한 일체의 조정행위 및 합의 행위 <br>
2. 조정의 취하 <br>
3. 기타
</p>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="alert('체험하기 기능입니다.'); return false;">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,106 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정대리신청 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","/web/kccadr/adjstExpDetail/popup/adjstDeputyReqCreate.do").submit();
}
// function fncGoDetail(adrSeq, adrSn, agntSeq){
// $("#adrSeq").val(adrSeq);
// $("#adrSn").val(adrSn);
// $("#agntSeq").val(agntSeq);
// $("#listForm").attr("action","/web/kccadr/accdnt/adr/adjstDeputyReqDetail.do").submit();
// }
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<form:form id="listForm" name="listForm" commandName="adjDeputyReqVO">
<form:hidden path="adrSeq"/>
<form:hidden path="adrSn"/>
<form:hidden path="agntSeq"/>
<form:hidden path="appliCantNm"/>
<form:hidden path="resPonDentNm"/>
</form:form>
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<div class="cont_tit">
<h2>조정대리신청 목록</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>조정대리신청 목록 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<%-- <c:import url="/web/kccadr/kccadrCom/adjstBasicInfo.do"/> --%>
<!-- list -->
<div class="tb_list01">
<table><caption>조정대리신청 목록 : 번호, 대리인, 조정회차, 신청일자, 상태등의 정보제공 </caption>
<colgroup>
<col style="width: 80px;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">대리인</th>
<th scope="col">조정회차</th>
<th scope="col">신청일자</th>
<th scope="col">상태</th>
</tr>
</thead>
<tbody>
<tr><td colspan="5">자료가 없습니다. 다른 검색조건을 선택해주세요</td></tr>
</tbody>
</table>
</div>
<!-- //list -->
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<button class="btnType09" onclick="fncGoCreate(); return false;">조정대리 신청</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
<!-- //하단 버튼 -->
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,279 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>조정취하등록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<%-- <c:import url="/ML4WebPage.do"></c:import> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
});
function goReqStatus(){
$("#listForm").attr("action","/web/kccadr/accdnt/ars/adjstReqStatusDetail.do").submit();
}
function fncSaveCancleReson(){
if($("textarea[name=cnclCn]").val() == ''){
alert("취하사유를 입력해주세요.");
return false;
}
if(confirm("저장하시겠습니까?")){
var data = {
adrSeq : $("input[name=adrSeq]").val(),
adrSn : $("input[name=adrSn]").val(),
cnclCn : $("textarea[name=cnclCn]").val(),
adrCnclSeq : "<c:out value='${info.adrCnclSeq}' />"
}
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/awd/adjstWithDrawSave.do",
data: JSON.stringify(data),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData, status) {
if(returnData.rs == true){
alert("정상적으로 등록되었습니다.");
location.reload(true);
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncSaveCancleDelete(){
if(confirm("삭제하시겠습니까?")){
var data = {
adrSeq : $("input[name=adrSeq]").val(),
adrSn : $("input[name=adrSn]").val(),
adrCnclSeq : "<c:out value='${info.adrCnclSeq}' />"
}
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/awd/adjstWithDrawDelete.do",
data: JSON.stringify(data),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData, status) {
if(returnData.rs == true){
alert("정상적으로 삭제되었습니다.");
location.reload(true);
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
<%-- function fnSubmit() {
if(confirm("제출하시겠습니까?")){
magicline.uiapi.MakeSignData(document.reqForm, null, mlCallBack);
}
} --%>
//공동인증서 인증 후
<%-- function fn_result(sn){
var frm = document.detailForm ;
frm.sn.value = sn;
var data = new FormData(frm);
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/awd/updateAdjstWithDrawSubmitAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("제출을 완료했습니다.");
goReqStatus();
} else if(status== 'fail'){
alert("제출을 실패했습니다.");
} else if(status== 'noMatch'){
alert("등록된 인증서가 아닙니다. 인증서를 등록 후 이용해주세요.");
}
},
error: function (e) { alert("제출 실패하였습니다."); console.log("ERROR : ", e); }
});
} --%>
function fn_submit(){
var frm = document.detailForm ;
var data = new FormData(frm);
$.ajax({
type: "POST",
url: "/web/kccadr/accdnt/awd/updateAdjstWithDrawSubmitAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("제출을 완료했습니다.");
goReqStatus();
} else if(status== 'fail'){
alert("제출을 실패했습니다.");
}
},
error: function (e) { alert("제출 실패하였습니다."); console.log("ERROR : ", e); }
});
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="searchCondition" value="<c:out value='${adjstWithDrawVO.searchCondition}'/>"/>
<input type="hidden" name="searchKeyword" value="<c:out value='${adjstWithDrawVO.searchKeyword}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${adjstWithDrawVO.pageIndex}'/>"/>
<input type="hidden" name="adrSeq" value="<c:out value='${adjstWithDrawVO.adrSeq}' />" /><!-- 조정일련번호 -->
<input type="hidden" name="adrSn" value="<c:out value='${adjstWithDrawVO.adrSn}' />" /><!-- 조정회차 -->
</form>
<form id="detailForm" name="detailForm" method="post">
<input type="hidden" name="adrSeq" value="<c:out value='${info.adrSeq}' />" /><!-- 조정일련번호 -->
<input type="hidden" name="adrCnclSeq" value="<c:out value='${info.adrCnclSeq}' />" /><!-- 조정일련번호 -->
<!-- <input type="hidden" name="sn" /> -->
</form>
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<form:form id="createForm" name="createForm" commandName="adjstWithDrawVO" onsubmit="return false;">
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<div class="cont_tit">
<h2>조정취하등록</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>조정취하등록 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<div class="tb_wrap">
<table class="tbType01">
<caption>조정진행 상세 - 사건정보 상세 내용 : 사건, 조정회차, 신청인, 피신청인 등의 정보제공</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>조정번호</p>
</th>
<td>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</td>
<th scope="row">
<p>조정회차</p>
</th>
<td>
<p>1회차</p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.appliCantNm}'/></p>
</td>
<th scope="row">
<p>피신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.resPonDentNm}'/></p>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 취하 정보 -->
<div class="tb_wrap">
<table class="tbType01 tb_offeree">
<caption>취하사유 입력</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>취하사유</p>
</th>
<td colspan="3">
<textarea name="cnclCn" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;" title="취하사유 입력"><c:out value='${info.cnclCn}' /></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="alert('체험하기 기능입니다.'); return false;">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,343 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>기일변경상세</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFileItn.js'/>"></script>
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<!-- 파일첨부, 썸네일이미지 있으면 미리보기 -->
<%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// $(':button').attr("disabled");
// $(':input').attr("disabled");
});
$(function() {
$('#filebutton').click(function(e) {
e.preventDefault();
$('#file_temp').click();
});
});
function fncReg() {
alert("체험 기능입니다.")
}
function validation() {
// $('#adrDocCn1').val( $('#rpplEmail01').val()+'@'+$('#rpplEmail02').val() );
// $('#rpplPhone').val( $('#rpplPhone01').val()+'-'+$('#rpplPhone02').val()+'-'+$('#rpplPhone03').val() );
if (isEmpty($('#adrDocCn1').val())) {
alert('답변내용을 입력해 주세요.');
return false;
}
if (isEmpty($('#adrDocTy').val())) {
alert('문건명을 선택해주세요.');
return false;
}
if ($('#tbody_fiielist tr').length * 1 <= 0) {
alert("첨부서류를 등록해 주세요");
return false;
}
return true;
}
function fncGoList() {
var varFrom = document.getElementById("listForm");
varFrom.action = "<c:url value='/web/kccadr/accdnt/ars/adjstReqStatusDetail.do'/>";
varFrom.submit();
}
function notiOpenYn() {
if (confirm('제한공개는 영업비밀 등에 해당하는 경우만 선택해 주십시요.' + '\n공정한 진행을 위해 위원회 판단으로 공개로 전환될 수 있습니다.' + '\n제한공개로 선택 하시겠습니까?')) {
$("#openYn_N").prop('checked', true);
} else {
$("#openYn_Y").prop('checked', true);
}
}
function listPage(){
//location.href="<c:url value='/web/kccadr/accdnt/ars/adjstReqStatusDetail.do'/>";
fncGoList();
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<form id="listForm" name="listForm" method="post" onsubmit="return false;" enctype="multipart/form-data">
<input type="hidden" name="adrSeq" value="<c:out value='${info.adrSeq}'/>" />
<input type="hidden" name="adrSn" value="<c:out value='${info.adrSn}'/>" />
<input type="hidden" name="resPonDentSeq" value="<c:out value='${info.resPonDentSeq}'/>" />
<input type="hidden" name="appliCantSeq" value="<c:out value='${info.appliCantSeq}'/>" />
<input type="hidden" name="limitcount" value="3" />
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0;">
<div class="cont_tit">
<h2>답변서 제출</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>답변서 양식 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<div class="tb_wrap">
<table class="tbType01">
<caption>답변서 제출 상세 : 사건, 담당조정부, 신청인, 피신청인등의 정보제공</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>사건</p>
</th>
<td>
<p>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</p>
</td>
</tr>
<tr>
<th scope="row">
<p>담당조정부</p>
</th>
<td>
<p>
체험 조정부
</p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청인</p>
</th>
<td>
<p>
체험자
</p>
</td>
</tr>
<tr>
<th scope="row">
<p>피신청인</p>
</th>
<td>
<p>
피체험자
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_wrap">
<table class="tbType01 tb_offeree">
<caption>답변내용, 문건명, 첨부서류, 상대방 공개여부등의 정보제공</caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>답변내용</p>
<!-- <button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="AdjstReq.openAnswerExamplePop('CC003'); return false;" title="예문 팝업 열림">예문</button> -->
<button class="btnType01 btn_adr_search examBtn" data-tooltip="fee_info_popup" onclick="alert('체험하기 기능입니다.'); return false;" title="예문 팝업 열림">예문</button>
</th>
<td>
<label for="adrDocCn1" class="label">답변내용 입력</label>
<textarea name="adrDocCn1" id="adrDocCn1" cols="30" rows="5" cssClass="purpose_text" cssStyle="resize: none;"><c:out value='${info.adrDocCn1}' /></textarea>
</td>
</tr>
<tr>
<th scope="row">
<p>문건명</p>
</th>
<td>
<p>
<label for="adrDocTy" class="label">문건명 선택</label>
<select name="adrDocTy" id="adrDocTy" class="subSearch">
<option value="">선택해주세요</option>
<option value="10">신청인답변서</option>
</select>
</p>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부서류</p>
</th>
<td class="upload_area">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> -->
<!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display: none" />
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일찾기</button>
<p style="font-size: 16px; float: right; margin-top: 16px; color: #666;">* 첨부파일을 등록해 주세요. (최대3개)</p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>
첨부하실 파일을
<span>마우스로 끌어서</span>
넣어주세요.
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 추가 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<input type="hidden" name="limitcount" value="3" />
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>">
<c:out value="${fileList.fileExtsn}" />
</span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>">
<c:out value="${fileList.fileMg}" />
</span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제">
<i></i>
</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<th>
<p>상대방공개여부</p>
</th>
<td>
<div class="radio_wrap">
<span>
<input value="Y" type="radio" name="openYn" id="openYn_Y" checked="checked">
<label for="openYn_Y">공개</label>
</span>
<span>
<input value="N" type="radio" name="openYn" id="openYn_N" onclick="notiOpenYn()">
<label for="openYn_N">제한공개</label>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="fncReg()">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form>
</body>
</html>

View File

@ -0,0 +1,438 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>경정신청서 등록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/adm/script/postcode.js"></script>
<script src="<c:url value='/js/kccadr/kccadrCom.js' />"></script>
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<script type="text/javaScript" language="javascript">
function fncReg() {
if (validation()) {
if (confirm("경정청구를 등록 하시겠습니까?")) {
var data = new FormData(document.getElementById("createForm"));
$.ajax({
type : "POST",
url : "/web/kccadr/accdnt/arc/corReqCreateAjax.do",
data : data,
dataType : 'json',
async : false,
processData : false,
contentType : false,
cache : false,
success : function(returnData, status) {
if (returnData.result == 'success') {
alert("경정청구 등록이 완료되었습니다.");
location.reload(true);
} else {
alert(returnData.message);
}
},
error : function(e) {
alert("경정청구 등록을 실패하였습니다.");
console.log("ERROR : ", e);
}
});
}
}
}
function validation() {
var result = true;
$('button[name=delRpplSeq]').each(function(idx, obj) {
console.log('obj'+idx, $(obj).val());
if( isNotEmpty($(obj).val()) ){
$('input[name=oldRpplSeq_' + idx + ']').val( ($(obj).val() ).split('\|')[0]);
console.log('obj등록:'+$('input[name=oldRpplSeq_' + idx + ']').val());
if (isEmpty($('input[name=rpplNm_' + idx + ']').val())) {
alert('피신청인명을 입력해 주세요.');
$('input[name=rpplNm_' + idx + ']').focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplPost_' + idx + ']').val())) {
alert('우편번호를 입력해 주세요.');
$('input[name=rpplPost_' + idx + ']').focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplAddr_' + idx + ']').val())) {
alert('주소를 입력해 주세요.');
$('input[name=rpplAddr_' + idx + ']').focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplAddrDtl_' + idx + ']').val())) {
alert('상세주소를 입력해 주세요.');
$('input[name=rpplAddrDtl_' + idx + ']').focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplEmail01]').eq(idx).val())) {
alert('이메일1을 입력해 주세요.');
$('input[name=rpplEmail01]').eq(idx).focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplEmail02]').eq(idx).val())) {
alert('이메일2을 입력해 주세요.');
$('input[name=rpplEmail02]').eq(idx).focus();
result = false;
return false;
}
if (isEmpty($('select[name=rpplPhone01]').eq(idx).val())) {
alert('연락처1를 입력해 주세요.');
$('select[name=rpplPhone01]').eq(idx).focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplPhone02]').eq(idx).val())) {
alert('연락처2를 입력해 주세요.');
$('input[name=rpplPhone02').eq(idx).focus();
result = false;
return false;
}
if (isEmpty($('input[name=rpplPhone03').eq(idx).val())) {
alert('연락처3를 입력해 주세요.');
$('input[name=rpplPhone03').eq(idx).focus();
result = false;
return false;
}
if (isEmpty($('textarea[name=rpplChgCn1_' + idx + ']').val())) {
alert('정정취지를 입력해 주세요.');
$('textarea[name=rpplChgCn1_' + idx + ']').focus();
result = false;
return false;
}
if (isEmpty($('textarea[name=rpplChgCn2_' + idx + ']').val())) {
alert('정정이유를 입력해 주세요.');
$('textarea[name=rpplChgCn2_' + idx + ']').focus();
result = false;
return false;
}
$('input[name=rpplPhone_' + idx + ']').val($('select[name=rpplPhone01]').eq(idx).val() + '-' + $('input[name=rpplPhone02').eq(idx).val() + '-' + $('input[name=rpplPhone03').eq(idx).val());
$('input[name=rpplEmail_' + idx + ']').val($('input[name=rpplEmail01').eq(idx).val() + '@' + $('input[name=rpplEmail02').eq(idx).val());
}else{
$('input[name=oldRpplSeq_' + idx + ']').val('');
}
});
return result;
}
function addRppl() {
var selectKey = $('#addRpplSeq').val();
var cnt = $("#addRpplSeq option").length;
$('button[name=delRpplSeq]').eq("<c:out value='${fn:length(list)}' />"-cnt).val(selectKey);
var index = $("#addRpplSeq option").index($("#addRpplSeq option:selected"));
$("#addRpplSeq option:eq(" + index + ")").remove();
viewRppl();
}
function delRppl(obj) {
var selectKey =$(obj).val();
var key = selectKey.split('\|');
$('#addRpplSeq').append('<option value="'+ selectKey +'">' + key[1] + '</option>');
$(obj).val('');
viewRppl();
}
function viewRppl() {
clear();
$('#btnShow1').hide();
$('button[name=delRpplSeq]').each(function(idx, obj) {
if(isNotEmpty($(obj).val())){
var key = ($(obj).val()).split('\|');
var text = '<p><span class="text_tit">이름</span>' + key[1] + '</p><p><span class="text_tit">주소</span>(' + key[2] + ') ' + key[3] + ' ' + key[4] + '</p><p><span class="text_tit">전화</span>' + key[5] + '</p>';
$('#oldText' + idx).html(text);
$('#rpplList' + idx).show();
$('#btnShow1').show();
}
});
if(isNotEmpty($("#addRpplSeq option")) && $("#addRpplSeq option").length>0){
$('#btnShow2').show();
}else{
$('#btnShow2').hide();
}
}
function clear() {
for (var i = 0; i < "<c:out value='${fn:length(list)}' />"; i++) {
$('#oldText' + i).html('');
$('#rpplList' + i).hide();
}
}
function fncCancle(){
var createForm = document.createForm;
createForm.action = "<c:url value='/web/kccadr/accdnt/arc/corReqList.do'/>";
createForm.submit();
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0;">
<div class="cont_tit">
<h2>경정신청 등록</h2>
</div>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>경정신청 등록 입니다.</p>
</li>
<li>
<p>대상추가를 클릭하시면 등록창이 보입니다.</p>
</li>
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<%-- <c:import url="/web/kccadr/kccadrCom/adjstBasicInfo.do"> --%>
<%-- <c:param name="searchViewType" value="M"></c:param> --%>
<%-- </c:import> --%>
<div class="tb_top">
<p>경정신청 대상</p>
<div class="tb_top_btns" id="btnShow2">
<label for="">경정신청대상 선택</label>
<select id="addRpplSeq" class="tb_select">
<c:forEach var="item" items="${list}" varStatus="status">
<option value="<c:out value='${item.selectRpplKey }' />"><c:out value='${item.rpplNm }' /></option>
</c:forEach>
</select>
<button type="button" class="btnType01" onclick="addRppl();">대상추가</button>
</div>
</div>
<form id="createForm" name="createForm" onsubmit="return false;">
<input type="hidden" name="adrSeq" value="<c:out value='${corReqVO.adrSeq }' />" />
<c:forEach var="item" items="${list}" varStatus="status">
<div class="tb_wrap" id="rpplList<c:out value='${status.index }' />" style="display: none">
<input type="hidden" name="rpplSeq_${status.index }" value="<c:out value='${item.rpplSeq}' />" />
<div class="tb_util">
<p id="oldRpplNm<c:out value='${status.index }' />">피신청인1</p>
<div class="btn_wrap">
<button type="button" class="btnType08" name="delRpplSeq" onclick="delRppl(this)">삭제</button>
<input type="hidden" name="oldRpplSeq_<c:out value='${status.index }' />">
</div>
</div>
<table class="tbType01 tb_corapp">
<caption>경정신청 대상 : 피신청인 경정 전 피신청인 정보, 경정 후 피신청인 정보 입력(피신청인 분류, 피신청인 이름, 주소, 이메일, 연락처), 경정취지, 경정이유</caption>
<colgroup>
<col style="width: 13%;">
<col style="width: 13%;">
<col style="width: 13%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="rowgroup" rowspan="6" class="t_center">
<p>피신청인</p>
</th>
<th scope="row" colspan="2" class="t_center">
<p>경정 전 피신청인</p>
</th>
<td>
<p id="oldText<c:out value='${status.index }' />"></p>
</td>
</tr>
<tr>
<th scope="rowgroup" rowspan="5" class="t_center">
<p>경정 후 피신청인</p>
</th>
<th scope="row">
<p class="req_text">
<span>필수입력 항목</span>
*
</p>
<p>피신청인 분류</p>
</th>
<td>
<div class="radio_wrap">
<kc:radio codeId="CC001" name="rpplUsrTy_${status.index }" id="rpplUsrTy_${status.index }" selectedValue="${item.rpplUsrTy}" />
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text">
<span>필수입력 항목</span>
*
</p>
<p>피신청인 이름</p>
</th>
<td>
<input type="text" name="rpplNm_<c:out value='${status.index }' />" value="피신청인<c:out value="${status.index }" />" size="30" title="피신청인 이름 입력">
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text">
<span>필수입력 항목</span>
*
</p>
<p>주소</p>
</th>
<td>
<label for="rpplPost<c:out value='${status.index }' />" class="label">우편번호 입력</label>
<input type="text" class="adr_input" placeholder="우편번호입력" readonly="readonly" name="rpplPost_<c:out value='${status.index }' />" id="rpplPost<c:out value='${status.index }' />" value="1234<c:out value="${status.index }" />">
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplAddr" class="label">주소 입력</label>
<input type="text" class="adr_detail_input searchResultAddr" placeholder="주소를 입력해주세요." readonly="readonly" name="rpplAddr_<c:out value='${status.index }' />" id="rpplAddr" value="우리집<c:out value="${status.index }" />" size="45">
<label for="rpplAddrDtl" class="label">나머지주소 입력</label>
<input type="text" class="etc_detail_input usrInsertAddr" placeholder="상세주소를 입력해주세요." name="rpplAddrDtl_<c:out value='${status.index }' />" id="rpplAddrDtl" value="상세주소<c:out value="${status.index }" />" size="25">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text">
<span>필수입력 항목</span>
*
</p>
<p>이메일</p>
</th>
<td>
<input type="hidden" name="rpplEmail_<c:out value='${status.index }' />">
<!-- <label for="" class="label">이메일아이디 입력</label> -->
<input type="text" name="rpplEmail01" title="이메일 아이디 입력" class="input_email" placeholder="이메일 입력" size="20" value="aaaaa<c:out value="${status.index }" />">
@ <!-- <label for="" class="label">이메일공급자 입력</label> -->
<input type="text" name="rpplEmail02" title="이메일공급자 입력" class="input_email" placeholder="예) naver.com" size="20" value="bbbb<c:out value="${status.index }" />">
<!-- <label for="" class="label">이메일공급자 선택</label> -->
<select name="rpplEmail03" onchange="emailSelect(this);" title="이메일공급자 선택" class="email_select">
<option value="">직접입력</option>
<option value="naver.com">naver.com</option>
<option value="hanmail.net">hanmail.net</option>
<option value="nate.com">nate.com</option>
<option value="gmail.com">gmail.com</option>
<option value="hotmail.com">hotmail.com</option>
<option value="empal.com">empal.com</option>
<option value="chol.com">chol.com</option>
<option value="dreamwiz.com">dreamwiz.com</option>
<option value="freechal.com">freechal.com</option>
<option value="hanafos.com">hanafos.com</option>
<option value="paran.com">paran.com</option>
<option value="yahoo.co.kr">yahoo.co.kr</option>
<option value="korea.com">korea.com</option>
</select>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text">
<span>필수입력 항목</span>
*
</p>
<p>연락처</p>
</th>
<td>
<!-- <label for="" class="label">핸드폰 앞자리 선택</label> -->
<select name="rpplPhone01" class="phone_first" title="핸드폰 앞자리 선택">
<option value="010" selected="selected">010</option>
<option value="011">011</option>
<option value="016">016</option>
<option value="017">017</option>
<option value="018">018</option>
<option value="019">019</option>
</select>
<!-- - <label for="" class="label">핸드폰 가운데자리 입력</label> -->
<input class="input_phone" placeholder="연락처 입력" type="text" size="15" title="핸드폰 가운데자리 입력" maxlength="4" name="rpplPhone02" value="123<c:out value="${status.index }" />">
- <!-- <label for="" class="label">핸드폰 마지막자리 입력</label> -->
<input class="input_phone" placeholder="연락처 입력" type="text" size="15" title="핸드폰 마지막자리 입력" maxlength="4" name="rpplPhone03" value="123<c:out value="${status.index }" />">
<input type="hidden" name="rpplPhone_<c:out value='${status.index }' />">
</td>
</tr>
<tr>
<th scope="row" colspan="3">
<p>경정취지</p>
</th>
<td>
<textarea name="rpplChgCn1_<c:out value='${status.index }' />" title="경정취지 입력">위 조정건의 당사자표시 중 “피신청인______________”를 “피신청인____________”으로 경정한다.</textarea>
</td>
</tr>
<tr>
<th scope="row" colspan="3">
<p>경정이유</p>
</th>
<td>
<textarea name="rpplChgCn2_<c:out value='${status.index }' />" title="경정이유 입력"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
</c:forEach>
</form>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="fncReg()">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,237 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>직권조정결정서 상세</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoDetail(adrSeq, adrSn){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/kccadr/accdnt/ars/adjstReqStatusDetail.do'/>";
listForm.submit();
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
</head>
<body>
<form:form id="listForm" name="listForm" method="post">
<input type="hidden" id="adrSeq" name="adrSeq" value="<c:out value="${info.adrSeq }"></c:out>" />
<input type="hidden" id="adrSn" name="adrSn" value="<c:out value="${info.adrSn }"></c:out>" />
<input type="hidden" id="closeDocTy" name="closeDocTy" value="<c:out value="${info.closeDocTy }"></c:out>" />
<input type="hidden" id="closeDoc" name="closeDoc" value="<c:out value="${info.closeDoc }"></c:out>" />
<input type="hidden" id="memSeq" name="memSeq" value=""/>
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<h2 class="cont_tit">직권조정결정서 상세</h2>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>직권조정결정서 상세 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<div class="tb_wrap">
<table class="tbType01">
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>
<p>조정부</p>
</th>
<td>
<p>
<%-- <c:out value="${info.memDeptNm }"></c:out> --%>
[체험]조정부
</p>
</td>
</tr>
<tr>
<th>
<p>사건</p>
</th>
<td>
<p>
<%-- <c:out value="${info.adrNo }"></c:out> --%>
<c:out value='${Year}' />조정<c:out value='${Day}' />
</p>
</td>
</tr>
<tr>
<th>
<p>신청인</p>
</th>
<td>
<p>
<p><c:out value='${adjDeputyReqVO.appliCantNm}'/></p>
</p>
</td>
</tr>
<tr>
<th>
<p>피신청인</p>
</th>
<td>
<p>
<p><c:out value='${adjDeputyReqVO.resPonDentNm}'/></p>
</p>
</td>
</tr>
<tr>
<th>
<p>결정일</p>
</th>
<td>
<%-- <div class="sel_date">
<input type="text" class="rplyEndDeDay inp" title="검색시작일" id="rplyEndDeDay" name="rplyEndDeDay" onclick="return calendarOpen('rplyEndDeDay-lry','',this)" value="<c:out value="${drtCtrVO.rplyEndDeDay }"></c:out>" data-datecontrol="true" readonly>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('rplyEndDeDay-lry','',this)" class="btn_cal"></button>
<div id="rplyEndDeDay-lry" class="calendarPop" style="display: none;">
<iframe id="rplyEndDeDay-ifrm" name="rplyEndDeDay-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div> --%>
<p>2022/05/06</p>
</td>
</tr>
<%-- <tr>
<th>
<p>송달완료일</p>
</th>
<td>
<p>
<c:out value="${info.recDe}"></c:out>
</p>
</td>
</tr> --%>
<tr>
<th>
<p>이의신청기한</p>
</th>
<td>
<%-- <div class="sel_date">
<input type="text" class="adrOjctDe inp" title="검색시작일" id="adrOjctDe" name="adrOjctDe" onclick="return calendarOpen('adrOjctDe-lry','',this)" value="<c:out value="${drtCtrVO.adrOjctDe }"></c:out>" data-datecontrol="true" readonly>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('adrOjctDe-lry','',this)" class="btn_cal"></button>
<div id="adrOjctDe-lry" class="calendarPop" style="display: none;">
<iframe id="adrOjctDe-ifrm" name="adrOjctDe-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div> --%>
<p>2022/05/20</p>
</td>
</tr>
<tr>
<th>
<p>주문</p>
</th>
<td class="td_cause">
<%-- <input type="text" name="closeCn3" id="closeCn3" value="<c:out value="${drtCtrVO.closeCn3 }"></c:out>" size="70"> --%>
<p>주문 예시 작성해야함 </p>
</td>
</tr>
<tr>
<th>
<p>신청취지</p>
</th>
<td class="td_cause">
<%-- <input type="text" name="closeCn2" id="closeCn2" value="<c:out value="${drtCtrVO.closeCn2 }"></c:out>" size="70"> --%>
<p>신청취지</p>
</td>
</tr>
<tr>
<th>
<p>이유</p>
</th>
<td class="td_cause">
<p>이유 예시 작성해야함 </p>
</td>
</tr>
<%-- <tr>
<th>
<p>조정부장</p>
</th>
<td>
<p>
<c:out value="${info.memName }" />
<c:forEach var="cmnList" items="${cmnList}" varStatus="status">
<c:if test="${info.memSeq eq cmnList.memSeq}">
<button type="button" class="btnType01 btn_change" onclick="fncCmnDetail('<c:out value="${cmnList.memSeq}"/>')">의견정보</button>
</c:if>
</c:forEach>
</p>
</td>
</tr>
조정위원 이름 split 처리
<c:set var="memNmList" value="${fn:split(info.memNames, ', ')}"/>
조정위원 일련번호 split 처리
<c:set var="memSeqsList" value="${fn:split(info.memSeqs, ', ')}"/>
<c:forEach var="memNm" items="${memNmList}" varStatus="status">
<tr>
<th>
<p>조정위원</p>
</th>
<td>
<p>
<c:out value="${memNm}" />
현재 선택된 조정위원에 해당하는 일련번호 변수 저장
<c:set var="memSeqNo" value="${memSeqsList[status.index]}"/>
<c:forEach var="cmnList" items="${cmnList}" varStatus="status">
<c:if test="${memSeqNo eq cmnList.memSeq}">
<button type="button" class="btnType01 btn_change" onclick="fncCmnDetail('<c:out value="${cmnList.memSeq}"/>')">의견정보</button>
</c:if>
</c:forEach>
</p>
</td>
</tr>
</c:forEach> --%>
</tbody>
</table>
</div>
</form>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
<!-- //cont -->
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,281 @@
<%--
대국민 사용자
Class Name : ojctRegist.jsp
Description : 이의신청 등록화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.09.09 이지우 내용
author : 이지우
since : 2021.09.09
--%>
<%-- 공통 JS 함수 정의 : /jsp/web/com/webLayout.jsp --%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$(function () {
$('#filebutton').click(function (e) {
e.preventDefault();
$('#file_temp').click();
});
});
});
function goList(){
document.searchForm.action = "/web/kccadr/ojct/ojctList.do";
document.searchForm.submit();
}
function fncCancel(){
if (confirm("이의신청을 취소하시겠습니까?")) {
goList();
}
}
function fncCreate(){
var frm = document.ojctVO ;
var ojctCn = frm.ojctCn.value;
if(ojctCn == ""){
alert("이의신청 사유를 입력해 주세요.");
return false;
}
var data = new FormData(frm);
//첨부파일 등록 처리
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("이의신청을 등록 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/web/kccadr/ojct/insertOjctAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
alert("이의신청 등록을 완료했습니다.");
goList();
} else if(status== 'fail'){
alert("이의신청 등록에 실패했습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</script>
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="sysDay"><fmt:formatDate value="${now}" pattern="yyyy.MM.dd" /></c:set> 
<c:set var="Year"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set> 
<c:set var="Day"><fmt:formatDate value="${now}" pattern="MMdd" /></c:set> 
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub" style="margin-top:30px;">
<div class="inner" style="margin-top:0px;">
<h2 class="cont_tit">이의신청 등록</h2>
<div class="info_wrap">
<div class="icon_box"><i></i></div>
<div class="text_area">
<ul>
<li>
<p>이의신청 등록 입니다.</p>
</li>
<!-- <li> -->
<!-- <p>외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 -->
<!-- 직접 내방하거나 우편의 방법으로 신청하여야 합니다.</p> -->
<!-- </li> -->
<!-- <li> -->
<!-- <p>대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.</p> -->
<!-- </li> -->
</ul>
<p class="cf_text">주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3
신청취지/원인 예문보기)</p>
</div>
</div>
<form name="ojctVO" method="post" enctype="multipart/form-data">
<input type="hidden" name="adrSeq" value="<c:out value ='${ojctVO.adrSeq}' />" />
<input type="hidden" name="adrSn" value="<c:out value ='${ojctVO.adrSn}' />" />
<div class="tb_wrap">
<table class="tbType01">
<caption>이의신청 등록 : 사건, 사건명, 신청인, 피신청인 등의 정보제공 및 이의신청사유 입력, 첨부파일 선택 등록 </caption>
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>사건</p>
</th>
<td>
<p><c:out value='${Year}' />조정<c:out value='${Day}' /></p>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>사건명</p>
</th>
<td>
<%-- <p><c:out value="${info.ccTyTx}"/></p> --%>
<p>[체험]저작물</p>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.appliCantNm}'/></p>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인</p>
</th>
<td>
<p><c:out value='${adjDeputyReqVO.resPonDentNm}'/></p>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이의신청사유</p>
</th>
<td><label for="ojctCn" class="label">이의신청사유 입력</label><textarea name="ojctCn" id="ojctCn" cols="30" rows="10" class="cause_text" maxlength="500"></textarea></td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area">
<label for="file_temp" class="label">첨부파일 선택</label>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="<c:out value='${fileList.fileSize}' />">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일${status.count} 삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</form>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType09 btn_edit" onclick="alert('체험하기 기능입니다.'); return false;">등록</button>
<button class="btnType11 btn_list" onclick="window.close();">닫기</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
<!-- //cont -->
<form name="searchForm" id="searchForm" method="post" action="/web/kccadr/ojct/ojctList.do">
<input type="hidden" name="adrSeq" value="<c:out value ='${ojctVO.adrSeq}' />" />
<input type="hidden" name="adrSn" value="<c:out value ='${ojctVO.adrSn}' />" />
<input type="hidden" name="adrNo" value="<c:out value='${ojctVO.adrNo}'/>"/>
<input type="hidden" name="sbmtDe" value="<c:out value="${ojctVO.sbmtDe}" />" />
<input type="hidden" name="statCd" value="<c:out value="${ojctVO.statCd}" />" />
</form>

View File

@ -261,10 +261,14 @@ var AdjstReq = {
// 신청유형
data.reqTy = $("#reqTy").val();
console.log("saveData ::" , data);
var url = "/web/kccadr/adjst/adjstReqRegistStep1Save.do";
// 신청하기, 체험하기 구분
var depth = this.expDivision(this.STEP);
var url = "/web/kccadr/"+depth+"/adjstReqRegistStep1Save.do";
if(mode == "${KccadrConstants.ADR_MODE_UPT}"){
url = "/web/kccadr/adjst/adjstReqRegistStep1Update.do";
url = "/web/kccadr/"+depth+"/adjstReqRegistStep1Update.do";
}
if (confirm("신청인 정보 등록을 진행하시겠습니까?")) {
@ -321,7 +325,8 @@ var AdjstReq = {
// 조정회차
data.adrSn = $("#adrSn").val();
var url = "/web/kccadr/adjst/adjstReqRegistStep2Save.do";
var depth = this.expDivision(this.STEP);
var url = "/web/kccadr/"+depth+"/adjstReqRegistStep2Save.do";
if (confirm("피신청인 정보 등록을 진행하시겠습니까?")) {
$.ajax({
@ -377,11 +382,14 @@ var AdjstReq = {
return false;
}
var depth = this.expDivision(this.STEP);
var url = "/web/kccadr/"+depth+"/adjstReqRegistStep3Save.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/web/kccadr/adjst/adjstReqRegistStep3Save.do",
data: data,
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
@ -808,9 +816,14 @@ var AdjstReq = {
return false;
}
if($(".uploaded_obj").length <= 0 ) {
alert("파일첨부는 필수입력입니다.");
return false;
if(this.STEP == "${KccadrConstants.STEP9}"){
alert("조정신청에서 첨부파일은 필수입력입니다.");
}else{
alert("파일첨부는 필수입력입니다.");
return false;
}
}
return true;
@ -1009,7 +1022,23 @@ var AdjstReq = {
location.href="/web/main/mainPage.do";
},
fncGoMyAdjstListPage : function(){
location.href="/web/kccadr/accdnt/ai/adjstIncidentList.do";
/**
* expDivision fn = 체험기능인지 인지 아닌지 구분 값
*/
if(this.expDivision(this.STEP) === 'adjstExp')
{
/**
* 체험이면 현재 페이지에 expGoDetail form으로 상세페이지 일동
*/
expGoDetail.submit();
}
else
{
location.href="/web/kccadr/accdnt/ai/adjstIncidentList.do";
}
},
historyAdjstPopList : function(paramObj){
if(paramObj == undefined || paramObj == ''){
@ -1041,7 +1070,6 @@ var AdjstReq = {
);
},
openAnswerExamplePop : function(codeId){
console.log('codeId :: ', codeId);
commonPopLayeropen(
"/web/kccadr/adjst/popup/adjstReqOpenAnswerExamplePop.do"
, 1100
@ -1101,8 +1129,8 @@ var AdjstReq = {
}
}
}
},
rpplUsrTyLayout : function(thisObj){
}
,rpplUsrTyLayout : function(thisObj){
var thisElm = $(thisObj).closest(".tb_wrap");
var val = $(thisObj).val();
thisElm.find("tr[usrTy]").hide();
@ -1111,5 +1139,18 @@ var AdjstReq = {
thisElm.find("tr[usrTy="+val+"]").show();
thisElm.find("tr[usrTy="+val+"]").find("input").prop("disabled" , false);
}
,expDivision : function(stepVal){
var depth = "adjst";
if(stepVal == 'STEP6'
|| stepVal == 'STEP7'
|| stepVal == 'STEP8'
|| stepVal == 'STEP9')
{
depth = "adjstExp"
}
return depth;
}
}
</script>

View File

@ -670,6 +670,32 @@ table .label{position: absolute;width: 1px; height: 1px; margin: 0; border: none
.page .btn_page_last i{background-image: url(/kccadrPb/usr/image/btn_page_last.png); background-position: 46% center;}
/* //page */
/* 워크플로우 */
.work_flow_wrap{background-color: #f1f2f4; border: 1px solid #d5d5d5; border-radius: 5px; padding: 0 20px; margin: 0 0 30px 0;transition: all 0.5s ease; height: auto;}
.work_flow_wrap .work_tit{display: flex; justify-content: space-between; align-items: center; font-size: 20px; padding: 20px 0 20px 6px;}
.btn_open, .work_flow_wrap .btn_close{width: 30px; height: 30px; border-radius: 5px; background-color: #fff;}
.btn_open i{display: inline-block; width: 100%; height: 100%; background-image: url(/kccadrPb/usr/image/common/btn_plus.png); background-repeat: no-repeat; background-position: center;}
.work_flow_wrap .btn_close i{display: inline-block; width: 100%; height: 100%; background-image: url(/kccadrPb/usr/image/common/btn_minus.png); background-repeat: no-repeat; background-position: center;}
.work_cont{background-color: #fff; border-radius: 5px; padding: 20px 25px; margin: 0 0 25px 0;transition: all 0.5s ease;}
.work_flow_wrap .top_work{display: flex; justify-content: space-between; align-items: center;}
.work_flow_wrap .work_cont .top_work li{overflow: visible;}
.work_flow_wrap .work_cont li{position: relative; width: 100%; overflow: hidden;}
.work_flow_wrap .work_cont p{display: inline-flex; width: 210px; text-align: center; border: 1px solid #d5d5d5; height: 45px; border-radius: 5px; align-items: center; justify-content: center; font-size: 16px; color: #666; margin-bottom: 26px;background-color: transparent; position: relative;}
.work_flow_wrap .work_cont p+img{position: absolute; right: -10px; top: 8px; z-index: 1;}
.work_2{margin-top: 55px; position: relative;}
.work_3,.work_5{float: right;}
.work_5{margin-left: 10px; margin-top: 73px;}
.work_flow_wrap .work_cont .work_3 li{overflow: visible;}
.work_4{float: right; margin-left: 240px; margin-top: -73px; position: relative;}
.work_flow_wrap .work_cont p+.nexticon_3{position: absolute; top: 100%; left: 98px; top: 54px;}
.nexticon_4{position: absolute; top: -58px; left: 235px;}
.nexticon_5{position: absolute; top: 22px; left: 215px;}
.work_flow_wrap.off .work_cont{height: 0; padding: 0 25px; margin: 0; transition: all 0.5s ease; overflow: hidden;}
.work_cont .status01 p{border: 1px solid #ea5404; color: #ea5404;}
.work_cont .status02 p{border: 2px solid #1b6fcd; color: #1b6fcd; font-weight: 500;}
/* //워크플로우 */
/* 익스플로어 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){

View File

@ -4,6 +4,10 @@
.tb_corapp th .req_text+p{width: calc(100% - 40px); vertical-align: text-top;}
}
@media all and (max-width: 1280px){
.work_flow_wrap{display: none;}
}
@media all and (max-width: 1150px){
/* 대시보드 */
.usr_dashboard .box{padding: 26px 0 26px 15px;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -655,6 +655,16 @@ $(document).ready(function(){
$(".btn_start").one("mouseover",function(){
calendarOpen();
});
$(".work_flow_wrap .btn_open").click(function(){
if($(".work_flow_wrap").is(".off") == true){
$(".work_flow_wrap").removeClass("off");
$(this).addClass("btn_close").removeClass("btn_open");
}else{
$(".work_flow_wrap").addClass("off");
$(this).removeClass("btn_close").addClass("btn_open");
}
});
})
function otherDateInput(targetObj,thisVal,orgVal){

View File

@ -0,0 +1,754 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>저작권 전자조정시스템 > 전자조정 신청 > 조정 진행 상세</title>
<!-- css -->
<link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/common.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/content_media.css">
<link rel="stylesheet" href="/kccadrPb/usr/css/popup.css">
<!-- script -->
<script src="/kccadrPb/usr/script/jquery-3.5.0.js"></script>
<script src="/kccadrPb/usr/script/common.js"></script>
<script src="/kccadrPb/usr/script/content.js"></script>
<script src="/kccadrPb/usr/script/popup.js"></script>
</head>
<body>
<div class="mask"></div>
<!-- 조정신청 수정요청 등록 -->
<div class="tooltip-wrap">
<div class="popup_wrap editreq_popup" tabindex="0" data-tooltip-con="editreq_popup" data-focus="editreq_popup"
data-focus-prev="sch_popup_close">
<div class="popup_tit">
<p>조정신청 수정요청 등록</p> <button class="btn_popup_close tooltip-close" data-focus="editreq_popup_close"
title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<table class="popup_tbType01">
<colgroup>
<col style="width: 120px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>수정요청 항목</th>
<td>
<ul class="radio_wrap">
<li><input type="radio" name="edit_cont" id="edit01"><label for="edit01">신청인 정보</label>
</li>
<li><input type="radio" name="edit_cont" id="edit02"><label for="edit02">피신청인 정보</label>
</li>
<li><input type="radio" name="edit_cont" id="edit03"><label for="edit03">신청취지</label></li>
<li><input type="radio" name="edit_cont" id="edit04"><label for="edit04">신청원인</label></li>
</ul>
</td>
</tr>
<tr>
<th>수정요청 내용</th>
<td>
<textarea name="" id="" cols="30" rows="10" class="edit_textarea">신청인 변경과 신청취지를 변경하고 싶습니다.</textarea>
</td>
</tr>
</tbody>
</table>
<div class="btn_wrap">
<button class="btnType01 tooltip-close" data-focus="scrq_popup_close">승인요청</button>
</div>
</div>
</div>
</div>
<!-- //조정신청 수정요청 등록 -->
<div class="skip_menu">
<a href="#sub" class="contGo" title="본문 바로가기">본문 바로가기</a>
</div>
<!-- header -->
<header>
<div class="gnb_wrap">
<div class="inner">
<div class="site">
<img src="/kccadrPb/usr/image/common/gnb_logo.png" alt="한국저작권위원회">
<a href="https://www.copyright.or.kr/main.do">바로가기</a>
</div>
<div class="area_right">
<a href="#">로그인</a>
<a href="#">회원가입</a>
<div class="btn_util">
<button class="btn_minus" title="글자 축소"></button>
<button class="btn_plus" title="글자 확대"></button>
</div>
</div>
</div>
</div>
<div class="header">
<div class="header_inner">
<h1 class="logo"><a href="/kccadrPb/usr/index.html"><img src="/kccadrPb/usr/image/common/top_logo.png"
alt="저작권 전자조정시스템 Copyright Electronic Coordination System"></a></h1>
<div class="nav_wrap">
<nav id="menu">
<ul class="depth01">
<li class="depth01_li"><a href="#" class="menu_link">전자조정 안내</a>
<ul class="depth02">
<li><a href="#">조정의 개념 및 효력</a></li>
<li><a href="#">조정 대상</a></li>
<li><a href="#">조정 절차</a></li>
<li><a href="#">조정 비용</a></li>
<li><a href="#">신청안내</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">전자조정 신청</a>
<ul class="depth02">
<li><a href="#">조정 신청</a></li>
<li><a href="#">간편 조정 신청</a></li>
<li><a href="#">조정신청 대리인 신청</a></li>
<li><a href="#">조정신청 취하</a></li>
<li><a href="#">조정 경정 신청</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">사례/통계</a>
<ul class="depth02">
<li><a href="#">조정사건조회</a></li>
<li><a href="#">조정사례조회</a></li>
<li><a href="#">조정통계</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">정보마당</a>
<ul class="depth02">
<li><a href="#">공지사항</a></li>
<li><a href="#">조정제도 안내 게시판</a></li>
<li><a href="#">관련법조항 게시판</a></li>
<li><a href="#">묻고답하기</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">마이페이지</a>
<ul class="depth02">
<li><a href="#">개인정보관리</a></li>
<li><a href="#">분쟁조정현황</a></li>
<li><a href="#">대리인정보관리</a></li>
<li><a href="#">분쟁조정문의</a></li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="area_right">
<button class="btn_search" title="검색영역 열기"></button>
<button class="btn_menu" title="전체메뉴 열기"></button>
</div>
</div>
</div>
</header>
<!-- //header -->
<!-- 전체메뉴 -->
<div class="full_menu">
<div class="inner">
<h1 class="logo"><img src="/kccadrPb/usr/image/common/top_logo.png"
alt="저작권 전자조정시스템 Copyright Electronic Coordination System"></h1>
<ul class="depth01">
<li class="depth01_li"><a href="#" class="menu_link">전자조정 안내</a>
<ul class="depth02">
<li><a href="#">조정의 개념 및 효력</a></li>
<li><a href="#">조정 대상</a></li>
<li><a href="#">조정 절차</a></li>
<li><a href="#">조정 비용</a></li>
<li><a href="#">신청안내</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">전자조정 신청</a>
<ul class="depth02">
<li><a href="#">조정 신청</a></li>
<li><a href="#">간편 조정 신청</a></li>
<li><a href="#">조정신청 대리인 신청</a></li>
<li><a href="#">조정신청 취하</a></li>
<li><a href="#">조정 경정 신청</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">사례/통계</a>
<ul class="depth02">
<li><a href="#">조정사건조회</a></li>
<li><a href="#">조정사례조회</a></li>
<li><a href="#">조정통계</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">정보마당</a>
<ul class="depth02">
<li><a href="#">공지사항</a></li>
<li><a href="#">조정제도 안내 게시판</a></li>
<li><a href="#">관련법조항 게시판</a></li>
<li><a href="#">묻고답하기</a></li>
</ul>
</li>
<li class="depth01_li"><a href="#" class="menu_link">마이페이지</a>
<ul class="depth02">
<li><a href="#">개인정보관리</a></li>
<li><a href="#">분쟁조정현황</a></li>
<li><a href="#">대리인정보관리</a></li>
<li><a href="#">분쟁조정문의</a></li>
</ul>
</li>
</ul>
<button class="btn_close" title="전체메뉴 닫기"></button>
</div>
</div>
<!-- //전체메뉴 -->
<!-- 모바일메뉴 -->
<div id="m_menu">
<ul class="depth01">
<li class="depth01_li"><button class="menu_tit">전자조정 안내</button>
<ul class="depth02">
<li><a href="#">조정의 개념 및 효력</a></li>
<li><a href="#">조정 대상</a></li>
<li><a href="#">조정 절차</a></li>
<li><a href="#">조정 비용</a></li>
<li><a href="#">신청안내</a></li>
</ul>
</li>
<li class="depth01_li"><button class="menu_tit">전자조정 신청</button>
<ul class="depth02">
<li><a href="#">조정 신청</a></li>
<li><a href="#">간편 조정 신청</a></li>
<li><a href="#">조정신청 대리인 신청</a></li>
<li><a href="#">조정신청 취하</a></li>
<li><a href="#">조정 경정 신청</a></li>
</ul>
</li>
<li class="depth01_li"><button class="menu_tit">사례/통계</button>
<ul class="depth02">
<li><a href="#">조정사건조회</a></li>
<li><a href="#">조정사례조회</a></li>
<li><a href="#">조정통계</a></li>
</ul>
</li>
<li class="depth01_li"><button class="menu_tit">정보마당</button>
<ul class="depth02">
<li><a href="#">공지사항</a></li>
<li><a href="#">조정제도 안내 게시판</a></li>
<li><a href="#">관련법조항 게시판</a></li>
<li><a href="#">묻고답하기</a></li>
</ul>
</li>
<li class="depth01_li"><button class="menu_tit">마이페이지</button>
<ul class="depth02">
<li><a href="#">개인정보관리</a></li>
<li><a href="#">분쟁조정현황</a></li>
<li><a href="#">대리인정보관리</a></li>
<li><a href="#">분쟁조정문의</a></li>
</ul>
</li>
</ul>
<button class="btn_close" title="모바일메뉴 닫기"></button>
</div>
<!-- //모바일메뉴 -->
<!-- snb -->
<div class="cont_nav">
<div class="inner">
<button class="home" title="메인으로 이동" onclick="location.href='./index.html'"></button>
<div class="snb_wrap">
<button class="snb_tit" title="하위메뉴 열기">전자조정 신청</button>
<ul class="snb_depth">
<li><a href="#">전자조정 안내</a></li>
<li><a href="#">전자조정 신청</a></li>
<li><a href="#">사례/통계</a></li>
<li><a href="#">정보마당</a></li>
<li><a href="#">마이페이지</a></li>
</ul>
</div>
<div class="snb_wrap">
<button class="snb_tit" title="하위메뉴 열기">조정 진행 상세</button>
<ul class="snb_depth">
<li><a href="#">전자조정 안내</a></li>
<li><a href="#">전자조정 신청</a></li>
<li><a href="#">사례/통계</a></li>
<li><a href="#">정보마당</a></li>
<li><a href="#">마이페이지</a></li>
</ul>
</div>
</div>
</div>
<!-- //snb -->
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<div class="cont_tit">
<h2>조정 진행 상세</h2>
</div>
<div class="top_progress">
<p>조정번호 : <span>2021조정054</span></p>v
<p>접수일 : <span>2021-07-15</span></p>
<p>진행현황 : <span>조정진행</span></p>
</div>
<div class="tab_wrap">
<div class="tab_btn_wrap tab03">
<button class="tab on">조정일반</button>
<button class="tab">조정상세정보</button>
<button class="tab">조정진행내용</button>
</div>
<div class="tab_cont on">
<div class="work_flow_wrap off">
<div class="work_tit">
<p>조정진행 워크플로우</p>
<button type="button" class="btn_open"><i></i></button>
</div>
<div class="work_cont">
<ul class="top_work">
<li class="status01"><p>조정신청 제출</p><img src="./image/workflow/nexticon1.png" alt="다음"></li>
<li class="status02"><p>신청서 보완</p><img src="./image/workflow/nexticon1.png" alt="다음"></li>
<li><p>조정비용납부</p><img src="./image/workflow/nexticon1.png" alt="다음"></li>
<li><p>사건접수</p><img src="./image/workflow/nexticon1.png" alt="다음"></li>
<li><p>조정부배정</p><img src="./image/workflow/nexticon2.png" alt="다음" style="top: 51px; right: 105px;"></li>
</ul>
<ul class="work_2">
<li><p>기일확정</p><img src="./image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li>
<p>기일통지</p><img src="./image/workflow/nexticon3.png" alt="다음" class="nexticon_3"><img src="./image/workflow/nexticon1.png" alt="다음" style="position: absolute;z-index: 1;top: 8px;left: 203px;">
<ul class="work_3">
<li><p>1차 기일 개최</p><img src="./image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li>
<p>2차 기일 개최<img src="./image/workflow/nexticon4.png" alt="다음" class="nexticon_4"></p><img src="./image/workflow/nexticon3.png" alt="다음" class="nexticon_3">
<ul class="work_4">
<li><p>조정성립</p></li>
<li><p>직권조정<img src="./image/workflow/nexticon5.png" alt="다음" class="nexticon_5"></p>
<ul class="work_5">
<li><p>이의신청</p></li>
</ul>
</li>
<li><p>조정권고</p></li>
<li><p>쌍방수락여부 확인</p></li>
<li><p>불성립종결</p></li>
</ul>
</li>
<li><p>3차 기일 개최</p><img src="./image/workflow/nexticon3.png" alt="다음" class="nexticon_3"></li>
<li><p>4차 기일 개최</p></li>
</ul>
</li>
<li style="position: absolute; top: 146px"><p>기일변경</p></li>
<li><p>변론서 및 답변서</p></li>
<li style="width: 450px;"><p>취하신청</p><img src="./image/workflow/nexticon1.png" alt="다음" style="position:absolute; left: 203px;"><p style="margin-left: 7px;">취하종결</p></li>
</ul>
</div>
</div>
<div class="exp_date">
<i></i>
<p>기일예정일 : <span>2021-09-25</span></p>
</div>
<div class="tb_wrap">
<table class="tbType01">
<colgroup>
<col style="width: 250px;">
<col style="width: auto;">
<col style="width: 250px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>
<p>신청인</p>
</th>
<td>
<p>홍길동</p>
</td>
<th>
<p>대리인</p>
</th>
<td>
<p>없음</p>
</td>
</tr>
<tr>
<th>
<p>피신청인1</p>
</th>
<td>
<p>고길동</p>
</td>
<th>
<p>피신청인2</p>
</th>
<td>
<p>고길동</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_wrap">
<table class="tbType01">
<caption>신청취지, 신청원인등의 정보제공</caption>
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>신청취지</p>
</th>
<td>
<p>독도는 우리땅입니다.</p>
</td>
</tr>
<tr>
<th scope="row">
<p>신청원인</p>
</th>
<td>
<p class="change_text_wrap close">아직도 넌 혼잔거니 물어오네요 난 그저 웃어요 사랑하고 있죠 사랑하는 사람 있어요 그대는 내가 안쓰러운 건가봐
좋은 사람있다면 한 번 만나보라 말하죠 그댄 모르죠 내게도 멋진 애인이 있다는 걸 너무 소중해 꼭 숨겨 두었죠
그 사람 나만 볼 수 있어요 내 눈에만 보여요 내 입술에 영원히 담아둘거야 가끔씩 차오르는 눈물만 알고 있죠 그 사람 그대라는 걸
나는 그 사람 갖고 싶지 않아요 욕심나지 않아요 그냥 사랑하고 싶어요 그댄 모르죠 내게도 멋진 애인이 있다는 걸 너무 소중해 꼭 숨겨 두었죠
그 사람 나만 볼 수 있어요 내 눈에만 보여요 내 입술에 영원히 담아둘거야 가끔씩 차오르는 눈물만 알고 있죠 그 사람 그대라는 걸
</p>
<button type="button" class="btn_all" title="내용 전체보기">더보기</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab_cont">
<div class="tb_wrap tb02">
<div class="tb_top">
<p>신청인</p>
</div>
<table class="tbType01">
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th colspan="2"><p>신청인</p></th>
</tr>
<tr>
<th>
<p>신청인</p>
</th>
<td>
<p>홍길동</p>
</td>
</tr>
<tr>
<th>
<p>주소</p>
</th>
<td>
<p>서울특별시 마포구 마포대로 33</p>
</td>
</tr>
<tr>
<th>
<p>이메일</p>
</th>
<td>
<p>eee@naver.com</p>
</td>
</tr>
<tr>
<th>
<p>전화</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>휴대전화</p>
</th>
<td>
<p>010-1111-1111</p>
</td>
</tr>
</tbody>
</table>
<table class="tbType01">
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th colspan="2"><p>대리인</p></th>
</tr>
<tr>
<th>
<p>이름</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>주소</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>이메일</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>전화</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>휴대전화</p>
</th>
<td>
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_wrap tb02">
<div class="tb_top">
<p>피신청인</p>
</div>
<table class="tbType01">
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th colspan="2"><p>피신청인1</p></th>
</tr>
<tr>
<th>
<p>신청인</p>
</th>
<td>
<p>고길동</p>
</td>
</tr>
<tr>
<th>
<p>주소</p>
</th>
<td>
<p>서울특별시 마포구 마포대로 33</p>
</td>
</tr>
<tr>
<th>
<p>이메일</p>
</th>
<td>
<p>aaa@naver.com</p>
</td>
</tr>
<tr>
<th>
<p>전화</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>휴대전화</p>
</th>
<td>
<p>010-1111-1111</p>
</td>
</tr>
</tbody>
</table>
<table class="tbType01">
<colgroup>
<col style="width: 200px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th colspan="2"><p>피신청인2</p></th>
</tr>
<tr>
<th>
<p>이름</p>
</th>
<td>
<p>고길동</p>
</td>
</tr>
<tr>
<th>
<p>주소</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>이메일</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>전화</p>
</th>
<td>
<p></p>
</td>
</tr>
<tr>
<th>
<p>휴대전화</p>
</th>
<td>
<p></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab_cont">
<table class="tbType02">
<caption>조정진행내용 : 일자, 내용, 첨부파일 정보제공</caption>
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th>일자</th>
<th>내용</th>
<th>첨부파일</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>2021-07-15</p>
</td>
<td class="td_info">
<p>접수</p>
</td>
<td><a href="#"></a></td>
</tr>
<tr>
<td>
<p>2021-07-17</p>
</td>
<td class="td_info">
<p>조정부 지정</p>
</td>
<td><a href="#"></a></td>
</tr>
<tr>
<td>
<p>2021-07-18</p>
</td>
<td class="td_info">
<p>피신청인 답변서 제출</p>
</td>
<td><a href="#">답변서.hwp</a></td>
</tr>
<tr>
<td>
<p>2021-07-15</p>
</td>
<td class="td_info">
<p>신청인이 추가 답변서 제출</p>
</td>
<td><a href="#">추가 답변서.hwp</a></td>
</tr>
<tr>
<td>
<p>2021-07-15</p>
</td>
<td class="td_info">
<p>1차 기일 지정</p>
</td>
<td><a href="#"></a></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"></div>
<div class="btn_right">
<button class="btnType11 btn_list" onclick="location.href='./sub02_1_list.html'">목록</button>
</div>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
<!-- footer -->
<footer>
<div class="inner">
<div class="area_top">
<ul class="site">
<li><a href="/">개인정보처리방침</a></li>
<li><a href="/">이메일무단수집거부</a></li>
<li><a href="/">고객서비스헌장</a></li>
<li><a href="/">저작권정책</a></li>
</ul>
<div class="site_go">
<label for="site_select">관련사이트 선택</label>
<select name="" id="site_select">
<option value="">관련사이트 바로가기</option>
</select>
<button class="btn_go" title="사이트 이동">GO</button>
</div>
</div>
<h1 class="logo"><a href="/kccadrPb/usr/index.html"><img src="/kccadrPb/usr/image/common/footer_logo.png"
alt="저작권 전자조정시스템 Copyright Electronic Coordination System"></a></h1>
<address>
<p>진주 [52852] 경상남도 진주시 충의로 19, 1/2/5층 ☎ 대표번호 055.792.0000</p>
<p>서울 [04323] 서울특별시 용산구 후암로 107, 5/16층 ☎ 대표번호 02.2669.0010</p>
</address>
</div>
</footer>
<!-- //footer -->
</body>
</html>