From fa15b03d8ce571f9cfbab52b96c3d71bdf00ff56 Mon Sep 17 00:00:00 2001 From: hylee Date: Mon, 29 Aug 2022 19:31:36 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EC=B2=B4=ED=97=98=EA=B8=B0=EB=8A=A5=20STE?= =?UTF-8?q?P0=20=EC=99=84=EB=A3=8C=20-=20STEP1=20=EC=A7=84=ED=96=89?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adjstExp/service/AdjstExpService.java | 43 ++ .../adjstExp/service/impl/AdjstExpDAO.java | 71 +++ .../service/impl/AdjstExpServiceImpl.java | 311 ++++++++++ .../adjstExp/web/AdjstExpController.java | 279 +++++++++ .../java/kcc/kccadr/cmm/KccadrConstants.java | 12 + src/main/java/kcc/web/MainController.java | 5 +- .../mysql/sql-map-config-mysql-kccadrExp.xml | 7 + .../kccadr/adjstExp/AdjstExp_SQL_Mysql.xml | 424 +++++++++++++ .../adjstExp/adjstReqRegistInformation.jsp | 160 +++++ .../kccadr/adjstExp/adjstReqRegistStep1.jsp | 564 ++++++++++++++++++ .../kccadr/adjstExp/adjstReqRegistStep2.jsp | 564 ++++++++++++++++++ .../kccadr/adjstExp/adjstReqRegistStep3.jsp | 259 ++++++++ .../kccadr/kccadrCom/kccadrConstantsJsp.jsp | 35 +- src/main/webapp/js/page/adjstReq/adjstReq.js | 11 +- 14 files changed, 2726 insertions(+), 19 deletions(-) create mode 100644 src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java create mode 100644 src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java create mode 100644 src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java create mode 100644 src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java create mode 100644 src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadrExp.xml create mode 100644 src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml create mode 100644 src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep3.jsp diff --git a/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java b/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java new file mode 100644 index 00000000..f64b7e82 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjstExp/service/AdjstExpService.java @@ -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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.08.17  여현준          최초 생성
+ *
+ * 
+ */ +public interface AdjstExpService { + + + String checkAdjsReqEditStatus(AdjstReqVO adjstReq) throws Exception; + + // 조정사건 대리인/신청인/피신청인 정보 불러오기 + List 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; + +} diff --git a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java new file mode 100644 index 00000000..084e99a6 --- /dev/null +++ b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpDAO.java @@ -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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.08.17  여현준          최초 생성
+ *
+ * 
+ */ +@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 selectAdjsReqUserListByadjSeq(AdjstReqVO adjstReqVO) throws Exception{ + return (List) 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); + } + +} diff --git a/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java new file mode 100644 index 00000000..0e2c2caf --- /dev/null +++ b/src/main/java/kcc/kccadr/adjstExp/service/impl/AdjstExpServiceImpl.java @@ -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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.08.03  여현준          최초 생성
+ *
+ * 
+ */ +@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 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 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); + } + +} diff --git a/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java b/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java new file mode 100644 index 00000000..0f3abdfa --- /dev/null +++ b/src/main/java/kcc/kccadr/adjstExp/web/AdjstExpController.java @@ -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 + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.08.17  여현준          최초 생성
+ *
+ * 
+ */ +@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 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 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 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); + } + +} diff --git a/src/main/java/kcc/kccadr/cmm/KccadrConstants.java b/src/main/java/kcc/kccadr/cmm/KccadrConstants.java index a06b5064..9958c023 100644 --- a/src/main/java/kcc/kccadr/cmm/KccadrConstants.java +++ b/src/main/java/kcc/kccadr/cmm/KccadrConstants.java @@ -13,6 +13,18 @@ public class KccadrConstants { public static final String STEP2 = "STEP2"; 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 = "이미 제출완료한 조정신청건 입니다."; diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index ca8f2b7b..8322892d 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -454,7 +454,7 @@ public class MainController { //로그인 권한정보 불러오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); - + System.out.println(" ++ userAuthority : "+ userAuthority); //권한별 메뉴표시 if(!userAuthority.equals("ROLE_ADMIN") && !userAuthority.equals("ROLE_ADR_ADMIN") @@ -466,6 +466,8 @@ public class MainController { else { menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); } + + System.out.println(" ++ menuManageVO.getAuthorCode() : "+ menuManageVO.getAuthorCode()); //대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌 model.addAttribute("auth", menuManageVO.getAuthorCode()); @@ -491,6 +493,7 @@ public class MainController { menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setMenuNo("0"); + model.addAttribute("menuResultList", menuResultList); model.addAttribute("underMenuExist", underMenuExist); model.addAttribute("underMenuEmpty", underMenuEmpty); diff --git a/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadrExp.xml b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadrExp.xml new file mode 100644 index 00000000..3e83a07d --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-kccadrExp.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml new file mode 100644 index 00000000..7e9aaa98 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/kccadr/adjstExp/AdjstExp_SQL_Mysql.xml @@ -0,0 +1,424 @@ + + + + + + + + + + + + + + + + + + + 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 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# + ) + + + + 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# + + + + + 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 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# + ) + + + + + + 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# + + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp new file mode 100644 index 00000000..ae2f2b39 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistInformation.jsp @@ -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"); +%> + +<%-- <%@ include file="/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp" %> --%> +<%-- --%> + + + + + +xxx 등록 + +<%-- <%@ include file="/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp" %> --%> +<%-- <%-- --%> --%> + + + +
+ +
+
+
+

조정신청 체험하기

+
+ + + +
+
+
+
    +
  • +

    시스템 이용을 위해 필요한 사항 : 신청 수수료 결제를 위한 인터넷뱅킹 가능 결제계좌

    +
  • +
  • +

    외국인 신청불가 : 온라인 조정 신청 시에는 인증절차와 관련하여 외국인이 신청인이나 확인자가 될 수 없습니다. 따라서 외국인이 조정을 신청하려 하거나, 확인자가 될 경우에는 조정감정팀을 + 직접 내방하거나 우편의 방법으로 신청하여야 합니다.

    +
  • +
  • +

    대리인 신청가능 : 권리자 또는 침해자의 대리인 자격으로 온라인 조정신청을 할 수 있습니다.

    +
  • +
+

주의사항 : 분쟁조정신청 작성이 오래 걸릴 경우 신청 중 오류가 발생할 수 있습니다. 신청 취지/원인을 미리 작성한 후 신청하시기 바랍니다.(STEP3 + 신청취지/원인 예문보기)

+
+
+ + +
+
+ +

1. 귀하께서는 사건의 권리자이십니까?

+ +
    +
  • + +
  • +
  • + +
  • + +
+
+
+ +

2. 조정의 당사자 본인이신가요?

+
    +
  • + +
  • +
  • + +
  • +
+
+
+ +
+ <%-- + + + + + + + --%> + +
+ +
+
+ + +
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp new file mode 100644 index 00000000..79a43bf3 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep1.jsp @@ -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" %> + + + + +신청인 정보 등록 + + + +<%-- --%> + + + +<%-- 이전신청 불러오기 팝업 레이아웃 --%> +
+ + + + + + +
+
+
+

조정신청 체험하기

+
+ + + + +
+ + +
+

대리인 정보

+ <%--* 필수입력 항목--%> + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
대리인 정보 : 대리인 이름, 본인과의 관계, 소속, 직책, 주소, 이메일, 연락처, 우편물수령지등 정보입력
+

필수입력 항목*

+

대리인 이름

+
+ + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + +
+

필수입력 항목*

+

본인과의 관계

+
+
+ + + + + +
+
+

소속

+
+ + +
+

직책

+
+ + +
+

필수입력 항목*

+

주소

+
+ + + + +
+ + + + +
+ + +
+

필수입력 항목*

+

이메일

+
+ <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + + + @ + + + + +
+

필수입력 항목*

+

연락처

+
+ <%----%> + + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + + + + + <%----%> + + - + + - + +
+

필수입력 항목*

+

우편물 수령지

+
+ + + +
+ + + + +
+
+
+
+ +
+ + +
+

신청인 정보

+ +
+ +
+
+ <%--* 필수입력 항목--%> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --%> + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
신청인 정보 : 신청인 분류, 신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등의 정보 입력
+

필수입력 항목*

+

신청인 분류

+
+
+ +
+
+

필수입력 항목*

+

신청인 이름

+
+ + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + +
+

필수입력 항목*

+

대표자

+
+ + <%-- --%> + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + +
+

필수입력 항목*

+

법인/사업체명

+
+ <%-- + + + + + + + --%> + + <%-- --%> + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + +
+

필수입력 항목*

+

법인등록번호

+
+ + <%-- --%> + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + +
+

필수입력 항목*

+

이름

+
+ + <%-- --%> + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + +
+

필수입력 항목*

+

사업자 등록번호

+
+ + <%--
+

필수입력 항목*

+

주소

+
+ + + +
+ + + + +
+ + +
+

필수입력 항목*

+

이메일

+
+ + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + + + @ + + + + + +
+

필수입력 항목*

+

연락처

+
+ <%----%> + + <%-- 등록화면 SSO정보 연동 처리 --%> + + + + + + + + + + + + + <%----%> + - + + + - + + + +
+

필수입력 항목*

+

이메일 수신여부

+
+
+ + +
+
+

필수입력 항목*

+

SMS 수신여부

+
+
+ + +
+
+

필수입력 항목*

+

우편물 수령지

+
+ + + +
+ + + + +
+
+
+
+
+
+ + +
+ + + + + +<%-- --%> + + + +
+ +
+
+ +
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp new file mode 100644 index 00000000..5d1ea221 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep2.jsp @@ -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" %> + + + + + +피신청인 등록 + + +<%-- --%> + + + + + + + +
+
+
+

조정신청

+
+ + + +
+ +
+ +
+ + +
+

피신청인1 정보

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
피신청인 정보1 : 피신청인 분류, 피신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등 정보입력
+

필수입력 항목*

+

피신청인 분류

+
+
+ + +
+ +
+

필수입력 항목*

+

피신청인 이름

+
+ + + +
+

필수입력 항목*

+

주소

+
+ + + +
+ + + + +
+ + +
+

필수입력 항목*

+

이메일

+
+ + @ + + + + + + +
+

필수입력 항목*

+

연락처

+
+ + + + - + + - + +
+

필수입력 항목*

+

이메일 수신여부

+
+
+ + +
+
+

필수입력 항목*

+

SMS 수신여부

+
+
+ + +
+
+

필수입력 항목*

+

우편물 수령지

+
+ + + +
+ + + + +
+
+
+
+ + + + + + + +
+ +
+
+
+ + + +
+

피신청인${status.index+1} 정보

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
피신청인${status.index+1} 정보 : 피신청인 분류, 피신청인 이름, 주소, 이메일, 연락처, 이메일 수신여부, SMS 수신여부, 우편물 수령지등 정보입력
+

필수입력 항목*

+

피신청인 분류

+
+
+ + +
+
+

필수입력 항목*

+

피신청인 이름

+
+ + + +
+

필수입력 항목*

+

피신청인 대표자

+
+ + + +
+

필수입력 항목*

+

피신청인 법인/사업체명

+
+ + +
+

피신청인 법인등록번호

+
+ + +
+

필수입력 항목*

+

피신청인 이름

+
+ + + +
+

필수입력 항목*

+

피신청인 사업자 등록번호

+
+ + +
+

필수입력 항목*

+

주소

+
+ + + +
+ + + + +
+ + +
+

필수입력 항목*

+

이메일

+
+ + + @ + + + + + +
+

필수입력 항목*

+

연락처

+
+ <%----%> + + + + + + <%----%> + - + + - + +
+

필수입력 항목*

+

이메일 수신여부

+
+
+ + + + +
+
+

필수입력 항목*

+

SMS 수신여부

+
+
+ + + + +
+
+

필수입력 항목*

+

우편물 수령지

+
+ + + +
+ + + + +
+
+
+
+
+
+ +
+
+ + +
+ + +
+
+ +
+<%-- --%> + +
+
+
+
+ +
+
+ +
+ + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep3.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep3.jsp new file mode 100644 index 00000000..dedc60ab --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/adjstExp/adjstReqRegistStep3.jsp @@ -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" %> + + + + + +신청취지/원인 등록 + + +<%-- --%> + + + + + + + + + + + +
+
+
+

조정신청

+
+ +
+
+

신청인 취지/원인

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
신청인 취지/원인 정보 : 저작물 종류, 신청취지, 신청원인, 첨부파일등의 정보입력
+

필수입력 항목*

+

저작물종류

+
+ + +
+

필수입력 항목*

+

신청취지

+ +
+ + +
+

필수입력 항목*

+

신청원인

+ +
+ + +
+

필수입력 항목*

+

첨부파일

+
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+

첨부하실 파일을 마우스로 끌어서 넣어주세요.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
첨부파일 리스트 : 파일명, 종류, 크기, 삭제
파일 명종류크기삭제
+ 파일 + + + ">. + + "> + + +
+
+
+
+ +
+
+
+ + +<%-- --%> + + + + + + + + + +
+
+ +
+
+ +
+ + diff --git a/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp b/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp index 71a01d2c..58bbbe62 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kccadr/kccadrCom/kccadrConstantsJsp.jsp @@ -24,11 +24,11 @@ var AdjstReq = { stepPrcessChange : function(){ var obj = $("#step_wrap"); 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"); - }else if(this.STEP == "${KccadrConstants.STEP2}"){ + }else if(this.STEP == "${KccadrConstants.STEP2}" || this.STEP == "${KccadrConstants.STEP8}"){ 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"); } }, @@ -146,6 +146,7 @@ var AdjstReq = { getPageNumChange : function(type, divNum){ var pageNum = parseInt(this.STEP.replace(/[^0-9]/gi,'')); + console.log('type : ',type + ', pageNum : ',pageNum+', divNum : ',divNum); if(type == "M"){ pageNum = pageNum - divNum; }else{ @@ -154,6 +155,7 @@ var AdjstReq = { return this.getStepName(pageNum); }, getStepUrl : function(step){ + console.log('step : ', step); var url = ""; switch (step) { case "STEP0" : @@ -168,6 +170,19 @@ var AdjstReq = { case "STEP3" : url = "/web/kccadr/adjst/adjstReqRegistStep3.do"; 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; }, @@ -177,6 +192,10 @@ var AdjstReq = { case 1 : return "${KccadrConstants.STEP1}"; case 2 : return "${KccadrConstants.STEP2}"; 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 ""; }, @@ -192,19 +211,19 @@ var AdjstReq = { this.fncGoNext(); }, validStep : function(step){ - if(this.STEP == "${KccadrConstants.STEP0}"){ + if(this.STEP == "${KccadrConstants.STEP0}" || this.STEP == "${KccadrConstants.STEP6}"){ return this.validStepCheckZero(); - }else if(this.STEP == "${KccadrConstants.STEP1}"){ + }else if(this.STEP == "${KccadrConstants.STEP1}" || this.STEP == "${KccadrConstants.STEP7}"){ return this.validStepCheckOne(); - }else if(this.STEP == "${KccadrConstants.STEP2}"){ + }else if(this.STEP == "${KccadrConstants.STEP2}" || this.STEP == "${KccadrConstants.STEP8}"){ return this.validStepCheckTwo(); - }else if(this.STEP == "${KccadrConstants.STEP3}"){ + }else if(this.STEP == "${KccadrConstants.STEP3}" || this.STEP == "${KccadrConstants.STEP9}"){ return this.validStepCheckThree(); } }, validStepCheckZero : function(){ if ($("#reqTy").val() == "") { - alert("조정신청 유형을 선택해주세요."); + alert("조정신청 유형을 선택해주세요.!!!"); return false; } if ($("[name='rpplTy']:checked").length == 0) { diff --git a/src/main/webapp/js/page/adjstReq/adjstReq.js b/src/main/webapp/js/page/adjstReq/adjstReq.js index c3d57403..b3b911c3 100644 --- a/src/main/webapp/js/page/adjstReq/adjstReq.js +++ b/src/main/webapp/js/page/adjstReq/adjstReq.js @@ -36,7 +36,6 @@ var AdjstReq = { step1EventBind : function(){ $("input[name$=rpplRelation]").on("change", function(e){ - console.log("본인과의 관계 :: " , $(this).val()); if($(this).val() == '04'){ $(this).closest("td").find("input[type=text]").prop("disabled" , false); }else{ @@ -138,7 +137,7 @@ var AdjstReq = { }, fncGoNext : function(){ var url = this.getStepUrl(this.getPageNumChange("P", 1)); - this.fncGoPage(url); +// this.fncGoPage(url); }, fncGoRefresh : function(){ var url = this.getStepUrl(this.STEP); @@ -243,7 +242,6 @@ var AdjstReq = { // 신청유형 data.reqTy = $("#reqTy").val(); - console.log("saveData ::" , data); var url = "/web/kccadr/adjst/adjstReqRegistStep1Save.do"; if(mode == KccadrConstants.ADR_MODE_UPT){ url = "/web/kccadr/adjst/adjstReqRegistStep1Update.do"; @@ -292,7 +290,6 @@ var AdjstReq = { alert("피신청인 정보가 일치하지 않습니다. 관리자에게 문으해주세요."); return false; } - console.log(saveList); // 피신청인 리스트 var data = { adjstRpplList : saveList @@ -525,7 +522,6 @@ var AdjstReq = { if(agntWarp.length > 0){ // 대리인 유효성 검증 var agentData = this.getAgenData(agntWarp); - console.log("대리인 정보 :: " , agentData); if(agentData.rpplNm == ''){ alert("대리인 이름을 입력해 주세요."); @@ -596,7 +592,6 @@ var AdjstReq = { // 신청인 유효성 검증 var reqPerson = this.getReqPersonData($("#reqPerson")); - console.log("신청인 정보 :: " , reqPerson); if(reqPerson.rpplUsrTy == ''){ alert("신청인분류를 선택해 주세요."); return false; @@ -689,7 +684,6 @@ var AdjstReq = { $.each($(".personWarp"), function(idx , obj){ // 신청인 유효성 검증 var resPerson = AdjstReq.getResPersonData($(this)); - console.log("피신청인 정보 :: " , resPerson); var idxNo = idx + 1; if(resPerson.rpplUsrTy == ''){ @@ -1022,7 +1016,6 @@ var AdjstReq = { ); }, openAnswerExamplePop : function(codeId){ - console.log('codeId :: ', codeId); commonPopLayeropen( "/web/kccadr/adjst/popup/adjstReqOpenAnswerExamplePop.do" , 1100 @@ -1046,8 +1039,6 @@ var AdjstReq = { // 신청인정보 var reqInfYn = this.EDIT_DATA.reqInfYn; - console.log(this.EDIT_DATA); - console.log(this.EDIT_DATA.reqInfYn); if(reqInfYn != "Y"){ $("#reqPerson").find("input,select,button").prop("disabled", true); }