This commit is contained in:
myname 2022-09-05 11:52:56 +09:00
commit 73856b4877
22 changed files with 3921 additions and 1162 deletions

View File

@ -113,10 +113,6 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
// private String apprYn = ""; // 결재여부 // private String apprYn = ""; // 결재여부
// private String apprDe = ""; // 결재일시 // private String apprDe = ""; // 결재일시
// private String atchFileId = ""; // 첨부파일ID // private String atchFileId = ""; // 첨부파일ID
// private String frstRegistPnttm = ""; // 등록일시
// private String frstRegisterId = ""; // 등록자
// private String lastUpdtPnttm = ""; // 수정일시
// private String lastUpdusrId = ""; // 수정자
private String reqAddSeq = ""; //피신청인 추가 갯수 private String reqAddSeq = ""; //피신청인 추가 갯수
private String reqPerTotCnt = ""; //피신청인 갯수 private String reqPerTotCnt = ""; //피신청인 갯수
@ -148,6 +144,13 @@ public class AdjReqMgrPastVO extends ComDefaultVO implements Serializable {
private String rpplConnNo; private String rpplConnNo;
private String resPonDentNms = ""; //피신청인 갯수 private String resPonDentNms = ""; //피신청인 갯수
public AdjReqMgrVO getAdrVO() { public AdjReqMgrVO getAdrVO() {
return adrVO; return adrVO;
} }

View File

@ -12,26 +12,30 @@ public class AdjReqMgrPastDAO extends EgovAbstractDAO {
//오프라인 조정신청 사건정보 불러오기 //오프라인 조정신청 사건정보 불러오기
public AdjReqMgrPastVO selectAdjReqMgrMasterInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public AdjReqMgrPastVO selectAdjReqMgrMasterInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
return (AdjReqMgrPastVO) select("AdjReqMgrPastDAO.selectAdjReqMgrMasterInfo", adjReqMgrPastVO); return (AdjReqMgrPastVO) select("adjReqMgrPastDAO.selectAdjReqMgrMasterInfo", adjReqMgrPastVO);
} }
public List<AdjReqMgrPastVO> selectAdjReqMgrListInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public List<AdjReqMgrPastVO> selectAdjReqMgrListInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
return (List<AdjReqMgrPastVO>) list("AdjReqMgrPastDAO.selectAdjReqMgrListInfo", adjReqMgrPastVO); return (List<AdjReqMgrPastVO>) list("adjReqMgrPastDAO.selectAdjReqMgrListInfo", adjReqMgrPastVO);
} }
//오프라인 조정사건 신규 등록 //오프라인 조정사건 신규 등록
public int insertAdrMgrMaster(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public int insertAdrMgrMaster(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
return update("AdjReqMgrPastDAO.insertAdrMgrMaster", adjReqMgrPastVO); return update("adjReqMgrPastDAO.insertAdrMgrMaster", adjReqMgrPastVO);
} }
//오프라인 조정사건 상세 신규 등록 //오프라인 조정사건 상세 신규 등록
public int insertAdrMgrMasterDetail(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public int insertAdrMgrMasterDetail(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
return update("AdjReqMgrPastDAO.insertAdrMgrMasterDetail", adjReqMgrPastVO); return update("adjReqMgrPastDAO.insertAdrMgrMasterDetail", adjReqMgrPastVO);
} }
//오프라인 조정사건 대리인, 신청인, 피신청인 정보 등록 //오프라인 조정사건 대리인, 신청인, 피신청인 정보 등록
public int insertAdrRppl(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public int insertAdrRppl(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
return update("AdjReqMgrPastDAO.insertAdrRppl", adjReqMgrPastVO); return update("adjReqMgrPastDAO.insertAdrRppl", adjReqMgrPastVO);
}
public void insertAdrSnInit(AdjReqMgrPastVO adjReqMgrPastVO) {
insert("adjReqMgrPastDAO.insertAdrSnInit",adjReqMgrPastVO );
} }

View File

@ -36,6 +36,10 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
@Resource(name="rpplGnrService") @Resource(name="rpplGnrService")
private EgovIdGnrService rpplIdgenService; private EgovIdGnrService rpplIdgenService;
// ADR_PRTCL_MGR 기일조서관리 pk
@Resource(name = "egovPrtclManageGnrService")
private EgovIdGnrService idgenPrtclSeqService;
//암복호화 유틸 //암복호화 유틸
@Resource(name = "egovCryptoUtil") @Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil; EgovCryptoUtil egovCryptoUtil;
@ -61,7 +65,6 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
private AdrHstryMgrDAO adrHstryMgrDAO; private AdrHstryMgrDAO adrHstryMgrDAO;
//오프라인 조정신청 정보 상세내역 불러오기 //오프라인 조정신청 정보 상세내역 불러오기
public AdjReqMgrPastVO selectAdjReqMgrOffLineInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{ public AdjReqMgrPastVO selectAdjReqMgrOffLineInfo(AdjReqMgrPastVO adjReqMgrPastVO) throws Exception{
@ -214,7 +217,7 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
}else { // 대리인,신청인, 피신청인 정보 입력해보기 }else { // 대리인,신청인, 피신청인 정보 입력해보기
//신규 조정사건 상세보기 생성해 주기 //신규 조정사건 상세보기 생성해 주기
adjReqMgrPastVO.setAdrSn("1"); // adjReqMgrPastVO.setAdrSn("1");
adjReqMgrPastDAO.insertAdrMgrMasterDetail(adjReqMgrPastVO); adjReqMgrPastDAO.insertAdrMgrMasterDetail(adjReqMgrPastVO);
//조정신청 대리인 신청인 정보 추가해 주기 //조정신청 대리인 신청인 정보 추가해 주기
@ -298,6 +301,7 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
String phone = phone1 + phone2 + phone3; String phone = phone1 + phone2 + phone3;
adjReqMgrPastVO.getAdjReqMgrVoList().get(1).setRpplPhone(phone); adjReqMgrPastVO.getAdjReqMgrVoList().get(1).setRpplPhone(phone);
System.out.println("");
//신청인 정보 디비 입력해 주기 //신청인 정보 디비 입력해 주기
rpplCnt = cryptAdjReqMgrSend(adjReqMgrPastVO.getAdjReqMgrVoList().get(1)); rpplCnt = cryptAdjReqMgrSend(adjReqMgrPastVO.getAdjReqMgrVoList().get(1));
//rpplCnt = adjReqMgrPastDAO.insertAdrRppl(adjReqMgrOffLineVO.getAdjReqMgrVoList().get(1)); //rpplCnt = adjReqMgrPastDAO.insertAdrRppl(adjReqMgrOffLineVO.getAdjReqMgrVoList().get(1));
@ -382,6 +386,21 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
} }
int adrSn = Integer.parseInt(adjReqMgrPastVO.getAdrSn());
int cnt = 1;
System.out.println("adrSn :: " + adrSn);
while(cnt <= adrSn)
{
System.out.println("cnt : "+cnt);
adjReqMgrPastVO.setPrtclSeq(idgenPrtclSeqService.getNextStringId()); // idgenPrtclSeqService
adjReqMgrPastVO.setAdrSn(Integer.toString(cnt));
adjReqMgrPastDAO.insertAdrSnInit(adjReqMgrPastVO);
cnt++;
}
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "조정신청 정보 저장이 완료되었습니다.", LocalDateTime.now())); return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "조정신청 정보 저장이 완료되었습니다.", LocalDateTime.now()));
} }
@ -409,6 +428,7 @@ public class AdjReqMgrPastServiceImpl extends EgovAbstractServiceImpl implements
adjReqMgrPastVO.setRpplRealAddr(rpplRealAddr); adjReqMgrPastVO.setRpplRealAddr(rpplRealAddr);
adjReqMgrPastVO.setRpplRealAddrDtl(rpplRealAddrDtl); adjReqMgrPastVO.setRpplRealAddrDtl(rpplRealAddrDtl);
// TO_CHAR(SYSTIMESTAMP,'YYYYMMDD
//디비에 추가해 주기 //디비에 추가해 주기
int resultCnt = adjReqMgrPastDAO.insertAdrRppl(adjReqMgrPastVO); int resultCnt = adjReqMgrPastDAO.insertAdrRppl(adjReqMgrPastVO);

View File

@ -152,7 +152,6 @@ public class AdjReqMgrPastController {
if(userId.equals("")) { if(userId.equals("")) {
// Unauthorized : 401, 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized) // Unauthorized : 401, 권한 없음, 예를 들면, 로그인 페이지가 필요한 페이지를 로그인 없이 접속하려는 경우 반환되는 코드 (인증 실패) (Unauthorized)
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now())); return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
} }

View File

@ -0,0 +1,43 @@
package kcc.kccadr.adjstExp.service;
import java.util.List;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import kcc.kccadr.adjst.service.AdjstReqVO;
import kcc.kccadr.cmm.RestResponse;
/**
* 조정신청 관리를 위한 서비스 인터페이스 클래스
* @author 여현준
* @since 2021.08.17
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.17 여현준 최초 생성
*
* </pre>
*/
public interface AdjstExpService {
String checkAdjsReqEditStatus(AdjstReqVO adjstReq) throws Exception;
// 조정사건 대리인/신청인/피신청인 정보 불러오기
List<AdjstReqVO> selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception;
// 조정사건 정보 불러오기
AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception;
//1단계 저장
public int insertAdjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception;
//1단계 수정(from 이전 불러오기)
public int updatedjsReqStep1Save(AdjstReqVO adjstReqVO) throws Exception;
}

View File

@ -0,0 +1,71 @@
package kcc.kccadr.adjstExp.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.kccadr.adjst.service.AdjstReqVO;
/**
* 조정신청 관리를 위한 데이터 접근 클래스
* @author 여현준
* @since 2021.08.17
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.08.17 여현준 최초 생성
*
* </pre>
*/
@Repository("AdjstExpDAO")
public class AdjstExpDAO extends EgovAbstractDAO {
// 조정사건 정보 불러오기
public AdjstReqVO selectAdjsMgrMasterByUniqId(AdjstReqVO adjstReqVO) throws Exception{
return (AdjstReqVO) select("AdjstExpDAO.selectAdjsMgrMasterByUniqId", adjstReqVO);
}
public AdjstReqVO selectAdjsReqEditInfo(AdjstReqVO adjstReqVO) throws Exception{
return (AdjstReqVO) select("AdjstExpDAO.selectAdjsReqEditInfo", adjstReqVO);
}
// 조정사건 대리인/신청인/피신청인 정보 불러오기
@SuppressWarnings("unchecked")
public List<AdjstReqVO> selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception{
return (List<AdjstReqVO>) list("AdjstExpDAO.selectAdjsReqUserListByadjSeq", adjstReqVO);
}
//조정사건 신규 등록
public int insertAdrMgrMaster(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrMgrMaster", adjstReqVO);
}
//조정사건 상세 신규 등록
public int insertAdrMgrMasterDetail(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrMgrMasterDetail", adjstReqVO);
}
public int updateCopyMasterInfo(AdjstReqVO adjstReqVO) throws Exception {
return (Integer) update("AdjstExpDAO.updateCopyMasterInfo", adjstReqVO);
}
public void mergeIntoAdrRppl(AdjstReqVO adjstReqVO) throws Exception {
insert("AdjstExpDAO.mergeIntoAdrRppl", adjstReqVO);
}
//조정사건 대리인, 신청인, 피신청인 정보 등록
public int insertAdrRppl(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.insertAdrRppl", adjstReqVO);
}
// 조정사건 대리인/신청인 정보 수정
public int updateAdrRppl(AdjstReqVO adjstReqVO) throws Exception{
return update("AdjstExpDAO.updateAdrRppl", adjstReqVO);
}
}

