diff --git a/src/main/java/seed/com/gtm/base/BaseController.java b/src/main/java/seed/com/gtm/base/BaseController.java index c0e5bc68..a4dc7119 100644 --- a/src/main/java/seed/com/gtm/base/BaseController.java +++ b/src/main/java/seed/com/gtm/base/BaseController.java @@ -22,7 +22,6 @@ import org.jdom.output.XMLOutputter; import org.json.JSONObject; import org.json.XML; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -65,6 +64,7 @@ public class BaseController { session.removeAttribute("self"); } + ///gtm/case/nanum/ajax/SanctnhistoryIns.do @RequestMapping(value = "/gtm/case/{pageFolder}/{pageName}/{pageAction}.do") public ModelAndView getManagerPage(HttpServletRequest request, HttpSession session, Map map, @@ -175,6 +175,10 @@ public class BaseController { Nanum nanum = new Nanum(); params.put("nanumCall", nanum.NanumCall(params)); log.warn("nanumCall>>>>"+params.get("nanumCall")); + }else if("NANUM_GW".equals(type)){ + Nanum nanum = new Nanum(); + params.put("nanumCall", nanum.NanumCall(params)); + log.warn("nanumCall>>>>"+params.get("nanumCall")); }else if("FILE".equals(type)){ fileService.fileInsertEgov(params, request, session); }else if("TRS_EDIT".equals(type)){ @@ -657,4 +661,263 @@ public class BaseController { return "/_common/jsp/message"; } + @RequestMapping(value = "/gw/GwCallback.do") + public void GwCallback(HttpServletRequest request, + HttpServletResponse response, + HttpSession session, Map map){ + ModelAndView mav = new ModelAndView(); + EgovMap params; + //xml 생성 + Document doc = new Document(); + + Element ndata = new Element("ndata"); + Element status = new Element("status"); + Element code = new Element("code"); + + ndata.addContent(status); + ndata.addContent(code); + + JSONObject jsonObj = null; + StringBuilder html = new StringBuilder(); + + try{ + request.setCharacterEncoding("UTF-8"); + params = JSPUtil.makeRequestParams1(request, session, true); + //시큐어코딩 관련 파라미터는 삭제 + params.remove("SpringSecurityFiltersecurityinterceptorFilterapplied"); + params.remove("SpringSecuritySessionMgmtFilterApplied"); + params.remove("springSecurityContext"); + params.remove("SpringSecurityScpfApplied"); + params.remove("springSecuritySavedRequest"); + // + params.put("document", params.get("document").toString().replace("<", "<")); + params.put("document", params.get("document").toString().replace(">", ">")); + params.put("document", params.get("document").toString().replace(""", "\"")); + log.warn(">>>>>>>>params<<<<<<<<<"+params); + + log.warn(">>>request-gwDocID>>"+request.getParameter("gwDocID")); + log.warn(">>>request-userID>>"+request.getParameter("userID")); + log.warn(">>>request-document>>"+request.getParameter("document")); + jsonObj = XML.toJSONObject(params.get("document").toString()); + html = new StringBuilder(); + html.append(jsonObj); + + log.warn(">>>html.toString()>>>>>"+html.toString()); + + //그룹웨어 연계 callback insert + //그룹웨어에서 삭제,회수등등 번튼을 눌렀을때 null값임 + if(params.get("status") != null){ + params.put("sql", "nanumSanctnhistoryCallbackIns"); + bservice.insert(params); + } + + if("processed".equals(params.get("status"))){ + params.put("sql", "nanumSanctnhistorySel"); + params.put("data", JSPUtil.fixNull(bservice.select(params))); + EgovMap emap = new EgovMap(); + emap = (EgovMap) params.get("data"); + if("5301000000".equals(emap.get("codeNo")) || "5201000000".equals(emap.get("codeNo")) || + "5401000000".equals(emap.get("codeNo")) || "5501000000".equals(emap.get("codeNo")) || + "5601000000".equals(emap.get("codeNo")) || "5801000000".equals(emap.get("codeNo")) + ){ + //분쟁사건 처리관리 사건착수보고 + params.put("caseNo", emap.get("caseNo")); + params.put("statePro", "0402000000"); + params.put("sql", "nanumMasterUpdt1"); + bservice.update(params); + }else if("5211000000".equals(emap.get("codeNo")) || "5212000000".equals(emap.get("codeNo")) || + "5311000000".equals(emap.get("codeNo")) || "5312000000".equals(emap.get("codeNo")) || + "5411000000".equals(emap.get("codeNo")) || "5412000000".equals(emap.get("codeNo")) || + "5511000000".equals(emap.get("codeNo")) || "5512000000".equals(emap.get("codeNo")) || + "5611000000".equals(emap.get("codeNo")) || "5612000000".equals(emap.get("codeNo")) || + "5811000000".equals(emap.get("codeNo")) || "5812000000".equals(emap.get("codeNo")) + ){ + //분쟁사건 조정종료일 등록 (단 null일 경우만) + + params.put("caseNo", emap.get("caseNo")); + params.put("sql", "nanumMasterEndDtSelect"); + params.put("data2", JSPUtil.fixNull(bservice.select(params))); + EgovMap emap2 = new EgovMap(); + emap2 = (EgovMap) params.get("data2"); + + + SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd"); + Date caseDate = null;//사건접수일 + Date endDt = null;//조정 종료일 + int appReqTerm = 0;//사건 보완기간 + int currDay = 24 * 60 * 60 * 1000; + long pendencyPeriod = 0; + + if("5211000000".equals(emap.get("codeNo")) || "5311000000".equals(emap.get("codeNo")) || + "5411000000".equals(emap.get("codeNo")) || "5511000000".equals(emap.get("codeNo")) || + "5611000000".equals(emap.get("codeNo")) || "5811000000".equals(emap.get("codeNo")) + ){ + params.put("sql", "nanumMasterEndDt2"); + bservice.update(params); + } + + if(emap2.get("mediationEndDt") == null || SeedUtils.setReplaceNull(emap2.get("mediationEndDt")).equals("")){ + params.put("sql", "nanumMasterEndDt"); + bservice.update(params); + + //종료일자 등록 안되어 있으면 현재날짜로 구해 + endDt = fm.parse(fm.format(new Date())); + }else{ + //등록 되어있으면 등록되어 있는 잘짜로 + endDt = fm.parse(SeedUtils.setReplaceNull(emap2.get("mediationEndDt")).toString()); + } + + caseDate = fm.parse(SeedUtils.setReplaceNull(emap2.get("caseDate")).toString()); + if(SeedUtils.setReplaceNull(emap2.get("appReqTerm")) != ""){ + appReqTerm = Integer.parseInt(SeedUtils.setReplaceNull(emap2.get("appReqTerm")).toString()); + } + + pendencyPeriod = ((endDt.getTime() - caseDate.getTime()) / currDay) - appReqTerm +1; + params.put("pendencyPeriod", pendencyPeriod); + params.put("sql", "nanumMasterPendencyPeriodUp"); + bservice.update(params); + + + }else if("5223000000".equals(emap.get("codeNo")) || "5323000000".equals(emap.get("codeNo")) + || "5430000000".equals(emap.get("codeNo")) || "5523000000".equals(emap.get("codeNo")) + || "5623000000".equals(emap.get("codeNo")) || "5823000000".equals(emap.get("codeNo"))){ + //협의회관리 결과보고 + params.put("cfrncNo", emap.get("caseNo")); + params.put("statePro", "0503000000"); + params.put("sql", "nanumCfrncmanageResultUpdt"); + bservice.update(params); + + //심의 안건이 아닌경우(권고수락 제외) 사건처리쪽 종료사유 변경 + params.put("sql", "trublcfrncmngDlbrtmtrSel"); + params.put("data3", JSPUtil.fixNull(bservice.list(params))); + List emap3 = (List) params.get("data3"); + + for(int i = 0; i < emap3.size(); i++){ + + EgovMap emap4 = (EgovMap)emap3.get(i); + + if(!emap4.get("mediationSmallCode").equals("0616000000") && !emap4.get("mediationSmallCode").equals("0618000000")){ + params.put("mediationSmall", emap4.get("mediationSmallCode")); + params.put("mediationBig", emap4.get("mediationBigCode")); + params.put("caseNo", emap4.get("caseNo")); + + params.put("sql", "nanumMasterMediationResultUpdt"); + bservice.update(params); + }else if(emap4.get("mediationSmallCode").equals("0618000000")){ + //재심의일 경우 마스트테이블 재심의 여부 Y + params.put("caseNo", emap4.get("caseNo")); + params.put("sql", "nanumMasterReconsiderationUpdt"); + bservice.update(params); + } + } + + + /*params.put("sql", "nanumMasterResultUpdt"); + bservice.update(params);*/ + }else if("5214000000".equals(emap.get("codeNo")) || "5215000000".equals(emap.get("codeNo")) || "5216000000".equals(emap.get("codeNo")) || + "5217000000".equals(emap.get("codeNo")) || "5218000000".equals(emap.get("codeNo")) || "5219000000".equals(emap.get("codeNo")) || + "5314000000".equals(emap.get("codeNo")) || "5315000000".equals(emap.get("codeNo")) || "5316000000".equals(emap.get("codeNo")) || + "5317000000".equals(emap.get("codeNo")) || "5318000000".equals(emap.get("codeNo")) || "5319000000".equals(emap.get("codeNo")) || + "5414000000".equals(emap.get("codeNo")) || "5415000000".equals(emap.get("codeNo")) || "5416000000".equals(emap.get("codeNo")) || + "5417000000".equals(emap.get("codeNo")) || "5418000000".equals(emap.get("codeNo")) || "5419000000".equals(emap.get("codeNo")) || + "5420000000".equals(emap.get("codeNo")) || "5421000000".equals(emap.get("codeNo")) || "5422000000".equals(emap.get("codeNo")) || + "5423000000".equals(emap.get("codeNo")) || "5424000000".equals(emap.get("codeNo")) || "5425000000".equals(emap.get("codeNo")) || + "5426000000".equals(emap.get("codeNo")) || "5514000000".equals(emap.get("codeNo")) || "5515000000".equals(emap.get("codeNo")) || + "5516000000".equals(emap.get("codeNo")) || "5517000000".equals(emap.get("codeNo")) || "5518000000".equals(emap.get("codeNo")) || + "5519000000".equals(emap.get("codeNo")) || "5614000000".equals(emap.get("codeNo")) || "5615000000".equals(emap.get("codeNo")) || + "5616000000".equals(emap.get("codeNo")) || "5617000000".equals(emap.get("codeNo")) || "5618000000".equals(emap.get("codeNo")) || + "5619000000".equals(emap.get("codeNo")) || "5814000000".equals(emap.get("codeNo")) || "5815000000".equals(emap.get("codeNo")) || "5816000000".equals(emap.get("codeNo")) || + "5817000000".equals(emap.get("codeNo")) || "5818000000".equals(emap.get("codeNo")) || "5819000000".equals(emap.get("codeNo"))) + { + + params.put("caseNo", emap.get("caseNo")); + params.put("sql", "nanumMasterEndUpdt"); + bservice.update(params); + }else if("5204000000".equals(emap.get("codeNo")) || "5304000000".equals(emap.get("codeNo")) + || "5404000000".equals(emap.get("codeNo")) || "5504000000".equals(emap.get("codeNo")) + || "5604000000".equals(emap.get("codeNo")) || "5209000000".equals(emap.get("codeNo")) + || "5309000000".equals(emap.get("codeNo")) || "5409000000".equals(emap.get("codeNo")) + || "5509000000".equals(emap.get("codeNo")) || "5609000000".equals(emap.get("codeNo")) + || "5227000000".equals(emap.get("codeNo")) || "5327000000".equals(emap.get("codeNo")) + || "5434000000".equals(emap.get("codeNo")) || "5527000000".equals(emap.get("codeNo")) + || "5627000000".equals(emap.get("codeNo")) || "5804000000".equals(emap.get("codeNo")) + || "5809000000".equals(emap.get("codeNo")) || "5827000000".equals(emap.get("codeNo")) + ){ + + params.put("caseNo", emap.get("caseNo")); + params.put("fileReqTarget", "2601000000"); + params.put("memberId", "nanumCallBack"); + params.put("sql", "trublprocessmngDataRequest"); + bservice.insert(params); + + }else if("5205000000".equals(emap.get("codeNo")) || "5305000000".equals(emap.get("codeNo")) + || "5405000000".equals(emap.get("codeNo")) || "5505000000".equals(emap.get("codeNo")) + || "5605000000".equals(emap.get("codeNo")) || "5210000000".equals(emap.get("codeNo")) + || "5310000000".equals(emap.get("codeNo")) || "5410000000".equals(emap.get("codeNo")) + || "5510000000".equals(emap.get("codeNo")) || "5610000000".equals(emap.get("codeNo")) + || "5228000000".equals(emap.get("codeNo")) || "5328000000".equals(emap.get("codeNo")) + || "5435000000".equals(emap.get("codeNo")) || "5528000000".equals(emap.get("codeNo")) + || "5628000000".equals(emap.get("codeNo")) || "5805000000".equals(emap.get("codeNo")) + || "5810000000".equals(emap.get("codeNo")) || "5828000000".equals(emap.get("codeNo")) + ){ + + params.put("caseNo", emap.get("caseNo")); + params.put("fileReqTarget", "2602000000"); + params.put("memberId", "nanumCallBack"); + params.put("sql", "trublprocessmngDataRequest"); + bservice.insert(params); + }else if("5207000000".equals(emap.get("codeNo")) || "5208000000".equals(emap.get("codeNo")) + || "5307000000".equals(emap.get("codeNo")) || "5308000000".equals(emap.get("codeNo")) + || "5407000000".equals(emap.get("codeNo")) || "5408000000".equals(emap.get("codeNo")) + || "5507000000".equals(emap.get("codeNo")) || "5508000000".equals(emap.get("codeNo")) + || "5607000000".equals(emap.get("codeNo")) || "5608000000".equals(emap.get("codeNo")) + || "5807000000".equals(emap.get("codeNo")) || "5808000000".equals(emap.get("codeNo")) + ){ + + + params.put("caseNo", emap.get("caseNo")); + params.put("memberId", "nanumCallBack"); + params.put("sql", "trublprocessmngAtentRequest"); + bservice.insert(params); + } + }else if("returned".equals(params.get("status"))){ + params.put("sql", "nanumSanctnhistorySel"); + params.put("data", JSPUtil.fixNull(bservice.select(params))); + EgovMap emap = new EgovMap(); + emap = (EgovMap) params.get("data"); + + if(emap != null && emap.size() > 0){ + params.put("codeNo", emap.get("codeNo")); + params.put("caseNo", emap.get("caseNo")); + params.put("memberId", "nanumCallBack"); + params.put("sql", "nanumRetrunHisDel"); + bservice.delete(params); + } + } + + //나눔쪽에 success보내면 처리완료 + status.setText("Success"); + code.setText("0"); + }catch(Exception e){ + status.setText("Error"); + code.setText("1"); + e.printStackTrace(); + } + + doc.setRootElement(ndata); + + String document = ""; + //String으로 xml 출력 + XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8")) ; + document = outputter.outputString(doc); + log.warn("document??????????????????????>>>>>>>>>>>"+document); + try{ + PrintWriter out = response.getWriter(); + out.write(document); + out.flush(); + out.close(); + }catch(Exception e){ + + } + } } \ No newline at end of file diff --git a/src/main/java/seed/com/gtm/util/Nanum.java b/src/main/java/seed/com/gtm/util/Nanum.java index 443252d5..83179447 100644 --- a/src/main/java/seed/com/gtm/util/Nanum.java +++ b/src/main/java/seed/com/gtm/util/Nanum.java @@ -358,4 +358,41 @@ public class Nanum { return html; } + + public EgovMap NanumCall_GW(EgovMap params) throws Exception{ + + String content1 = URLDecoder.decode( (String) params.get("content1"), "UTF-8"); + String content2 = URLDecoder.decode( (String) params.get("content2"), "UTF-8"); + String content3 = URLDecoder.decode( (String) params.get("content3"), "UTF-8"); + String content4 = URLDecoder.decode( (String) params.get("content4"), "UTF-8"); + String content5 = URLDecoder.decode( (String) params.get("content5"), "UTF-8"); + String content6 = URLDecoder.decode( (String) params.get("content6"), "UTF-8"); + String content7 = URLDecoder.decode( (String) params.get("content7"), "UTF-8"); + String content8 = URLDecoder.decode( (String) params.get("content8"), "UTF-8"); + String content9 = URLDecoder.decode( (String) params.get("content9"), "UTF-8"); + String content10 = URLDecoder.decode( (String) params.get("content10"), "UTF-8"); + String content11 = URLDecoder.decode( (String) params.get("content11"), "UTF-8"); + String content12 = URLDecoder.decode( (String) params.get("content12"), "UTF-8"); + String content13 = URLDecoder.decode( (String) params.get("content13"), "UTF-8"); + String content14 = URLDecoder.decode( (String) params.get("content14"), "UTF-8"); + String content15 = URLDecoder.decode( (String) params.get("content15"), "UTF-8"); + + params.put("content1", content1); + params.put("content2", content2); + params.put("content3", content3); + params.put("content4", content4); + params.put("content5", content5); + params.put("content6", content6); + params.put("content7", content7); + params.put("content8", content8); + params.put("content9", content9); + params.put("content10", content10); + params.put("content11", content11); + params.put("content12", content12); + params.put("content13", content13); + params.put("content14", content14); + params.put("content15", content15); + + return params; + } } \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index dffde063..e1dc421f 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -222,6 +222,7 @@ oz.ozServerNm=http://119.193.215.98:8086 #\uadf8\ub8f9\uc6e8\uc5b4 \uc5f0\ub3d9 \uc8fc\uc18c gw.url=https://ovis.opco.co.kr +ngw.url=https://gw.kofair.or.kr #\ubcf8\uc778\uc778\uc99d \uc11c\ubc84\uc8fc\uc18c cert.retUrl=23http://119.193.215.98:8070 diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/nanum/nanum_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/nanum/nanum_sql.xml index 806ce6a0..d9562e69 100644 --- a/src/main/resources/egovframework/sqlmap/config/mappers/nanum/nanum_sql.xml +++ b/src/main/resources/egovframework/sqlmap/config/mappers/nanum/nanum_sql.xml @@ -951,6 +951,17 @@ WHERE CASE_NO = #{caseNo} AND CODE_NO = #{codeNo} + + + diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublprocessmng/rceptEdit.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublprocessmng/rceptEdit.jsp index 24834dcd..329875fd 100644 --- a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublprocessmng/rceptEdit.jsp +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/trublprocessmng/rceptEdit.jsp @@ -19,6 +19,7 @@ String ipAddress=request.getRemoteAddr(); <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +