diff --git a/list.txt b/list.txt index f617ac19..aa1ed78c 100644 --- a/list.txt +++ b/list.txt @@ -1,2 +1,13 @@ #src\main\resources\egovframework\egovProps\globals.properties -src\main\webapp\WEB-INF\views\body\join\join.jsp \ No newline at end of file +src\main\webapp\WEB-INF\views\visitEducationApplication\inquiry\visitEducationApplicationInquiry.jsp +src\main\webapp\com\css\common.v2.0.css +src\main\webapp\com\img\visitEducationApplication\chevron.svg +src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Light.woff +src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Light.woff2 +#'입력중인프로젝트 현황'에서 '검수등록대기 목록'으로 이동 기능 추가 +src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp +src\main\java\geoinfo\regi\listReg\ListRegController.java +src\main\java\geoinfo\regi\listReg\service\ListRegService.java +src\main\java\geoinfo\regi\listReg\service\impl\ListRegServiceImpl.java +src\main\java\geoinfo\regi\listReg\service\ListRegMapper.java +src\main\resources\egovframework\sqlmap\mapper\regi\listReg.xml \ No newline at end of file diff --git a/src/main/java/geoinfo/main/join/JoinController.java b/src/main/java/geoinfo/main/join/JoinController.java index ebf74dfb..2b6ea587 100644 --- a/src/main/java/geoinfo/main/join/JoinController.java +++ b/src/main/java/geoinfo/main/join/JoinController.java @@ -279,28 +279,28 @@ public ModelAndView join_post(MultipartRequest multi, Map map,Ht } catch (IndexOutOfBoundsException ex) { log.debug("error", ex); - mv.addObject("msg", "잘못된 접근입니다."); + mv.addObject("msg", "잘못된 접근입니다. code: 1"); mv.setViewName("redirect:topMenuSelect.do?url=join"); } catch (NumberFormatException ex) { log.debug("error", ex); - mv.addObject("msg", "잘못된 접근입니다."); + mv.addObject("msg", "잘못된 접근입니다. code: 2"); mv.setViewName("redirect:topMenuSelect.do?url=join"); } catch (IOException ex) { log.debug("error", ex); - mv.addObject("msg", "잘못된 접근입니다."); + mv.addObject("msg", "잘못된 접근입니다. code: 3"); mv.setViewName("redirect:topMenuSelect.do?url=join"); } catch(Exception ex){ log.info("JoinController 회원 가입 폼 전송 잘못된 접근"); - mv.addObject("msg", "잘못된 접근입니다."); + mv.addObject("msg", "잘못된 접근입니다. code: 4"); mv.setViewName("redirect:topMenuSelect.do?url=join"); } if(!nameTx1.equals(name)) { log.info("JoinController 회원 가입 폼 전송 이름 값 변조(잘못된 접근)"); - rda.addFlashAttribute("msg","잘못된 접근입니다."); + rda.addFlashAttribute("msg","잘못된 접근입니다. code: 5"); mv.setViewName("redirect:topMenuSelect.do?url=join"); return mv; } diff --git a/src/main/java/geoinfo/main/login/LoginController.java b/src/main/java/geoinfo/main/login/LoginController.java index f93c977c..7dfc9306 100644 --- a/src/main/java/geoinfo/main/login/LoginController.java +++ b/src/main/java/geoinfo/main/login/LoginController.java @@ -2675,19 +2675,19 @@ public class LoginController { } } catch(FileNotFoundException ex){ - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 1"); mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch"); return mv; } catch(IndexOutOfBoundsException ex){ - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "휴대폰 인증이 필요합니다."); mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch"); return mv; } catch(NumberFormatException ex){ - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 3"); mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch"); return mv; } catch(Exception ex){ - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 4"); mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch"); return mv; } diff --git a/src/main/java/geoinfo/regi/listReg/ListRegController.java b/src/main/java/geoinfo/regi/listReg/ListRegController.java index 5a066650..f3d3cc06 100644 --- a/src/main/java/geoinfo/regi/listReg/ListRegController.java +++ b/src/main/java/geoinfo/regi/listReg/ListRegController.java @@ -1,6 +1,7 @@ package geoinfo.regi.listReg; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import javax.annotation.Resource; @@ -8,15 +9,20 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.codehaus.jackson.map.ObjectMapper; +import org.json.simple.JSONArray; +import org.json.simple.parser.JSONParser; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; +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.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; import geoinfo.regi.listReg.service.ListRegService; import geoinfo.regi.manageList.service.ManageListService; import geoinfo.regi.status.service.RegiPageService; +import geoinfo.util.MyUtil; import ictway.comm.util.parseData; import ictway.comm.util.strUtil; import ictway.comm.web.WebUtil; @@ -76,5 +82,112 @@ public class ListRegController { response.getWriter().print(json); }; + /** + * '입력중인프로젝트 현황'에서 '검수등록대기 목록'으로 이동 기능 추가 + * @param request + * @param strJSON + * @param response + * @return + */ + @RequestMapping(value = "list_reg/move-to-manage-wait.do", method = RequestMethod.POST) + @ResponseBody + public org.json.simple.JSONObject moveToManageWait ( + HttpServletRequest request, + @RequestBody String strJSON, + HttpServletResponse response) { + + + org.json.simple.JSONObject jsonResponse = new org.json.simple.JSONObject(); + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " IN:" + + "\n--------------------------------------------------------------\n" + + "strJSON" + strJSON + "\n" + + "\n--------------------------------------------------------------\n" + ); + + JSONParser jsonParser = new JSONParser(); + JSONArray jsonArr = null; + boolean isFail = false; + String failMsg = ""; + + + try { + jsonArr = (JSONArray)jsonParser.parse(strJSON); + for (Object obj : jsonArr) { + org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject) obj; + + // JSONObject를 HashMap으로 변환 + HashMap params = new HashMap<>(); + for (Object key : jsonObject.keySet()) { + String keyStr = (String) key; + Object value = jsonObject.get(keyStr); + params.put(keyStr, value); + } + + try { + HashMap hashMap = masterService.moveToManageWait(request, response, params); + int nRetCode = 100; + String lpszRetMsg = "No message."; + + if( nRetCode == 100 ) { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "true"); + jsonResponse.put("message", ""); + } else { + jsonResponse.put("resultCode", nRetCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", lpszRetMsg); + + isFail = true; + failMsg = lpszRetMsg; + break; + } + + } catch (Exception e) { + // TODO Auto-generated catch block + String strTxt = + "---------- BUG REPORTING START ----------" + "\n" + + "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" + + "strJSON:[\n" + strJSON + "\n]\n" + + "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" + + "new Date().toString():[" + new Date().toString() + "]\n" + "\n" + + "---------- BUG REPORTING END ----------" + "\n" + + ""; + System.out.println(strTxt); + int resultCode = -1; + + if( e.getMessage().equals("로그인이 필요한 서비스 입니다.") ) { + resultCode = 401; + } + jsonResponse.put("resultCode", resultCode); + jsonResponse.put("result", "false"); + jsonResponse.put("message", e.getMessage()); + } + } + + } catch (org.json.simple.parser.ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if( isFail ) { + jsonResponse.put("resultCode", -2); + jsonResponse.put("result", "false"); + jsonResponse.put("message", failMsg); + } + + System.out.println( + "\n--------------------------------------------------------------\n" + + request.getRequestURI() + " OUT:" + + "\n--------------------------------------------------------------\n" + + "jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" + + "\n--------------------------------------------------------------\n" + ); + + return jsonResponse; + } + } diff --git a/src/main/java/geoinfo/regi/listReg/service/ListRegMapper.java b/src/main/java/geoinfo/regi/listReg/service/ListRegMapper.java index 6c37dabd..4cc30b72 100644 --- a/src/main/java/geoinfo/regi/listReg/service/ListRegMapper.java +++ b/src/main/java/geoinfo/regi/listReg/service/ListRegMapper.java @@ -1,5 +1,6 @@ package geoinfo.regi.listReg.service; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -10,6 +11,7 @@ import egovframework.rte.psl.dataaccess.util.EgovMap; @Mapper("listRegMapper") public interface ListRegMapper { - public ArrayList getRegList(HashMap params) throws Exception; + public ArrayList getRegList(HashMap params) throws Exception; + public void callSpChangeStateTempProject(HashMap params) throws SQLException; } diff --git a/src/main/java/geoinfo/regi/listReg/service/ListRegService.java b/src/main/java/geoinfo/regi/listReg/service/ListRegService.java index 35a7c3bf..61abbf50 100644 --- a/src/main/java/geoinfo/regi/listReg/service/ListRegService.java +++ b/src/main/java/geoinfo/regi/listReg/service/ListRegService.java @@ -4,10 +4,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + import egovframework.rte.psl.dataaccess.util.EgovMap; public interface ListRegService { public ArrayList getRegList(HashMap params) throws Exception; + public HashMap moveToManageWait(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception; } diff --git a/src/main/java/geoinfo/regi/listReg/service/impl/ListRegServiceImpl.java b/src/main/java/geoinfo/regi/listReg/service/impl/ListRegServiceImpl.java index 93322090..f6d68262 100644 --- a/src/main/java/geoinfo/regi/listReg/service/impl/ListRegServiceImpl.java +++ b/src/main/java/geoinfo/regi/listReg/service/impl/ListRegServiceImpl.java @@ -2,11 +2,15 @@ package geoinfo.regi.listReg.service.impl; import geoinfo.regi.listReg.service.ListRegMapper; import geoinfo.regi.listReg.service.ListRegService; +import geoinfo.util.MyUtil; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Service; @@ -21,4 +25,36 @@ public class ListRegServiceImpl implements ListRegService { return listRegMapper.getRegList(params); } + + private boolean isValidMoveToManageWait(HashMap params) throws Exception { + + String projectCode = MyUtil.getStringFromObject( params.get("projectCode") ); + if( projectCode == null || projectCode.isEmpty()) { + throw new Exception( "프로젝트코드가 존재하지 않습니다." ); + } + + return true; + } + + @Override + public HashMap moveToManageWait(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { + + if(request.getSession().getAttribute("USERNAME") == null){ + throw new Exception( "로그인이 필요한 서비스 입니다." ); + } + + params.put("state", 1); + String userId = (String)request.getSession().getAttribute("USERID"); + params.put("userId", userId); + + isValidMoveToManageWait(params); + + try { + listRegMapper.callSpChangeStateTempProject(params); + return params; + } catch (SQLException e) { + throw new Exception( e.getMessage() ); + } + + } } diff --git a/src/main/resources/egovframework/sqlmap/mapper/regi/listReg.xml b/src/main/resources/egovframework/sqlmap/mapper/regi/listReg.xml index 63bfac7a..6632c265 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/regi/listReg.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/regi/listReg.xml @@ -31,5 +31,25 @@ ORDER BY F.PROJECT_CODE DESC + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/body/account/pwsearch.jsp b/src/main/webapp/WEB-INF/views/body/account/pwsearch.jsp index df5b09cd..b7abdbe5 100644 --- a/src/main/webapp/WEB-INF/views/body/account/pwsearch.jsp +++ b/src/main/webapp/WEB-INF/views/body/account/pwsearch.jsp @@ -212,6 +212,9 @@ alert('재직증명서를 첨부해주시기 바랍니다.\n\n감사 합니다'); }else if ( imageExt != ".png" && imageExt != ".jpg") { alert('재직증명서를 확장를 jpg 혹은 png로 첨부해주시기 바랍니다.\n\n감사 합니다'); + }else if(document.getElementById("hdnCertNum2").value == "" || document.getElementById("hdnCertification2").value == ""){ + alert("비밀번호 초기화 신청을 하시려면 휴대폰 인증을 하셔야 합니다."); + return; }else{ result = true; } diff --git a/src/main/webapp/WEB-INF/views/home/index.jsp b/src/main/webapp/WEB-INF/views/home/index.jsp index 69e201be..71913346 100644 --- a/src/main/webapp/WEB-INF/views/home/index.jsp +++ b/src/main/webapp/WEB-INF/views/home/index.jsp @@ -330,7 +330,7 @@ - +
  • 건설 시추정보 DB 사용자 방문교육 신청 안내 diff --git a/src/main/webapp/WEB-INF/views/visitEducationApplication/inquiry/visitEducationApplicationInquiry.jsp b/src/main/webapp/WEB-INF/views/visitEducationApplication/inquiry/visitEducationApplicationInquiry.jsp index da9c2425..074c1808 100644 --- a/src/main/webapp/WEB-INF/views/visitEducationApplication/inquiry/visitEducationApplicationInquiry.jsp +++ b/src/main/webapp/WEB-INF/views/visitEducationApplication/inquiry/visitEducationApplicationInquiry.jsp @@ -2,78 +2,330 @@ <%@ page language="java" import="Kisinfo.Check.IPINClient" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +
    -
    - 개발 예시 이지 -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    제목, 내용, 첨부파일
    희망교육 내용 * - -
    기타사항(신청경로) - -
    1차 희망일 * - - - 2차 희망일 - - - 3차 희망일 - - -
    -
    - - - -
    -
    -
    - - +
    +
    +
    +
    +
    +
    + 2024.08 +
    + +
    + +
    +
    + +
    + +
    +
    +
    + Chevron-prev +
    +
    +
    +
    + Chevron-next +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
    +
    + +

    참석인원이 20명 이상, 교육장소 및 전산장비가 확보되어야 신청할 + 수 있습니다.

    + +
    + +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + +
    + + +
    +
    +
    + + + + + + + + + + + + +
    제목, 내용, 첨부파일
    희망교육 내용 * + +
    +
    + +
    +
    +
    + + +
    +
    -
    -
    - + +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp b/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp index 99c5b88c..66f25ea6 100644 --- a/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp +++ b/src/main/webapp/WEB-INF/views/web/manage/list_reg.jsp @@ -8,6 +8,14 @@