View File

@ -0,0 +1,311 @@
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);
}
}

View File

@ -0,0 +1,279 @@
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);
}
}

View File

@ -14,6 +14,18 @@ public class KccadrConstants {
public static final String STEP3 = "STEP3"; public static final String STEP3 = "STEP3";
// 체험하기 STEP0과 동일
public static final String STEP6 = "STEP6";
// 체험하기 STEP1과 동일
public static final String STEP7 = "STEP7";
// 체험하기 STEP2과 동일
public static final String STEP8 = "STEP8";
// 체험하기 STEP3과 동일
public static final String STEP9 = "STEP9";
public static final String ADR_CHK_MSG_001 = "이미 제출완료한 조정신청건 입니다."; public static final String ADR_CHK_MSG_001 = "이미 제출완료한 조정신청건 입니다.";
public static final String ADR_CHK_MSG_002 = "제출완료시 요청 가능합니다."; public static final String ADR_CHK_MSG_002 = "제출완료시 요청 가능합니다.";

View File

@ -454,7 +454,7 @@ public class MainController {
//로그인 권한정보 불러오기 //로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
System.out.println(" ++ userAuthority : "+ userAuthority);
//권한별 메뉴표시 //권한별 메뉴표시
if(!userAuthority.equals("ROLE_ADMIN") if(!userAuthority.equals("ROLE_ADMIN")
&& !userAuthority.equals("ROLE_ADR_ADMIN") && !userAuthority.equals("ROLE_ADR_ADMIN")
@ -466,6 +466,8 @@ public class MainController {
else { else {
menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
} }
System.out.println(" ++ menuManageVO.getAuthorCode() : "+ menuManageVO.getAuthorCode());
//대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌 //대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌
model.addAttribute("auth", menuManageVO.getAuthorCode()); model.addAttribute("auth", menuManageVO.getAuthorCode());
@ -491,6 +493,7 @@ public class MainController {
menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setUpperMenuId("#");
menuManageTopVO.setMenuNo("0"); menuManageTopVO.setMenuNo("0");
model.addAttribute("menuResultList", menuResultList); model.addAttribute("menuResultList", menuResultList);
model.addAttribute("underMenuExist", underMenuExist); model.addAttribute("underMenuExist", underMenuExist);
model.addAttribute("underMenuEmpty", underMenuEmpty); model.addAttribute("underMenuEmpty", underMenuEmpty);

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml"/><!-- 대국민 조정신청 체험하기 -->
</sqlMapConfig>

View File

@ -8,7 +8,7 @@
<!-- 오프라인 조정사건정보 수정 : 조정사건 정보 불러오기 --> <!-- 오프라인 조정사건정보 수정 : 조정사건 정보 불러오기 -->
<select id="AdjReqMgrPastDAO.selectAdjReqMgrMasterInfo" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO"> <select id="adjReqMgrPastDAO.selectAdjReqMgrMasterInfo" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT ADR_SEQ AS adrSeq, SELECT ADR_SEQ AS adrSeq,
ADR_NO AS adrNo, ADR_NO AS adrNo,
@ -35,7 +35,7 @@
</select> </select>
<!-- 오프라인 조정사건정보 수정 : 조정신청인 정보 불러오기 --> <!-- 오프라인 조정사건정보 수정 : 조정신청인 정보 불러오기 -->
<select id="AdjReqMgrPastDAO.selectAdjReqMgrListInfo" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO"> <select id="adjReqMgrPastDAO.selectAdjReqMgrListInfo" parameterClass="AdjReqPastVO" resultClass="AdjReqPastVO">
SELECT ADR_SEQ AS adrSeq, SELECT ADR_SEQ AS adrSeq,
RPPL_SEQ AS rpplSeq, RPPL_SEQ AS rpplSeq,
@ -80,7 +80,7 @@
</select> </select>
<!-- 조정사건정보 등록 : 대국민 조정신청 상세 저장 --> <!-- 조정사건정보 등록 : 대국민 조정신청 상세 저장 -->
<insert id="AdjReqMgrPastDAO.insertAdrMgrMasterDetail" parameterClass="AdjReqPastVO"> <insert id="adjReqMgrPastDAO.insertAdrMgrMasterDetail" parameterClass="AdjReqPastVO">
INSERT INTO ADR_MGR_DETAIL( INSERT INTO ADR_MGR_DETAIL(
ADR_SEQ, ADR_SEQ,
ADR_SN, ADR_SN,
@ -102,10 +102,11 @@
<!-- 조정사건정보 등록 : 업무시스템 조정신청 저장 --> <!-- 조정사건정보 등록 : 업무시스템 조정신청 저장 -->
<insert id="AdjReqMgrPastDAO.insertAdrMgrMaster" parameterClass="AdjReqPastVO"> <insert id="adjReqMgrPastDAO.insertAdrMgrMaster" parameterClass="AdjReqPastVO">
INSERT INTO ADR_MGR_MASTER ( INSERT INTO ADR_MGR_MASTER (
ADR_SEQ ADR_SEQ
,STAT_CD ,STAT_CD
,ADR_NO
,REQ_OL_CD ,REQ_OL_CD
,REQ_CN1 ,REQ_CN1
,REQ_CN2 ,REQ_CN2
@ -122,7 +123,8 @@
,LAST_UPDUSR_ID ,LAST_UPDUSR_ID
) VALUES ( ) VALUES (
#adrSeq# #adrSeq#
,#statCd# ,"400000"
,#adrNo#
,#reqOlCd# ,#reqOlCd#
,#reqCn1# ,#reqCn1#
,#reqCn2# ,#reqCn2#
@ -133,14 +135,14 @@
,'N' ,'N'
,NOW() ,NOW()
,#atchFileId# ,#atchFileId#
,NOW() ,TO_DATETIME(TO_CHAR(#frstRegistPnttm#,'YYYY-MM-DD'))
,#frstRegisterId# ,#frstRegisterId#
,NOW() ,TO_DATETIME(TO_CHAR(#lastUpdtPnttm#,'YYYY-MM-DD'))
,#lastUpdusrId# ,#lastUpdusrId#
) )
</insert> </insert>
<!-- 오프라인 조정사건관리인 등록 : 조정신청 대리인, 신청인, 피신청인 저장 --> <!-- 오프라인 조정사건관리인 등록 : 조정신청 대리인, 신청인, 피신청인 저장 -->
<insert id="AdjReqMgrPastDAO.insertAdrRppl" parameterClass="AdjReqPastVO"> <insert id="adjReqMgrPastDAO.insertAdrRppl" parameterClass="AdjReqPastVO">
INSERT INTO ADR_RPPL ( INSERT INTO ADR_RPPL (
ADR_SEQ ADR_SEQ
,RPPL_SEQ ,RPPL_SEQ
@ -216,6 +218,19 @@
) )
</insert> </insert>
<!-- 과거사건저장에서 선택한 차수로 기본 행만 만듬 -->
<insert id="adjReqMgrPastDAO.insertAdrSnInit" parameterClass="AdjReqPastVO">
INSERT INTO ADR_PRTCL_MGR (
ADR_SEQ
, ADR_SN
, PRTCL_SEQ
) VALUES (
#adrSeq#
,#adrSn#
,#prtclSeq#
)
</insert>

View File

@ -0,0 +1,424 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 조정신청 -->
<sqlMap namespace="AdjstExp">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstReqVO" type="kcc.kccadr.adjst.service.AdjstReqVO"/>
<!-- 조정사건정보 수정 : 조정사건 정보 불러오기 -->
<select id="AdjstExpDAO.selectAdjsMgrMasterByUniqId" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT ADR_SEQ AS adrSeq,
ADR_NO AS adrNo,
STAT_CD AS statCd,
REQ_OL_CD AS reqOlCd,
REQ_CN1 AS reqCn1,
REQ_CN2 AS reqCn2,
REQ_TY AS reqTy,
CC_TY AS ccTy,
SBMT_YN AS sbmtYn,
SBMT_DE AS sbmtDe,
ADR_COST AS adrCost,
ADR_PAY_YN AS adrPayYn,
APPR_SEQ AS apprSeq,
APPR_DE AS apprDe,
ATCH_FILE_ID AS atchFileId,
FRST_REGISTER_ID AS frstRegisterId,
FRST_REGIST_PNTTM AS frstRegistPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
LAST_UPDT_PNTTM AS lastUpdtPnttm
FROM ADR_MGR_MASTER
WHERE ADR_SEQ = #adrSeq#
AND FRST_REGISTER_ID = #esntlId#
<isNotEmpty property="statCd">
AND STAT_CD = #statCd#
</isNotEmpty>
</select>
<select id="AdjstExpDAO.selectAdjsReqEditInfo" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT
ADR_SEQ AS adrSeq,
EDT_SN AS edtSn,
EDT_TY AS edtTy,
REQ_INF_YN AS reqInfYn,
RES_INF_YN AS resInfYn,
REQ_PPS_YN AS reqPpsYn,
REQ_RSN_YN AS reqRsnYn,
ATTCH_FILE_YN AS attchFileYn,
REQ_DETAIL AS reqDetail,
REJT_RESON AS rejtReson,
EDT_STATUS AS edtStatus,
APPR_YN AS apprYn,
FRST_REGIST_PNTTM AS frstRegistPnttm,
FRST_REGISTER_ID AS frstRegisterId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_EDT_REQ_MAX_V
WHERE ADR_SEQ = #adrSeq#
</select>
<!-- 조정사건정보 수정 : 조정신청인 정보 불러오기 -->
<select id="AdjstExpDAO.selectAdjsReqUserListByadjSeq" parameterClass="AdjstReqVO" resultClass="AdjstReqVO">
SELECT ADR_SEQ AS adrSeq,
RPPL_SEQ AS rpplSeq,
RPPL_TY AS rpplTy,
AGNT_YN AS rpplYn,
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,
TO_CHAR ( APPR_DE, 'YYYY/MM/DD' ) AS apprDe,
ATCH_FILE_ID AS atchFileId,
RPPL_RELATION AS rpplRelation,
RPPL_RELATION_ETC AS rpplRelationEtc,
FRST_REGIST_PNTTM AS frstRegistPnttm,
FRST_REGISTER_ID AS frstRegisterId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_RPPL
WHERE (ADR_SEQ = #adrSeq# OR ADR_SEQ = #copyAdrSeq#)
<isNotEmpty property="rpplTy">
AND RPPL_TY = #rpplTy#
</isNotEmpty>
<isNotEmpty property="rpplTyArr" prepend="AND">
<iterate open="(" close=")" conjunction="," property="rpplTyArr" prepend="RPPL_TY IN " > #rpplTyArr[]#</iterate>
</isNotEmpty>
ORDER BY RPPL_TY DESC
</select>
<!-- 조정사건정보 등록 : 대국민 조정신청 저장 -->
<insert id="AdjstExpDAO.insertAdrMgrMaster" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_MASTER (
ADR_SEQ
,STAT_CD
,REQ_OL_CD
,REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
,SBMT_YN
,SBMT_DE
,ADR_PAY_YN
,APPR_DE
,ATCH_FILE_ID
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
) VALUES (
#adrSeq#
,#statCd#
,#reqOlCd#
,#reqCn1#
,#reqCn2#
,#reqTy#
,#ccTy#
,'N'
,NOW()
,'N'
,NOW()
,#atchFileId#
,NOW()
,#frstRegisterId#
,NOW()
,#lastUpdusrId#
)
</insert>
<!-- 조정사건정보 등록 : 대국민 조정신청 상세 저장 -->
<insert id="AdjstExpDAO.insertAdrMgrMasterDetail" parameterClass="AdjstReqVO">
INSERT INTO ADR_MGR_DETAIL(
ADR_SEQ,
ADR_SN,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID
)
VALUES
(
#adrSeq#,
#adrSn#,
NOW() ,
#frstRegisterId# ,
NOW() ,
#lastUpdusrId#
)
</insert>
<update id="AdjstExpDAO.updateCopyMasterInfo" parameterClass="AdjstReqVO">
UPDATE ADR_MGR_MASTER
SET (
REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
) = (
SELECT
REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
FROM ADR_MGR_MASTER
WHERE ADR_SEQ = #copyAdrSeq#
)
WHERE ADR_SEQ = #adrSeq#
</update>
<insert id="AdjstExpDAO.mergeIntoAdrRppl" parameterClass="AdjstReqVO">
MERGE INTO ADR_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
RPPL_TY = #rpplTy#
,AGNT_YN = #agntYn#
,RPPL_USR_TY = #rpplUsrTy#
,RPPL_NM = #rpplNm#
,RPPL_BIZ_NO = REPLACE(#rpplBizNo# , '-' , '')
,RPPL_BIZ_ID = REPLACE(#rpplBizId# , '-' , '')
,RPPL_BIZ_NM = #rpplBizNm#
,RPPL_POST = #rpplPost#
,RPPL_ADDR = #rpplAddr#
,RPPL_ADDR_DTL = #rpplAddrDtl#
,RPPL_REAL_POST = #rpplRealPost#
,RPPL_REAL_ADDR = #rpplRealAddr#
,RPPL_REAL_ADDR_DTL = #rpplRealAddrDtl#
,RPPL_PHONE = #rpplPhone#
,RPPL_EMAIL = #rpplEmail#
,RPPL_EMAIL_YN = #rpplEmailYn#
,RPPL_SMS_YN = #rpplSmsYn#
,RPPL_CLASS = #rpplClass#
,RPPL_GRADE = #rpplGrade#
,ATCH_FILE_ID = #atchFileId#
,RPPL_RELATION = #rpplRelation#
,RPPL_RELATION_ETC = #rpplRelationEtc#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHEN NOT MATCHED THEN
INSERT (
ADR_SEQ
,RPPL_SEQ
,RPPL_TY
,AGNT_YN
,RPPL_USR_TY
,ADR_OL_YN
,RPPL_ID
,RPPL_NM
,RPPL_BIZ_NO
,RPPL_BIZ_ID
,RPPL_BIZ_NM
,RPPL_POST
,RPPL_ADDR
,RPPL_ADDR_DTL
,RPPL_ADDR_CP_YN
,RPPL_REAL_POST
,RPPL_REAL_ADDR
,RPPL_REAL_ADDR_DTL
,RPPL_PHONE
,RPPL_EMAIL
,RPPL_EMAIL_YN
,RPPL_SMS_YN
,RPPL_CLASS
,RPPL_GRADE
,SBMT_YN
,SBMT_DE
,APPR_YN
,APPR_DE
,ATCH_FILE_ID
,RPPL_RELATION
,RPPL_RELATION_ETC
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
) VALUES (
#adrSeq#
,#rpplSeq#
,#rpplTy#
,#agntYn#
,#rpplUsrTy#
,#adrOlYn#
,#rpplId#
,#rpplNm#
,REPLACE(#rpplBizNo# , '-' , '')
,REPLACE(#rpplBizId# , '-' , '')
,#rpplBizNm#
,#rpplPost#
,#rpplAddr#
,#rpplAddrDtl#
,#rpplAddrCpYn#
,#rpplRealPost#
,#rpplRealAddr#
,#rpplRealAddrDtl#
,#rpplPhone#
,#rpplEmail#
,#rpplEmailYn#
,#rpplSmsYn#
,#rpplClass#
,#rpplGrade#
,'N'
,NOW()
,'N'
,NOW()
,#atchFileId#
,#rpplRelation#
,#rpplRelationEtc#
,NOW()
,#frstRegisterId#
,NOW()
,#lastUpdusrId#
)
</insert>
<!-- 조정사건관리인 등록 : 대국민 조정신청 저장 -->
<insert id="AdjstExpDAO.insertAdrRppl" parameterClass="AdjstReqVO">
INSERT INTO ADR_RPPL (
ADR_SEQ
,RPPL_SEQ
,RPPL_TY
,AGNT_YN
,RPPL_USR_TY
,ADR_OL_YN
,RPPL_ID
,RPPL_NM
,RPPL_BIZ_NO
,RPPL_BIZ_ID
,RPPL_BIZ_NM
,RPPL_POST
,RPPL_ADDR
,RPPL_ADDR_DTL
,RPPL_ADDR_CP_YN
,RPPL_REAL_POST
,RPPL_REAL_ADDR
,RPPL_REAL_ADDR_DTL
,RPPL_PHONE
,RPPL_EMAIL
,RPPL_EMAIL_YN
,RPPL_SMS_YN
,RPPL_CLASS
,RPPL_GRADE
,SBMT_YN
,SBMT_DE
,APPR_YN
,APPR_DE
,ATCH_FILE_ID
,RPPL_RELATION
,RPPL_RELATION_ETC
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
) VALUES (
#adrSeq#
,#rpplSeq#
,#rpplTy#
,#agntYn#
,#rpplUsrTy#
,#adrOlYn#
,#rpplId#
,#rpplNm#
,REPLACE(#rpplBizNo# , '-' , '')
,REPLACE(#rpplBizId# , '-' , '')
,#rpplBizNm#
,#rpplPost#
,#rpplAddr#
,#rpplAddrDtl#
,#rpplAddrCpYn#
,#rpplRealPost#
,#rpplRealAddr#
,#rpplRealAddrDtl#
,#rpplPhone#
,#rpplEmail#
,#rpplEmailYn#
,#rpplSmsYn#
,#rpplClass#
,#rpplGrade#
,'N'
,NOW()
,'N'
,NOW()
,#atchFileId#
,#rpplRelation#
,#rpplRelationEtc#
,NOW()
,#frstRegisterId#
,NOW()
,#lastUpdusrId#
)
</insert>
<!-- 조정사건관리인 수정 : 대국민 조정신청 수정 -->
<update id="AdjstExpDAO.updateAdrRppl" parameterClass="AdjstReqVO">
UPDATE ADR_RPPL SET
RPPL_TY = #rpplTy#
,RPPL_ID = #rpplId#
,AGNT_YN = #agntYn#
,RPPL_USR_TY = #rpplUsrTy#
,RPPL_NM = #rpplNm#
,RPPL_BIZ_NO = REPLACE(#rpplBizNo# , '-' , '')
,RPPL_BIZ_ID = REPLACE(#rpplBizId# , '-' , '')
,RPPL_BIZ_NM = #rpplBizNm#
,RPPL_POST = #rpplPost#
,RPPL_ADDR = #rpplAddr#
,RPPL_ADDR_DTL = #rpplAddrDtl#
,RPPL_REAL_POST = #rpplRealPost#
,RPPL_REAL_ADDR = #rpplRealAddr#
,RPPL_REAL_ADDR_DTL = #rpplRealAddrDtl#
,RPPL_PHONE = #rpplPhone#
,RPPL_EMAIL = #rpplEmail#
,RPPL_EMAIL_YN = #rpplEmailYn#
,RPPL_SMS_YN = #rpplSmsYn#
,RPPL_CLASS = #rpplClass#
,RPPL_GRADE = #rpplGrade#
,ATCH_FILE_ID = #atchFileId#
,RPPL_RELATION = #rpplRelation#
,RPPL_RELATION_ETC = #rpplRelationEtc#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND RPPL_SEQ = #rpplSeq#
</update>
</sqlMap>

View File

@ -1,14 +1,13 @@
<%-- <%--
Class Name : adjReqMgrOffRegist.jsp Class Name : adjReqMgrPastRegist.jsp
Description : 오프라인조정신청 등록 화면 Description : 과거사건등록 신청 화면
Modification Information Modification Information
수정일 수정자 수정내용 수정일 수정자 수정내용
------- -------- --------------------------- ------- -------- ---------------------------
2021.09.14 우영두 최초 생성 2022.08.22 이호영 최초 생성
author : 우영두 author : 이호영
since : 2021.09.14
--%> --%>
<%@ page contentType="text/html; charset=utf-8"%> <%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
@ -53,8 +52,12 @@
<form:form commandName="adrVO" name="adrVO" method="post" enctype="multipart/form-data"> <form:form commandName="adrVO" name="adrVO" method="post" enctype="multipart/form-data">
<form:input type="hidden" path="reqPerTotCnt" id="reqPerTotCnt"/> <form:input type="hidden" path="reqPerTotCnt" id="reqPerTotCnt"/>
<input type="hidden" name="appResultTy" id="appResultTy"/> <input type="hidden" name="appResultTy" id="appResultTy"/>
<input type="hidden" name="limitcount" value="50" />
<input type="hidden" name="statCd" id="statCd" value="" /> <input type="hidden" name="statCd" id="statCd" value="" />
<input type="hidden" name="adrNo" id="adrNo" value="" />
<input type="hidden" name="frstRegistPnttm" id="frstRegistPnttm" value="" />
<input type="hidden" name="lastUpdtPnttm" id="lastUpdtPnttm" value="" />
<input type="hidden" name="adrSn" id="adrSn" value="" />
<input type="hidden" name="limitcount" value="50" />
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
@ -83,28 +86,36 @@
<tr> <tr>
<th>조정번호</th> <th>조정번호</th>
<td> <td>
<form:input path="adjReqMgrVoList[1].rpplNm" id="rppl0101Nm" size="30"/> <input type="text" name="adrNoTemp" id="adrNoTemp" value="2019조정0001" size="30"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>조정신청일</th> <th>조정신청일</th>
<td> <td>
<form:input path="adjReqMgrVoList[1].rpplNm" id="rppl0101Nm" size="30"/> <div id="sel_date" class="sel_date">
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${cmmVO.searchStartDt}" data-datecontrol="true" ${cmmVO.searchMonth ne '99' ? 'readonly' : ''}> <%-- <input readonly="readonly" type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${adjReqMgrPastVO.frstRegistPnttm}" data-datecontrol="true"> --%>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;"> <input readonly="readonly" type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="2022-08-02" data-datecontrol="true">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal" ${cmmVO.searchMonth ne '99' ? 'disabled' : ''}></button> <div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<div id="startDate01-lry" class="calendarPop" style="display: none;"> <button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal"></button>
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe> <div id="startDate01-lry" class="calendarPop" style="display: none;">
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div> </div>
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>조정종결일</th> <th>조정종결일</th>
<td> <td>
<form:input path="adjReqMgrVoList[1].rpplNm" id="rppl0101Nm" size="30"/> <div id="sel_date" class="sel_date">
<input readonly="readonly" type="text" class="endDate inp" title="검색시작일" id="endDate" name="searchEndDt" value="2022-08-03" data-datecontrol="true">
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ></button>
<div id="endDate-lry" class="calendarPop" style="display: none;">
<iframe id="endDate-ifrm" name="endDate-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -1339,14 +1350,14 @@
<p>진행된 차수</p> <p>진행된 차수</p>
</th> </th>
<td> <td>
<form:select path="adrSn"> <select id="adrSnTemp">
<form:option value="" label="선택" /> <option value="" >선택 </option>
<form:option value="1" label="1차" /> <option value="1">1차</option>
<form:option value="2" label="2차" /> <option value="2">2차</option>
<form:option value="3" label="3차" /> <option value="3">3차</option>
<form:option value="4" label="4차" /> <option value="4">4차</option>
<form:option value="5" label="5차" /> <option value="5">5차</option>
</form:select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -1372,7 +1383,7 @@
<div class="area_left"> <div class="area_left">
</div> </div>
<div class="area_right"> <div class="area_right">
<button type="button" class="btnType06" onclick="fn_adjReqMgr_insert(); return false;">등록</button> <button type="button" class="btnType06" onclick="fn_adjReqMgr_insert(); return false;">기본정보 저장 ></button>
</div> </div>
</div> </div>
<!-- //btn_wrap --> <!-- //btn_wrap -->

View File

@ -0,0 +1,160 @@
<%--
대국민 사용자
Class Name : adjstReq1Regist.jsp
Description : 조정신청 등록화면1 - 안내화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.18 여현준 내용
author : 여현준
since : 2021.08.18
--%>
<%-- 공통 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="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
%>
<un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" />
<%-- <%@ include file="/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp" %> --%>
<%-- <jsp:include page="/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp"></jsp:include> --%>
<!-- /WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp -->
<!DOCTYPE html>
<html lang="ko">
<head>
<title>xxx 등록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<%-- <%@ include file="/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp" %> --%>
<%-- <%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = '${adjstReqVO.step}';
});
//조정신청 등록화면2
// function fn_adjstReq2_regist() {
// if ($("#reqTy").val() == "") {
// alert("조정신청 유형을 선택해주세요.!!!"); return;
// }
// if ($("[name='rpplTy']:checked").length == 0) {
// alert("조정신청 대상을 선택해주세요."); return;
// }
// document.writeForm.action = "/web/kccadr/adjst/adjstReq2Regist.do";
// document.writeForm.submit();
// }
//공동인증서 등록화면 이동
function fnGoCrtfc(){
location.href="<c:url value='/web/kccadr/accdnt/crtfc/crtfcRegist.do'/>";
}
</script>
</head>
<body>
<form id="${KccadrConstants.STEP6}" name="${KccadrConstants.STEP6}" method="post">
<!-- cont -->
<div class="cont_wrap sub02_1" id="sub">
<div class="inner">
<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="choice_wrap">
<div class="choice_type">
<!-- <p class="tit">1. <span>조정신청 유형</span>을 선택해주세요.</p> -->
<p class="tit">1. 귀하께서는 사건의 <span>권리자</span>이십니까?</p>
<input type="hidden" name="reqTy" id="reqTy" value="" />
<ul>
<li>
<button type="button" onclick="AdjstReq.reqTySetting('01'); return false;">
<i></i>
<p>네, 권리자입니다.</p>
</button>
</li>
<li>
<button type="button" onclick="AdjstReq.reqTySetting('02'); return false;">
<i></i>
<p>아니오, 이용자입니다.</p>
</button>
</li>
<!-- <li>
<button type="button" onclick="AdjstReq.reqTySetting('03'); return false;">
<i></i>
<p>신탁단체</p>
</button>
</li> -->
</ul>
</div>
<div class="choice_person">
<!-- <p class="tit">2. <span>조정신청 대상</span>을 선택해주세요.</p> -->
<p class="tit">2. 조정의 당사자 <span>본인</span>이신가요?</p>
<ul>
<li>
<input type="radio" name="rpplTy" value="${KccadrConstants.ADR_RPPL_TY_REQ}" id="subject_person01"><label
for="subject_person01">네, 본인입니다.</label>
</li>
<li>
<input type="radio" name="rpplTy" value="${KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY}" id="subject_person02"><label for="subject_person02">아니오, 대리인(변호사, 가족
, 직원)입니다.</label>
</li>
</ul>
</div>
</div>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout02">
<%-- <c:choose>
<c:when test="${crtfcSn == 'Y'}">
<button type="button" class="btnType03" onclick="AdjstReq.step0Save(); return false;">조정신청 등록</button>
</c:when>
<c:otherwise>
<button type="button" class="btnType03" onclick="fnGoCrtfc(); return false;">공동인증서 등록</button>
</c:otherwise>
</c:choose> --%>
<button type="button" class="btnType03" onclick="AdjstReq.step0Save(); return false;">조정신청 등록</button>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form>
</body>
</html>

View File

@ -0,0 +1,564 @@
<%--
대국민 사용자
Class Name : adjstReq2Regist.jsp
Description : 조정신청 등록화면2 - 신청인정보 등록
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.18 여현준 내용
author : 여현준
since : 2021.08.18
--%>
<%-- 공통 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="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ 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>
.mr15{
margin-right: 15px !important;
}
.btn_wrap.btn_layout01 .btnType01{height: 46px}
</style>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = '${adjstReqVO.step}';
AdjstReq.EDIT_DATA = ${editInfo}
AdjstReq.STATUS = '${not empty master ? master.statCd : ''}';
// 페이지 로드 업무 프로세스
AdjstReq.pageOnload();
// 스텝별 로드 데이터 셋팅
AdjstReq.step1Onload();
var listSize = "<c:out value='${fn:length(list)}' />";
for(var i=0; i<listSize; i++) {
$('#rpplEmailSelect' +i+' option').each(function(){
if (this.value == $("#rpplEmail2"+i).val()) {
$(this).attr('selected', true);
}
});
}
});
</script>
</head>
<body>
<%-- 이전신청 불러오기 팝업 레이아웃 --%>
<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="adrSn" id="adrSn"/>
<form:input type="hidden" path="reqTy" id="reqTy"/>
<!-- 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"/>
<c:forEach var="list" items="${list}" varStatus="status">
<c:choose>
<c:when test="${list.rpplTy eq KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY}">
<div class="tb_wrap" id="agntInfo">
<form:input type="hidden" path="adjstRpplList[${status.index}].rpplSeq" id="rpplSeq${status.index}" value="${list.rpplSeq}"/>
<form:input type="hidden" path="adjstRpplList[${status.index}].rpplTy" id="rpplTy${status.index}" value="${list.rpplTy}"/>
<div class="tb_top">
<p>대리인 정보</p>
<%--<span class="cf_text">* 필수입력 항목</span>--%>
<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();">이전신청 불러오기</button>
</div>
</c:if>
</div>
<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>
<label for="rpplNm_De${status.index}" class="label">대리인 이름 입력</label>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY}">
<form:input path="adjstRpplList[${status.index}].rpplNm" id="rpplNm_De${status.index}" size="30" value="${ssoLoginVO.membName}" placeholder="대리인 이름을 입력해주세요." />
</c:when>
<c:otherwise>
<form:input path="adjstRpplList[${status.index}].rpplNm" id="rpplNm_De${status.index}" size="30" value="${list.rpplNm}" placeholder="대리인 이름을 입력해주세요." />
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>본인과의 관계</p>
</th>
<td>
<div class="radio_wrap">
<span><input type="radio" id="rpplRelation${status.index}_1" ${list.rpplRelation eq '01' or empty list.rpplNm ? 'checked' : ''} name="adjstRpplList[${status.index}].rpplRelation" value="01" checked><label for="rpplRelation${status.index}_1">법률대리인</label></span>
<span><input type="radio" id="rpplRelation${status.index}_2" ${list.rpplRelation eq '02' ? 'checked' : ''} name="adjstRpplList[${status.index}].rpplRelation" value="02" ><label for="rpplRelation${status.index}_2">신청인의 직원</label></span>
<span><input type="radio" id="rpplRelation${status.index}_3" ${list.rpplRelation eq '03' ? 'checked' : ''} name="adjstRpplList[${status.index}].rpplRelation" value="03" ><label for="rpplRelation${status.index}_3">신청인의 가족</label></span>
<span><input type="radio" id="rpplRelation${status.index}_4" ${list.rpplRelation eq '04' ? 'checked' : ''} name="adjstRpplList[${status.index}].rpplRelation" value="04" ><label for="rpplRelation${status.index}_4">기타</label></span>
<form:input path="adjstRpplList[${status.index}].rpplRelationEtc" id="rpplRelationEtc${status.index}" size="30" maxLength="50" value="${list.rpplRelationEtc}" disabled="${list.rpplRelation eq '04' ? '' : 'true'}"/>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>소속</p>
</th>
<td>
<label for="rpplClass${status.index}" class="label">소속 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplClass" id="rpplClass${status.index}" value="${list.rpplClass}" size="30" placeholder="소속을 입력해주세요."/>
</td>
</tr>
<tr>
<th scope="row">
<p>직책</p>
</th>
<td>
<label for="rpplGrade${status.index}" class="label">직책 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplGrade" id="rpplGrade${status.index}" value="${list.rpplGrade}" size="30" placeholder="직책을 입력해주세요."/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td>
<label for="rpplPost${status.index}" class="label">우편번호 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPost" id="rpplPost${status.index}" size="20" cssClass="adr_input" value="${list.rpplPost}" readonly="true" placeholder="우편번호 입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplAddr${status.index}" class="label">주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplAddr" id="rpplAddr${status.index}" value="${list.rpplAddr}" size="45" cssClass="searchResultAddr" readonly="true" placeholder="주소를 입력해주세요."/>
<label for="rpplAddrDtl${status.index}" class="label">나머지 주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplAddrDtl" id="rpplAddrDtl${status.index}" value="${list.rpplAddrDtl}" size="25" cssClass="usrInsertAddr" placeholder="상세주소를 입력해주세요."/>
</div>
<input type="checkbox" name="adjstRpplList[${status.index}].rpplAddrCpYn" id="rpplAddrCpYn${status.index}" onclick="AdjstReq.addressCopy(this);" value="Y" ${list.rpplAddrCpYn eq 'Y' ? 'checked' : ''}/>
<label for="rpplAddrCpYn${status.index}">우편물 수령지로 선택</label>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일</p>
</th>
<td>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY}">
<c:set var="emailSplit" value="${fn:split(ssoLoginVO.membEmail,'@')}" />
</c:when>
<c:otherwise>
<c:set var="emailSplit" value="${fn:split(list.rpplEmail,'@')}" />
</c:otherwise>
</c:choose>
<label for="rpplEmail1${status.index}" class="label">이메일아이디 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplEmail1" id="rpplEmail1${status.index}" value="${not empty emailSplit ? emailSplit[0] : ''}" size="20" cssClass="input_email" placeholder="이메일 입력" onkeyup="onlyAlphabetNumber(this)"/>@
<label for="rpplEmail2${status.index}" class="label">이메일공급자 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplEmail2" id="rpplEmail2${status.index}" value="${not empty emailSplit ? emailSplit[1] : ''}" size="20" cssClass="input_email" placeholder="예) naver.com"/>
<label for="rpplEmailSelect${status.index}" class="label">이메일공급자 선택</label>
<kc:select codeId="ADR030" defaultText="직접입력" id="rpplEmailSelect${status.index}" name="rpplEmailSelect${status.index}" defaultValue="" onChange="emailSelect(this)"/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td>
<%--<c:set var="phone" value="${list.rpplPhone.replaceAll('(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$','$1-$2-$3')}"/>--%>
<c:set var="phone" value="${list.rpplPhone.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ_DEPUTY}">
<c:set var="phone" value="${ssoLoginVO.membCelnum.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
</c:when>
<c:otherwise>
<c:set var="phone" value="${list.rpplPhone.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
</c:otherwise>
</c:choose>
<c:set var="phone" value="${fn:split(phone,'-')}"/>
<label for="rpplPhone1${status.index}" class="label">핸드폰 앞자리 선택</label>
<%--<kc:select codeId="ADR020" defaultText="직접입력" name="adjstRpplList[${status.index}].rpplPhone1" id="rpplPhone1${status.index}" selectedValue="${not empty phone ? phone[0] : ''}"/>--%>
<form:input path="adjstRpplList[${status.index}].rpplPhone1" id="rpplPhone1${status.index}" onkeyup="onlyNumber(this)"
size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="3" value="${not empty phone ? phone[0] : ''}"/>
-<label for="rpplPhone2${status.index}" class="label">핸드폰 가운데자리 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPhone2" id="rpplPhone2${status.index}" onkeyup="onlyNumber(this)"
size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="4" value="${not empty phone ? phone[1] : ''}"/>
-<label for="rpplPhone3${status.index}" class="label">핸드폰 마지막자리 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPhone3" id="rpplPhone3${status.index}" onkeyup="onlyNumber(this)"
size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="4" value="${not empty phone ? phone[2] : ''}"/>
</td>
</tr>
<tr class="post_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>우편물 수령지</p>
</th>
<td class="realPost">
<label for="rpplRealPost${status.index}" class="label">우편번호 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealPost" id="rpplRealPost${status.index}" value="${list.rpplRealPost}" size="20" cssClass="adr_input" placeholder="우편번호 입력" readonly="true"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplRealAddr${status.index}" class="label">주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealAddr" id="rpplRealAddr${status.index}" value="${list.rpplRealAddr}" size="45" cssClass="searchResultAddr" placeholder="주소를 입력해주세요." readonly="true"/>
<label for="rpplRealAddrDtl${status.index}" class="label">나머지주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealAddrDtl" id="rpplRealAddrDtl${status.index}" value="${list.rpplRealAddrDtl}" size="25" cssClass="usrInsertAddr" placeholder="상세주소를 입력해주세요."/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</c:when>
<c:when test="${list.rpplTy eq KccadrConstants.ADR_RPPL_TY_REQ}">
<div class="tb_wrap" id="reqPerson">
<form:input type="hidden" path="adjstRpplList[${status.index}].rpplSeq" id="rpplSeq${status.index}" value="${list.rpplSeq}"/>
<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>
<%--<span class="cf_text">* 필수입력 항목</span>--%>
</div>
<table class="tbType01">
<caption>신청인 정보 : 신청인 분류, 신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등의 정보 입력</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>
<div class="radio_wrap">
<kc:radio codeId="CC001" id="rpplUsrTy" name="rpplUsrTy" defaultValue="" onChange="AdjstReq.rpplUsrTyLayout(this);" selectedValue="${empty list.rpplUsrTy ? '01' : list.rpplUsrTy }" styleClass="mr15" />
</div>
</td>
</tr>
<!-- 개인 -->
<tr class="scb_name" usrTy="01" style="display:${empty list.rpplUsrTy or list.rpplUsrTy eq '01' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>신청인 이름</p>
</th>
<td>
<label for="rpplNm_Sin${status.index}" class="label">신청인 이름 입력</label>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<input type="text" name="adjstRpplList[${status.index}].rpplNm" id="rpplNm_Sin${status.index}" size="30" value="${ssoLoginVO.membName}" placeholder="신청인 이름을 입력해주세요."/>
</c:when>
<c:otherwise>
<input type="text" name="adjstRpplList[${status.index}].rpplNm" id="rpplNm_Sin${status.index}" size="30" value="${list.rpplNm}" placeholder="신청인 이름을 입력해주세요."/>
</c:otherwise>
</c:choose>
</td>
</tr>
<!-- 법인 -->
<tr class="rep_person" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>대표자</p>
</th>
<td>
<label for="rpplCportNm${status.index}" class="label">대표자 이름 입력</label>
<%-- <input name="adjstRpplList[${status.index}].rpplCportNm" id="rpplNm${status.index}" value="${list.rpplNm}" size="30" placeholder="대표자명을 입력해주세요."/> --%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<input name="adjstRpplList[${status.index}].rpplCportNm" id="rpplCportNm${status.index}" value="${ssoLoginVO.mangName}" size="30" placeholder="대표자명을 입력해주세요."/>
</c:when>
<c:otherwise>
<input name="adjstRpplList[${status.index}].rpplCportNm" id="rpplCportNm${status.index}" value="${list.rpplNm}" size="30" placeholder="대표자명을 입력해주세요."/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr class="cop_name" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>법인/사업체명</p>
</th>
<td>
<%-- <c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<label for="rpplCportNm${status.index}" class="label">대표자명 입력</label>
</c:when>
<c:otherwise>
<label for="rpplBizNm${status.index}" class="label">법인/사업체명 입력</label>
</c:otherwise>
</c:choose> --%>
<label for="rpplBizNm${status.index}" class="label">법인/사업체명 입력</label>
<%-- <form:input path="adjstRpplList[${status.index}].rpplBizNm" id="rpplBizNm${status.index}" value="${list.rpplBizNm}" size="30" placeholder="법인/사업체명을 입력해주세요."/> --%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<input name="adjstRpplList[${status.index}].rpplBizNm" id="rpplBizNm${status.index}" value="${ssoLoginVO.membName}" size="30" placeholder="법인/사업체명을 입력해주세요."/>
</c:when>
<c:otherwise>
<form:input path="adjstRpplList[${status.index}].rpplBizNm" id="rpplBizNm${status.index}" value="${list.rpplBizNm}" size="30" placeholder="법인/사업체명을 입력해주세요."/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr scope="row" class="cop_num" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th>
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>법인등록번호</p>
</th>
<td>
<label for="rpplBizId${status.index}" class="label">법인등록번호 입력</label>
<%-- <form:input path="adjstRpplList[${status.index}].rpplBizId" id="rpplBizId${status.index}" value="${list.rpplBizId}" size="30" maxlength="13" cssClass="input_cop_num" placeholder="법인등록번호를 입력해주세요."/> --%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<form:input path="adjstRpplList[${status.index}].rpplBizId" id="rpplBizId${status.index}" value="${ssoLoginVO.membCorpnum}" size="30" placeholder="법인등록번호를 입력해주세요."/>
</c:when>
<c:otherwise>
<form:input path="adjstRpplList[${status.index}].rpplBizId" id="rpplBizId${status.index}" value="${list.rpplBizId}" size="30" placeholder="법인등록번호를 입력해주세요."/>
</c:otherwise>
</c:choose>
</td>
</tr>
<!-- 개인사업자 -->
<tr scope="row" class="person_name" usrTy="03" style="display:${list.rpplUsrTy eq '03' ? '' : 'none'}">
<th>
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이름</p>
</th>
<td>
<label for="rpplNm_Ge${status.index}" class="label">이름 입력</label>
<%-- <input name="adjstRpplList[${status.index}].rpplPersonBizNm" id="rpplNm${status.index}" value="${list.rpplNm}" size="30" placeholder="이름을 입력해주세요."/> --%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<input name="adjstRpplList[${status.index}].rpplPersonBizNm" id="rpplNm_Ge${status.index}" value="${ssoLoginVO.membName}" size="30" placeholder="이름을 입력해주세요."/>
</c:when>
<c:otherwise>
<input name="adjstRpplList[${status.index}].rpplPersonBizNm" id="rpplNm_Ge${status.index}" value="${list.rpplNm}" size="30" placeholder="이름을 입력해주세요."/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr class="cop_reg_num" usrTy="03" style="display:${list.rpplUsrTy eq '03' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>사업자 등록번호</p>
</th>
<td>
<label for="rpplBizNo${status.index}" class="label">사업자등록번호 입력</label>
<%-- <form:input path="adjstRpplList[${status.index}].rpplBizNo" id="rpplBizNo${status.index}" value="${list.rpplBizNo}" size="30" maxlength="12" cssClass="input_reg_num num01" placeholder="사업자 등록번호를 입력해주세요."/></td> --%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<form:input path="adjstRpplList[${status.index}].rpplBizNo" id="rpplBizNo${status.index}" value="${ssoLoginVO.membBuisnRegnum}" size="30" maxlength="12" cssClass="input_reg_num num01" placeholder="사업자 등록번호를 입력해주세요."/></td>
</c:when>
<c:otherwise>
<form:input path="adjstRpplList[${status.index}].rpplBizNo" id="rpplBizNo${status.index}" value="${list.rpplBizNo}" size="30" maxlength="12" cssClass="input_reg_num num01" placeholder="사업자 등록번호를 입력해주세요."/></td>
</c:otherwise>
</c:choose>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td>
<label for="rpplPost${status.index}" class="label">우편번호 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPost" id="rpplPost${status.index}" size="20" cssClass="adr_input" value="${list.rpplPost}" readonly="true" placeholder="우편번호입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplAddr${status.index}" class="label">주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplAddr" id="rpplAddr${status.index}" value="${list.rpplAddr}" size="45" cssClass="searchResultAddr" readonly="true" placeholder="주소를 입력해주세요."/>
<label for="rpplAddrDtl${status.index}" class="label">나머지주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplAddrDtl" id="rpplAddrDtl${status.index}" value="${list.rpplAddrDtl}" size="25" cssClass="usrInsertAddr" placeholder="상세주소를 입력해주세요."/>
</div>
<input type="checkbox" name="adjstRpplList[${status.index}].rpplAddrCpYn" id="rpplAddrCpYn${status.index}" onclick="AdjstReq.addressCopy(this);" value="Y" ${list.rpplAddrCpYn eq 'Y' ? 'checked' : ''}/>
<label for="rpplAddrCpYn${status.index}">우편물 수령지로 선택</label>
</td>
</tr>
<tr class="scb_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일</p>
</th>
<td>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<c:set var="emailSplit" value="${fn:split(ssoLoginVO.membEmail,'@')}" />
</c:when>
<c:otherwise>
<c:set var="emailSplit" value="${fn:split(list.rpplEmail,'@')}" />
</c:otherwise>
</c:choose>
<label for="rpplEmail1${status.index}" class="label">이메일아이디 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplEmail1" id="rpplEmail1${status.index}" value="${not empty emailSplit ? emailSplit[0] : ''}" size="20" onkeyup="onlyAlphabetNumber(this)"
cssClass="input_email" placeholder="이메일 입력"/>@
<label for="rpplEmail2${status.index}" class="label">이메일공급자 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplEmail2" id="rpplEmail2${status.index}" value="${not empty emailSplit ? emailSplit[1] : ''}" size="20" cssClass="input_email" placeholder="예) naver.com"/>
<label for="rpplEmailSelect${status.index}" class="label">이메일공급자 선택</label>
<kc:select codeId="ADR030" defaultText="직접입력" id="rpplEmailSelect${status.index}" defaultValue="" name="rpplEmailSelect${status.index}" onChange="emailSelect(this)"/>
</td>
</tr>
<tr class="scb_phone">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td>
<%--<c:set var="phone" value="${list.rpplPhone.replaceAll('(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$','$1-$2-$3')}"/>--%>
<%-- 등록화면 SSO정보 연동 처리 --%>
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq && adjstReqVO.rpplTy == KccadrConstants.ADR_RPPL_TY_REQ}">
<c:set var="phone" value="${ssoLoginVO.membCelnum.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
</c:when>
<c:otherwise>
<c:set var="phone" value="${list.rpplPhone.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
</c:otherwise>
</c:choose>
<c:set var="phone" value="${fn:split(phone,'-')}"/>
<label for="rpplPhone1${status.index}" class="label">핸드폰 앞자리 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPhone1" id="rpplPhone1${status.index}" onkeyup="onlyNumber(this)"
size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="3" value="${not empty phone ? phone[0] : ''}"/>
<%--<kc:select codeId="ADR020" defaultText="직접입력" name="adjstRpplList[${status.index}].rpplPhone1" id="rpplPhone1${status.index}" selectedValue="${not empty phone ? phone[0] : ''}"/>--%>
-
<label for="rpplPhone2${status.index}" class="label">핸드폰 가운데자리 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPhone2" id="rpplPhone2${status.index}" size="15"
maxlength="4" cssClass="input_phone" value="${not empty phone ? phone[1] : ''}" onkeyup="onlyNumber(this)" placeholder="연락처 입력"/>
-
<label for="rpplPhone3${status.index}" class="label">핸드폰 마지막자리 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplPhone3" id="rpplPhone3${status.index}" size="15" value="${not empty phone ? phone[2] : ''}"
cssClass="input_phone" onkeyup="onlyNumber(this)" maxlength="4" placeholder="연락처 입력"/>
</td>
</tr>
<tr class="recv_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<span><form:radiobutton path="adjstRpplList[${status.index}].rpplEmailYn" id="rpplEmailY${status.index}" checked="${empty list.rpplEmailYn or list.rpplEmailYn eq 'Y' ? 'true' : ''}" value="Y" label="수신" /></span>
<span><form:radiobutton path="adjstRpplList[${status.index}].rpplEmailYn" id="rpplEmailN${status.index}" checked="${list.rpplEmailYn eq 'N' ? 'true' : ''}" value="N" label="수신하지 않음" /></span>
</div>
</td>
</tr>
<tr class="recv_sms">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>SMS 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<span><form:radiobutton path="adjstRpplList[${status.index}].rpplSmsYn" id="rpplSmsY${status.index}" value="Y" label="수신" checked="${empty list.rpplSmsYn or list.rpplSmsYn eq 'Y' ? 'true' : ''}"/></span>
<span><form:radiobutton path="adjstRpplList[${status.index}].rpplSmsYn" id="rpplSmsN${status.index}" value="N" label="수신하지 않음" checked="${list.rpplSmsYn eq 'N' ? 'true' : ''}" /></span>
</div>
</td>
</tr>
<tr class="post_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>우편물 수령지</p>
</th>
<td class="realPost">
<label for="rpplRealPost${status.index}" class="label">우편번호 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealPost" id="rpplRealPost${status.index}" value="${list.rpplRealPost}" size="20" cssClass="adr_input" readonly="true" placeholder="우편번호 입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplRealAddr${status.index}" class="label">주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealAddr" id="rpplRealAddr${status.index}" value="${list.rpplRealAddr}" size="45" cssClass="searchResultAddr" readonly="true" placeholder="주소를 입력해주세요."/>
<label for="rpplRealAddrDtl${status.index}" class="label">나머지주소 입력</label>
<form:input path="adjstRpplList[${status.index}].rpplRealAddrDtl" id="rppl01RealAddrDtl${status.index}" value="${list.rpplRealAddrDtl}" size="25" cssClass="usrInsertAddr" placeholder="상세주소를 입력해주세요."/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</c:when>
</c:choose>
</c:forEach>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01">
<c:choose>
<c:when test="${empty adjstReqVO.adrSeq}">
<button type="button" class="btnType02 btn_save" onclick="AdjstReq.step1Save('${KccadrConstants.ADR_MODE_NEW}'); return false;">임시저장</button>
</c:when>
<c:otherwise>
<%-- <button type="button" class="btnType01" onclick="AdjstReq.stepDelete('${adjstReqVO.adrSeq}'); return false;">신청서 삭제</button> --%>
<button type="button" class="btnType02 btn_save" onclick="AdjstReq.step1Save('${KccadrConstants.ADR_MODE_UPT}'); return false;">임시저장</button>
</c:otherwise>
</c:choose>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,564 @@
<%--
대국민 사용자
Class Name : adjstReq3Regist.jsp
Description : 조정신청 등록화면3 - 피신청인정보 등록
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.18 여현준 내용
author : 여현준
since : 2021.08.18
--%>
<%-- 공통 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="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ 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>
.mr15{
margin-right: 15px !important;
}
.btn_wrap.btn_layout03 .btnType01{height: 46px}
</style>
<%-- <un:useConstants var="KccadrConstants" className="kcc.kccadr.cmm.KccadrConstants" /> --%>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
// 현재 작성단계 셋
AdjstReq.STEP = '${adjstReqVO.step}';
AdjstReq.EDIT_DATA = ${editInfo}
AdjstReq.STATUS = '${not empty master ? master.statCd : ''}';
// 페이지 로드 업무 프로세스
AdjstReq.pageOnload();
// 페이지 로드 데이터 셋팅
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;
}
});
</script>
</head>
<body>
<form:form id="${KccadrConstants.STEP2}" name="${KccadrConstants.STEP2}" 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>
</div>
<c:import url="/web/kccadr/adjstExp/none/adjstReqStatusProcess.do"/>
<c:choose>
<c:when test="${fn:length(list) eq 0}">
<div class="tb_top_btns">
<button type="button" class="btnType05 btn_add" id="addPerson">피신청인 추가</button>
</div>
<!-- 피신청인 정보 01 -->
<div class="tb_wrap personWarp">
<form:input type="hidden" path="rpplSeq" id="rpplSeq" value=""/>
<form:input type="hidden" path="rpplTy" id="rpplTy" value="${KccadrConstants.ADR_RPPL_TY_RES}"/>
<div class="tb_top">
<p>피신청인1 정보</p>
</div>
<table class="tbType01">
<caption>피신청인 정보1 : 피신청인 분류, 피신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등 정보입력</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>
<div class="radio_wrap">
<kc:radio codeId="CC001" id="rpplUsrTy" name="rpplUsrTy" defaultValue="" onChange="AdjstReq.rpplUsrTyLayout(this);" selectedValue="01" styleClass="mr15" />
<button type="button" class="btnType01 btn_adr_search delPerson">피신청인 삭제</button>
</div>
</td>
</tr>
<!-- 개인 -->
<tr class="scb_name" usrTy="01">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 이름</p>
</th>
<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>
</td>
</tr>
<!-- 법인 -->
<tr class="rep_person" usrTy="02" style="display: none;">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 대표자</p>
</th>
<td>
<label for="rpplCportNm" class="label">피신청인 대표자 입력</label>
<input name="rpplCportNm" id="rpplCportNm" type="text" size="30" placeholder="피신청인 대표자를 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
</td>
</tr>
<tr class="cop_name" usrTy="02" style="display: none;">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 법인/사업체명</p>
</th>
<td>
<label for="rpplBizNm" class="label">피신청인 법인/사업체명 입력</label>
<input name="rpplBizNm" id="rpplBizNm" type="text" size="30" placeholder="법인/사업체명을 입력해주세요."/>
</td>
</tr>
<tr class="cop_num" usrTy="02" style="display: none;">
<th scope="row">
<p>피신청인 법인등록번호</p>
</th>
<td>
<label for="rpplBizId" class="label">피신청인 법인등록번호 입력</label>
<form:input path="rpplBizId" id="rpplBizId" size="30" maxlength="13" cssClass="input_cop_num" placeholder="법인등록번호를 입력해주세요."/>
</td>
</tr>
<!-- 개인사업자 -->
<tr class="person_name" usrTy="03" style="display: none;">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 이름</p>
</th>
<td>
<label for="rpplPersonBizNm" class="label">피신청인 이름 입력</label>
<input name="rpplPersonBizNm" id="rpplPersonBizNm" size="30" type="text" placeholder="피신청인 이름을 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
</td>
</tr>
<tr class="cop_reg_num" usrTy="03" style="display: none;">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 사업자 등록번호</p>
</th>
<td>
<label for="rpplBizNo" class="label">피신청인 사업자등록번호 입력</label>
<form:input path="rpplBizNo" id="rpplBizNo" size="30" maxlength="12" cssClass="input_reg_num num01" placeholder="사업자등록번호을 입력해주세요."/>
</td>
</tr>
<tr class="scb_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td>
<label for="rpplPost" class="label">우편번호 입력</label>
<form:input path="rpplPost" size="20" cssClass="adr_input" readonly="true" placeholder="우편번호 입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplAddr" class="label">주소 입력</label>
<form:input path="rpplAddr" id="rpplAddr" size="60" cssClass="searchResultAddr" readonly="true" placeholder="주소입력"/>
<label for="rpplAddrDtl" class="label">나머지주소 입력</label>
<form:input path="rpplAddrDtl" id="rpplAddrDtl" size="20" cssClass="usrInsertAddr" placeholder="상세주소입력"/>
</div>
<input type="checkbox" name="rpplAddrCpYn" id="rpplAddrCpYn" onclick="AdjstReq.addressCopy(this);" value="Y"/>
<label for="rpplAddrCpYn">우편물 수령지로 선택</label>
</td>
</tr>
<tr class="scb_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일</p>
</th>
<td>
<label for="rpplEmail1" class="label">이메일아이디 입력</label>
<form:input path="rpplEmail1" size="20" cssClass="input_email" placeholder="이메일입력" onkeyup="onlyAlphabetNumber(this)"/>@
<label for="rpplEmail2" class="label">이메일공급자 입력</label>
<form:input path="rpplEmail2" size="20" cssClass="input_email" placeholder="ex) naver.com"/>
<label for="rpplEmailSelect${status.index}" class="label">이메일공급자 선택</label>
<kc:select codeId="ADR030" defaultText="직접입력" id="rpplEmailSelect" defaultValue="" name="rpplEmailSelect" onChange="emailSelect(this)"/>
</td>
</tr>
<tr class="scb_phone">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td>
<label for="rpplPhone1" class="label">핸드폰 앞자리 입력</label>
<label for="rpplPhone1${status.index}" class="label">핸드폰 앞자리 입력</label>
<form:input path="rpplPhone1" id="rpplPhone1${status.index}" onkeyup="onlyNumber(this)" size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="3" value=""/>
-<label for="rpplPhone2" class="label">핸드폰 가운데자리 선택</label>
<form:input path="rpplPhone2" maxlength="4" size="15" cssClass="input_phone" onkeyup="onlyNumber(this)" placeholder="연락처 입력"/>
-<label for="rpplPhone3" class="label">핸드폰 마지막자리 선택</label>
<form:input path="rpplPhone3" maxlength="4" size="15" cssClass="input_phone" onkeyup="onlyNumber(this)" placeholder="연락처 입력"/>
</td>
</tr>
<tr class="recv_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<form:radiobutton path="rpplEmailYn" id="rppl01EmailYnY" value="Y" label="수신" checked="true"/>
<form:radiobutton path="rpplEmailYn" id="rppl01EmailYnN" value="N" label="수신하지 않음" />
</div>
</td>
</tr>
<tr class="recv_sms">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>SMS 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<form:radiobutton path="rpplSmsYn" id="rppl01SmsYnY" value="Y" label="수신" checked="true"/>
<form:radiobutton path="rpplSmsYn" id="rppl01SmsYnN" value="N" label="수신하지 않음" />
</div>
</td>
</tr>
<tr class="post_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>우편물 수령지</p>
</th>
<td class="realPost">
<label for="rpplRealPost" class="label">우편번호 입력</label>
<form:input path="rpplRealPost" id="rpplRealPost" size="20" cssClass="adr_input" readonly="true" placeholder="우편번호입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplRealAddr" class="label">주소 입력</label>
<form:input path="rpplRealAddr" size="60" cssClass="searchResultAddr" readonly="true" placeholder="주소입력"/>
<label for="rpplRealAddrDtl" class="label">나머지주소 입력</label>
<form:input path="rpplRealAddrDtl" size="20" cssClass="usrInsertAddr" placeholder="상세주소입력"/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</c:when>
<c:otherwise>
<c:forEach var="list" items="${list}" varStatus="status">
<c:set var="chgId" value=""/>
<c:if test="${not status.first}">
<c:set var="chgId" value="_${status.index+1}"/>
</c:if>
<c:if test="${status.index eq 0}">
<div class="tb_top_btns">
<button type="button" class="btnType05 btn_add" id="addPerson">피신청인 추가</button>
</div>
</c:if>
<div class="tb_wrap personWarp">
<form:input type="hidden" path="rpplSeq" id="rpplSeq" value="${list.rpplSeq}"/>
<form:input type="hidden" path="rpplTy" id="rpplTy" value="${list.rpplTy}"/>
<!-- 피신청인 정보 01 -->
<div class="tb_top">
<p>피신청인${status.index+1} 정보</p>
</div>
<table class="tbType01">
<caption>피신청인${status.index+1} 정보 : 피신청인 분류, 피신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등 정보입력</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>
<div class="radio_wrap">
<kc:radio codeId="CC001" id="rpplUsrTy${chgId}" name="rpplUsrTy${chgId}" defaultValue="" onChange="AdjstReq.rpplUsrTyLayout(this);" selectedValue="${empty list.rpplUsrTy ? '01' : list.rpplUsrTy }" />
<button type="button" class="btnType01 btn_adr_search delPerson">피신청인 삭제</button>
</div>
</td>
</tr>
<!-- 개인 -->
<tr class="scb_name" usrTy="01" style="display:${empty list.rpplUsrTy or list.rpplUsrTy eq '01' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 이름</p>
</th>
<td><!-- <input type="text" size="30"> -->
<label for="rpplNm${chgId}" class="label">피신청인 이름 입력</label>
<input name="rpplNm" id="rpplNm${chgId}" value="${list.rpplNm}" type="text" size="30" placeholder="피신청인 이름을 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
</td>
</tr>
<!-- 법인 -->
<tr class="rep_person" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 대표자</p>
</th>
<td>
<label for="rpplCportNm${chgId}" class="label">피신청인 대표자 입력</label>
<input name="rpplCportNm" id="rpplCportNm${chgId}" value="${list.rpplNm}" type="text" size="30" placeholder="피신청인 대표자 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
</td>
</tr>
<tr class="cop_name" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 법인/사업체명</p>
</th>
<td>
<label for="rpplBizNm${chgId}" class="label">피신청인 법인/사업체명 입력</label>
<input name="rpplBizNm" id="rpplBizNm${chgId}" value="${list.rpplBizNm}" type="text" size="30" placeholder="법인/사업체명 입력해주세요."/>
</td>
</tr>
<tr class="cop_num" usrTy="02" style="display:${list.rpplUsrTy eq '02' ? '' : 'none'}">
<th scope="row">
<p>피신청인 법인등록번호</p>
</th>
<td>
<label for="rpplBizId${chgId}" class="label">피신청인 법인등록번호 입력</label>
<form:input path="rpplBizId" id="rpplBizId${chgId}" size="30" maxlength="13" cssClass="input_cop_num" value="${list.rpplBizId}"
placeholder="법인등록번호 입력해주세요."/>
</td>
</tr>
<!-- 개인사업자 -->
<tr class="person_name" usrTy="03" style="display:${list.rpplUsrTy eq '03' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 이름</p>
</th>
<td>
<label for="rpplPersonBizNm${chgId}" class="label">피신청인 이름 입력</label>
<input name="rpplPersonBizNm" id="rpplPersonBizNm${chgId}" size="30" type="text" value="${list.rpplNm}" placeholder="피신청인 이름 입력해주세요."/>
<button type="button" class="btnType05 btn_adr_search respondentSch" title="새창팝업 열림">피신청인 조회</button>
</td>
</tr>
<tr class="cop_reg_num" usrTy="03" style="display:${list.rpplUsrTy eq '03' ? '' : 'none'}">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>피신청인 사업자 등록번호</p>
</th>
<td>
<label for="rpplBizNo${chgId}" class="label">피신청인 사업자등록번호 입력</label>
<form:input path="rpplBizNo" id="rpplBizNo${chgId}" value="${list.rpplBizNo}" size="30" maxlength="12" cssClass="input_reg_num num01" placeholder="사업자등록번호를 입력해주세요."/>
</td>
</tr>
<tr class="scb_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td>
<label for="rpplPost${chgId}" class="label">우편번호 입력</label>
<form:input path="rpplPost" id="rpplPost${chgId}" value="${list.rpplPost}" size="20" cssClass="adr_input" readonly="true" placeholder="우편번호입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplAddr${chgId}" class="label">주소 입력</label>
<form:input path="rpplAddr" id="rpplAddr${chgId}" size="60" value="${list.rpplAddr}" cssClass="searchResultAddr" readonly="true" placeholder="주소입력"/>
<label for="rpplAddrDtl${chgId}" class="label">나머지주소 입력</label>
<form:input path="rpplAddrDtl" id="rpplAddrDtl${chgId}" value="${list.rpplAddrDtl}" size="20" cssClass="usrInsertAddr" placeholder="상세주소입력"/>
</div>
<input type="checkbox" name="rpplAddrCpYn" id="rpplAddrCpYn${chgId}" onclick="AdjstReq.addressCopy(this);" ${list.rpplAddrCpYn eq 'Y' ? 'checked' : ''} value="Y"/>
<label for="rpplAddrCpYn${chgId}">우편물 수령지로 선택</label>
</td>
</tr>
<tr class="scb_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일</p>
</th>
<td>
<c:set var="emailSplit" value="${fn:split(list.rpplEmail,'@')}" />
<label for="rpplEmail1${chgId}" class="label">이메일아이디 입력</label>
<form:input path="rpplEmail1" id="rpplEmail1${chgId}" value="${not empty emailSplit ? emailSplit[0] : ''}" size="20" cssClass="input_email" onkeyup="onlyAlphabetNumber(this)" placeholder="이메일입력"/>@
<label for="rpplEmail2" class="label">이메일공급자 입력</label>
<form:input path="rpplEmail2" id="rpplEmail2${chgId}" value="${not empty emailSplit ? emailSplit[1] : ''}" size="20" cssClass="input_email" placeholder="ex) naver.com"/>
<label for="rpplEmailSelect${status.index}" class="label">이메일공급자 선택</label>
<kc:select codeId="ADR030" defaultText="직접입력" id="rpplEmailSelect${chgId}" defaultValue="" name="rpplEmailSelect" onChange="emailSelect(this)"/>
</td>
</tr>
<tr class="scb_phone">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td>
<%--<c:set var="phone" value="${list.rpplPhone.replaceAll('(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$','$1-$2-$3')}"/>--%>
<c:set var="phone" value="${list.rpplPhone.replaceAll('^(01[016789]{1}|02|0[3-9]{1}[0-9]{1})([0-9]{3,4})([0-9]{4})$','$1-$2-$3')}"/>
<c:set var="phone" value="${fn:split(phone,'-')}"/>
<label for="rpplPhone1${chgId}" class="label">핸드폰 앞자리 입력</label>
<form:input path="rpplPhone1" id="rpplPhone1${chgId}" onkeyup="onlyNumber(this)" size="15" cssClass="input_phone" placeholder="연락처 입력" maxlength="3" value="${not empty phone ? phone[0] : ''}"/>
<%--<kc:select codeId="ADR020" defaultText="직접입력" name="rpplPhone1" id="rpplPhone1${chgId}" selectedValue="${not empty phone ? phone[0] : ''}"/>--%>
-<label for="rpplPhone2${chgId}" class="label">핸드폰 가운데자리 선택</label>
<form:input path="rpplPhone2" id="rpplPhone2${chgId}" value="${not empty phone ? phone[1] : ''}" maxlength="4" size="15" cssClass="input_phone" onkeyup="onlyNumber(this)" placeholder="연락처 입력"/>
-<label for="rpplPhone3" class="label">핸드폰 마지막자리 선택</label>
<form:input path="rpplPhone3" id="rpplPhone3${chgId}" value="${not empty phone ? phone[2] : ''}" maxlength="4" size="15" cssClass="input_phone" onkeyup="onlyNumber(this)" placeholder="연락처 입력"/>
</td>
</tr>
<tr class="recv_email">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>이메일 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<input type="radio" name="rpplEmailYn${chgId}" id="rpplEmailY${chgId}" ${list.rpplEmailYn eq 'Y' ? 'checked' : ''} value="Y" label="수신" checked="true"/>
<label for="rpplEmailYn${chgId}" class="label">수신</label>
<input type="radio" name="rpplEmailYn${chgId}" id="rpplEmailN${chgId}" ${list.rpplEmailYn eq 'N' ? 'checked' : ''} value="N" label="수신하지 않음" />
<label for="rpplEmailN${chgId}" class="label">수신하지 않음</label>
</div>
</td>
</tr>
<tr class="recv_sms">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>SMS 수신여부</p>
</th>
<td>
<div class="radio_wrap">
<input type="radio" name="rpplSmsYn${chgId}" ${list.rpplSmsYn eq 'Y' ? 'checked' : ''} id="rpplSmsY${chgId}" value="Y" label="수신" checked="true"/>
<label for="rpplSmsY${chgId}" class="label">수신</label>
<input type="radio" name="rpplSmsYn${chgId}" ${list.rpplSmsYn eq 'N' ? 'checked' : ''} id="rpplSmsN${chgId}" value="N" label="수신하지 않음" />
<label for="rpplSmsN${chgId}" class="label">수신하지 않음</label>
</div>
</td>
</tr>
<tr class="post_adr">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>우편물 수령지</p>
</th>
<td class="realPost">
<label for="rpplRealPost" class="label">우편번호 입력</label>
<form:input path="rpplRealPost" id="rpplRealPost" size="20" value="${list.rpplRealPost}" cssClass="adr_input" readonly="true" placeholder="우편번호입력"/>
<button type="button" class="btnType01 btn_adr_search" onclick="fn_postCode(this);" title="새창팝업 열림">우편번호 검색</button>
<div class="detail_address">
<label for="rpplRealAddr" class="label">주소 입력</label>
<form:input path="rpplRealAddr" size="60" value="${list.rpplRealAddr}" cssClass="searchResultAddr" readonly="true" placeholder="주소입력"/>
<label for="rpplRealAddrDtl" class="label">나머지주소 입력</label>
<form:input path="rpplRealAddrDtl" size="20" value="${list.rpplRealAddrDtl}" cssClass="usrInsertAddr" placeholder="상세주소입력"/>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</c:forEach>
</c:otherwise>
</c:choose>
<!-- 하단 버튼 -->
<div class="btn_wrap btn_layout03">
<div class="btn_left"><button type="button" class="btnType04 btn_move" onclick="AdjstReq.fncGoPrev();">1단계 이동</button></div>
<c:choose>
<c:when test="${fn:length(list) eq 0}">
<div class="btn_right">
<button type="button" class="btnType01" onclick="AdjstReq.stepDelete('${adjstReqVO.adrSeq}'); return false;">신청서 삭제</button>
<button type="button" class="btnType02 btn_save" onclick="AdjstReq.step2Save('${KccadrConstants.ADR_MODE_NEW}'); return false">임시저장</button>
</div>
</c:when>
<c:otherwise>
<div class="btn_right">
<%-- <button type="button" class="btnType01" onclick="AdjstReq.stepDelete('${adjstReqVO.adrSeq}'); return false;">신청서 삭제</button> --%>
<button type="button" class="btnType02 btn_save" onclick="AdjstReq.step2Save('${KccadrConstants.ADR_MODE_UPT}'); return false">임시저장</button>
</div>
</c:otherwise>
</c:choose>
</div>
<!-- //하단 버튼 -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,259 @@
ㅊ <%--
대국민 사용자
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>

View File

@ -24,11 +24,11 @@ var AdjstReq = {
stepPrcessChange : function(){ stepPrcessChange : function(){
var obj = $("#step_wrap"); var obj = $("#step_wrap");
obj.find("div").removeClass("active"); obj.find("div").removeClass("active");
if(this.STEP == "${KccadrConstants.STEP1}"){ if(this.STEP == "${KccadrConstants.STEP1}" || this.STEP == "${KccadrConstants.STEP7}"){
obj.find("div:eq(0)").addClass("active"); obj.find("div:eq(0)").addClass("active");
}else if(this.STEP == "${KccadrConstants.STEP2}"){ }else if(this.STEP == "${KccadrConstants.STEP2}" || this.STEP == "${KccadrConstants.STEP8}"){
obj.find("div:eq(1)").addClass("active"); obj.find("div:eq(1)").addClass("active");
}else if(this.STEP == "${KccadrConstants.STEP3}"){ }else if(this.STEP == "${KccadrConstants.STEP3}" || this.STEP == "${KccadrConstants.STEP9}"){
obj.find("div:eq(2)").addClass("active"); obj.find("div:eq(2)").addClass("active");
} }
}, },
@ -146,6 +146,7 @@ var AdjstReq = {
getPageNumChange : function(type, divNum){ getPageNumChange : function(type, divNum){
var pageNum = parseInt(this.STEP.replace(/[^0-9]/gi,'')); var pageNum = parseInt(this.STEP.replace(/[^0-9]/gi,''));
console.log('type : ',type + ', pageNum : ',pageNum+', divNum : ',divNum);
if(type == "M"){ if(type == "M"){
pageNum = pageNum - divNum; pageNum = pageNum - divNum;
}else{ }else{
@ -154,6 +155,7 @@ var AdjstReq = {
return this.getStepName(pageNum); return this.getStepName(pageNum);
}, },
getStepUrl : function(step){ getStepUrl : function(step){
console.log('step : ', step);
var url = ""; var url = "";
switch (step) { switch (step) {
case "STEP0" : case "STEP0" :
@ -168,6 +170,19 @@ var AdjstReq = {
case "STEP3" : case "STEP3" :
url = "/web/kccadr/adjst/adjstReqRegistStep3.do"; url = "/web/kccadr/adjst/adjstReqRegistStep3.do";
break; break;
/** 체험하기 부분 */
case "STEP6" :
url = "/web/kccadr/adjstExp/adjstReqRegistInformation.do";
break;
case "STEP7" :
url = "/web/kccadr/adjstExp/adjstReqRegistStep1.do";
break;
case "STEP8" :
url = "/web/kccadr/adjstExp/adjstReqRegistStep2.do";
break;
case "STEP9" :
url = "/web/kccadr/adjstExp/adjstReqRegistStep3.do";
break;
} }
return url; return url;
}, },
@ -177,6 +192,10 @@ var AdjstReq = {
case 1 : return "${KccadrConstants.STEP1}"; case 1 : return "${KccadrConstants.STEP1}";
case 2 : return "${KccadrConstants.STEP2}"; case 2 : return "${KccadrConstants.STEP2}";
case 3 : return "${KccadrConstants.STEP3}"; case 3 : return "${KccadrConstants.STEP3}";
case 6 : return "${KccadrConstants.STEP6}";
case 7 : return "${KccadrConstants.STEP7}";
case 8 : return "${KccadrConstants.STEP8}";
case 9 : return "${KccadrConstants.STEP9}";
} }
return ""; return "";
}, },
@ -192,19 +211,19 @@ var AdjstReq = {
this.fncGoNext(); this.fncGoNext();
}, },
validStep : function(step){ validStep : function(step){
if(this.STEP == "${KccadrConstants.STEP0}"){ if(this.STEP == "${KccadrConstants.STEP0}" || this.STEP == "${KccadrConstants.STEP6}"){
return this.validStepCheckZero(); return this.validStepCheckZero();
}else if(this.STEP == "${KccadrConstants.STEP1}"){ }else if(this.STEP == "${KccadrConstants.STEP1}" || this.STEP == "${KccadrConstants.STEP7}"){
return this.validStepCheckOne(); return this.validStepCheckOne();
}else if(this.STEP == "${KccadrConstants.STEP2}"){ }else if(this.STEP == "${KccadrConstants.STEP2}" || this.STEP == "${KccadrConstants.STEP8}"){
return this.validStepCheckTwo(); return this.validStepCheckTwo();
}else if(this.STEP == "${KccadrConstants.STEP3}"){ }else if(this.STEP == "${KccadrConstants.STEP3}" || this.STEP == "${KccadrConstants.STEP9}"){
return this.validStepCheckThree(); return this.validStepCheckThree();
} }
}, },
validStepCheckZero : function(){ validStepCheckZero : function(){
if ($("#reqTy").val() == "") { if ($("#reqTy").val() == "") {
alert("조정신청 유형을 선택해주세요."); alert("조정신청 유형을 선택해주세요.!!!");
return false; return false;
} }
if ($("[name='rpplTy']:checked").length == 0) { if ($("[name='rpplTy']:checked").length == 0) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,6 @@ var AdjstReq = {
step1EventBind : function(){ step1EventBind : function(){
$("input[name$=rpplRelation]").on("change", function(e){ $("input[name$=rpplRelation]").on("change", function(e){
console.log("본인과의 관계 :: " , $(this).val());
if($(this).val() == '04'){ if($(this).val() == '04'){
$(this).closest("td").find("input[type=text]").prop("disabled" , false); $(this).closest("td").find("input[type=text]").prop("disabled" , false);
}else{ }else{
@ -138,7 +137,7 @@ var AdjstReq = {
}, },
fncGoNext : function(){ fncGoNext : function(){
var url = this.getStepUrl(this.getPageNumChange("P", 1)); var url = this.getStepUrl(this.getPageNumChange("P", 1));
this.fncGoPage(url); // this.fncGoPage(url);
}, },
fncGoRefresh : function(){ fncGoRefresh : function(){
var url = this.getStepUrl(this.STEP); var url = this.getStepUrl(this.STEP);
@ -243,7 +242,6 @@ var AdjstReq = {
// 신청유형 // 신청유형
data.reqTy = $("#reqTy").val(); data.reqTy = $("#reqTy").val();
console.log("saveData ::" , data);
var url = "/web/kccadr/adjst/adjstReqRegistStep1Save.do"; var url = "/web/kccadr/adjst/adjstReqRegistStep1Save.do";
if(mode == KccadrConstants.ADR_MODE_UPT){ if(mode == KccadrConstants.ADR_MODE_UPT){
url = "/web/kccadr/adjst/adjstReqRegistStep1Update.do"; url = "/web/kccadr/adjst/adjstReqRegistStep1Update.do";
@ -292,7 +290,6 @@ var AdjstReq = {
alert("피신청인 정보가 일치하지 않습니다. 관리자에게 문으해주세요."); alert("피신청인 정보가 일치하지 않습니다. 관리자에게 문으해주세요.");
return false; return false;
} }
console.log(saveList);
// 피신청인 리스트 // 피신청인 리스트
var data = { var data = {
adjstRpplList : saveList adjstRpplList : saveList
@ -525,7 +522,6 @@ var AdjstReq = {
if(agntWarp.length > 0){ if(agntWarp.length > 0){
// 대리인 유효성 검증 // 대리인 유효성 검증
var agentData = this.getAgenData(agntWarp); var agentData = this.getAgenData(agntWarp);
console.log("대리인 정보 :: " , agentData);
if(agentData.rpplNm == ''){ if(agentData.rpplNm == ''){
alert("대리인 이름을 입력해 주세요."); alert("대리인 이름을 입력해 주세요.");
@ -596,7 +592,6 @@ var AdjstReq = {
// 신청인 유효성 검증 // 신청인 유효성 검증
var reqPerson = this.getReqPersonData($("#reqPerson")); var reqPerson = this.getReqPersonData($("#reqPerson"));
console.log("신청인 정보 :: " , reqPerson);
if(reqPerson.rpplUsrTy == ''){ if(reqPerson.rpplUsrTy == ''){
alert("신청인분류를 선택해 주세요."); alert("신청인분류를 선택해 주세요.");
return false; return false;
@ -689,7 +684,6 @@ var AdjstReq = {
$.each($(".personWarp"), function(idx , obj){ $.each($(".personWarp"), function(idx , obj){
// 신청인 유효성 검증 // 신청인 유효성 검증
var resPerson = AdjstReq.getResPersonData($(this)); var resPerson = AdjstReq.getResPersonData($(this));
console.log("피신청인 정보 :: " , resPerson);
var idxNo = idx + 1; var idxNo = idx + 1;
if(resPerson.rpplUsrTy == ''){ if(resPerson.rpplUsrTy == ''){
@ -1022,7 +1016,6 @@ var AdjstReq = {
); );
}, },
openAnswerExamplePop : function(codeId){ openAnswerExamplePop : function(codeId){
console.log('codeId :: ', codeId);
commonPopLayeropen( commonPopLayeropen(
"/web/kccadr/adjst/popup/adjstReqOpenAnswerExamplePop.do" "/web/kccadr/adjst/popup/adjstReqOpenAnswerExamplePop.do"
, 1100 , 1100
@ -1046,8 +1039,6 @@ var AdjstReq = {
// 신청인정보 // 신청인정보
var reqInfYn = this.EDIT_DATA.reqInfYn; var reqInfYn = this.EDIT_DATA.reqInfYn;
console.log(this.EDIT_DATA);
console.log(this.EDIT_DATA.reqInfYn);
if(reqInfYn != "Y"){ if(reqInfYn != "Y"){
$("#reqPerson").find("input,select,button").prop("disabled", true); $("#reqPerson").find("input,select,button").prop("disabled", true);
} }