From 837c0fba339f6ac99aed98b5dd57e5315ffc38a5 Mon Sep 17 00:00:00 2001 From: LJH Date: Tue, 11 Oct 2022 09:39:39 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A4=80=ED=98=B8=20=EC=A0=84?= =?UTF-8?q?=EC=9E=90=EC=A1=B0=EC=A0=95=EC=8B=9C=EC=8A=A4=ED=85=9C=20?= =?UTF-8?q?=EA=B3=A0=EB=8F=84=ED=99=94=20=EC=BB=A4=EB=B0=8B=20=20-=20sms?= =?UTF-8?q?=EB=A9=94=EC=84=B8=EC=A7=80=20=EB=B0=9C=EC=86=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adjPgrMgr/apm/web/ApmController.java | 183 +++++++++++------- .../kccadr/adjreqmgr/service/AdjReqMgrVO.java | 30 ++- .../adjreqmgr/service/impl/AdjReqMgrDAO.java | 10 + .../kccadr/cmm/service/impl/SMSOracleDAO.java | 10 +- .../service/impl/SMSOracleServiceImpl.java | 80 ++++---- .../kccadr/msg/service/impl/MsgMgrDAO.java | 6 + .../sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml | 49 +++++ .../kccadr/adjReqMgr/AdjReqMgr_SQL_Mysql.xml | 52 +++++ .../sqlmap/kccadr/msg/Msg_SQL_Mysql.xml | 28 +++ .../jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp | 6 +- .../kccadr/adjPgrMgr/apm/popup/smsSendPop.jsp | 100 ++++++---- 11 files changed, 396 insertions(+), 158 deletions(-) diff --git a/src/main/java/kcc/kccadr/adjPgrMgr/apm/web/ApmController.java b/src/main/java/kcc/kccadr/adjPgrMgr/apm/web/ApmController.java index 4c1836a1..23719608 100644 --- a/src/main/java/kcc/kccadr/adjPgrMgr/apm/web/ApmController.java +++ b/src/main/java/kcc/kccadr/adjPgrMgr/apm/web/ApmController.java @@ -76,6 +76,7 @@ import kcc.kccadr.adjst.service.AdjstReqVO; import kcc.kccadr.advc.service.AdrHstryMgrService; import kcc.kccadr.advc.service.AdrHstryMgrVO; import kcc.kccadr.cmm.KccadrConstants; +import kcc.kccadr.cmm.service.SMSOracleService; import kcc.kccadr.kccadrCom.service.KccadrCommonSearchVO; import kcc.kccadr.kccadrCom.service.KccadrCommonService; import kcc.kccadr.kccadrCom.service.KccadrCommonVO; @@ -207,6 +208,10 @@ public class ApmController { @Value("#{globalSettings['Globals.prod.islocal']}") public void setIslocal(String path) { islocal = path; } + // SMS 문자발송 서비스 + @Resource(name = "SMSOracleService") + private SMSOracleService sMSOracleService; + /** * 조정진행목록 목록 * @@ -841,83 +846,113 @@ public class ApmController { - /** - * 사건메모 팝업 상세 - * - * @param apmVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping(value = "popup/adrMemo.do") - public String adrMemo(@ModelAttribute("apmVO") ApmVO apmVO, ModelMap model) throws Exception { - - //이미 있는메모 정보가져오는 쿼리작성(adr_mgr_master > adr_cn 컬럼) - //등록,수정(merge into) - //삭제(update > '') - //한 팝업에서 동작 - - ApmVO memoVO = new ApmVO(); - - memoVO = apmService.selectAdrMemo(apmVO); - - model.addAttribute("apmVO", apmVO); - model.addAttribute("memoVO", memoVO); - - return "/kccadr/adjPgrMgr/apm/popup/adrMemoPop"; - } + /** + * 사건메모 팝업 상세 + * + * @param apmVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "popup/adrMemo.do") + public String adrMemo(@ModelAttribute("apmVO") ApmVO apmVO, ModelMap model) throws Exception { + + //이미 있는메모 정보가져오는 쿼리작성(adr_mgr_master > adr_cn 컬럼) + //등록,수정(merge into) + //삭제(update > '') + //한 팝업에서 동작 + + ApmVO memoVO = new ApmVO(); + + memoVO = apmService.selectAdrMemo(apmVO); + + model.addAttribute("apmVO", apmVO); + model.addAttribute("memoVO", memoVO); + + return "/kccadr/adjPgrMgr/apm/popup/adrMemoPop"; + } + + /** + * 사건메모 등록/수정/삭제 + * + * @param apmVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "popup/updateAdrMemoAjax.do") + public ModelAndView updateAdrMemoAjax( + @ModelAttribute("apmVO") ApmVO apmVO + , ModelMap model + , HttpServletRequest request) throws Exception { - /** - * 사건메모 등록/수정/삭제 - * - * @param apmVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping(value = "popup/updateAdrMemoAjax.do") - public ModelAndView updateAdrMemoAjax( - @ModelAttribute("apmVO") ApmVO apmVO - , ModelMap model - , HttpServletRequest request) 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()); - - try { - //최종수정자 set - apmVO.setLastUpdusrId(userId); - - //등록, 수정, 삭제 모두 update - apmService.updateAdrMemo(apmVO); - - modelAndView.addObject("result", "success"); - - } catch (Exception e) { - System.out.println(e.getMessage()); - modelAndView.addObject("result", "fail"); - } - - return modelAndView; - - } + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); - /** - * 문자발송 팝업 - * - * @param apmVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping(value = "popup/smsSendPop.do") - public String adrMemo() throws Exception { + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + try { + //최종수정자 set + apmVO.setLastUpdusrId(userId); - return "/kccadr/adjPgrMgr/apm/popup/smsSendPop"; - } + //등록, 수정, 삭제 모두 update + apmService.updateAdrMemo(apmVO); + + modelAndView.addObject("result", "success"); + + } catch (Exception e) { + System.out.println(e.getMessage()); + modelAndView.addObject("result", "fail"); + } + + return modelAndView; + + } + + /** + * 문자발송 팝업 + * + * @param apmVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "popup/smsSendPop.do") + public String adrMemo(@ModelAttribute("adjReqMgrVO") AdjReqMgrVO adjReqMgrVO) throws Exception { + + return "/kccadr/adjPgrMgr/apm/popup/smsSendPop"; + } + + + /** + * 문자발송 팝업 + * + * @param apmVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value = "smsSendAjax.do") + public ModelAndView smsSendAjax(@ModelAttribute("adjReqMgrVO") AdjReqMgrVO adjReqMgrVO + , RedirectAttributes redirectAttributes + , HttpServletRequest request ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + try { + String result = sMSOracleService.insertSmsCustomSend(adjReqMgrVO); + + modelAndView.addObject("result", result); + }catch (Exception e) { + modelAndView.addObject("result", "fail"); + modelAndView.addObject("message", "문자발송 요청에 실패했습니다."); + } + + return modelAndView; + } + + /** * 취하신청 팝업 상세 diff --git a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java index 60e4522d..c8ec0423 100644 --- a/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java +++ b/src/main/java/kcc/kccadr/adjreqmgr/service/AdjReqMgrVO.java @@ -234,7 +234,22 @@ public class AdjReqMgrVO extends ComDefaultVO implements Serializable{ private String trPhone; // 수신자 private String sendTelNo; // 송신자 private String sendMsg; // 송신 메세지 - + private String emailSendResult; + private String smsTy; // 문자 발송 문구 분류 + /* + * smsTy + * 000 - 관리자발송 + * 001 - 보완요청 + * 002 - 수수료납부요청 + * 003 - 조정접수 + * 004 - 기일통지서승인 + * 005 - 기일조서 결재완료 + * 006 - 조정조서 결재완료 + * 007 - 직권조정결정서 확인완료 + * 008 - 없음 + * 009 - 조정불성립 + * + * */ public AdjReqMgrVO getAdrVO() { return adrVO; @@ -1158,6 +1173,19 @@ public class AdjReqMgrVO extends ComDefaultVO implements Serializable{ public void setSendMsg(String sendMsg) { this.sendMsg = sendMsg; } + public String getSmsTy() { + return smsTy; + } + public void setSmsTy(String smsTy) { + this.smsTy = smsTy; + } + public String getEmailSendResult() { + return emailSendResult; + } + public void setEmailSendResult(String emailSendResult) { + this.emailSendResult = emailSendResult; + } + diff --git a/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java b/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java index bb00677e..c7877fdb 100644 --- a/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java +++ b/src/main/java/kcc/kccadr/adjreqmgr/service/impl/AdjReqMgrDAO.java @@ -148,4 +148,14 @@ public class AdjReqMgrDAO extends EgovAbstractDAO { update("adjReqMgrDAO.updateAdrMgrMasterDetailApprCn", adjReqMgrVO); } + // 조정알림SMS - SMS전송 요청 LOG 등록 + public int insertAdrSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ + return update("AdjReqMgrDAO.insertAdrSmsCustomSend", adjReqMgrVO); + } + + // 조정알림SMS - MMS전송 요청 LOG 등록 + public int insertAdrMmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ + return update("AdjReqMgrDAO.insertAdrMmsCustomSend", adjReqMgrVO); + } + } diff --git a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java index 42479b5d..ae9e1094 100644 --- a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java +++ b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleDAO.java @@ -8,6 +8,7 @@ import com.ibatis.sqlmap.client.SqlMapClient; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.util.EgovMap; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; /** * 저작위 SMS서버를 사용하기 위한 데이터 접근 클래스 @@ -55,8 +56,13 @@ public class SMSOracleDAO extends EgovAbstractDAO { } // SMS 작성 메세지 전송 등록 - public void insertSmsCustomSend(EgovMap egovMap) throws Exception{ - insert("SMSOracleDAO.insertSmsCustomSend", egovMap); + public void insertSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("SMSOracleDAO.insertSmsCustomSend", adjReqMgrVO); + } + + // MMS 작성 메세지 전송 등록 + public void insertMmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception{ + insert("SMSOracleDAO.insertMmsCustomSend", adjReqMgrVO); } } diff --git a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java index 4c393a0f..ff3798b1 100644 --- a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java +++ b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java @@ -10,7 +10,6 @@ import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; import java.net.URLEncoder; -import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -620,45 +619,48 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM String result = "fail"; // List sendMapList = getSmsSendMsg(adjReqMgrVO); // 전송 메세지 > 전자조정DB - EgovMap sendMap = new EgovMap(); - try { - - /* - * 1. adjReqMgrVO에서 수신자(trPhone), 메시지(sendMsg)를 파라미터로 받는다. - * 2. 정해진 송신자, 시스템 구분자는 미리 정의된 globals.properties 에서 받는다. - * 3. 저작위 SMS 발송 DB로 insert - * 4. 발송 이력을 남긴다. - * - * */ - - adjReqMgrVO.setTrId(trId); // 시스템 구분자 - adjReqMgrVO.setSendTelNo(sendTelNo); // 송신자 번호 - - int bytes = adjReqMgrVO.getSendMsg().getBytes("euc-kr").length; // 발송메시지 바이트수 - -// sendMap.put("sendTelNo", sendTelNo); // 송신자 번호 -// sendMap.put("trId", trId); // 시스템 구분자 - -// String sendMsg = (String) sendMap.get("sendMsg"); -// int bytes = sendMsg.getBytes("euc-kr").length; - - String rpplPhone = (String) sendMap.get("rpplPhone"); - String rpplEmail = (String) sendMap.get("rpplEmail"); - String rpplSmsYn = (String) sendMap.get("rpplSmsYn"); - String rpplEmailYn = (String) sendMap.get("rpplEmailYn"); - - if (bytes > 90) { - sMSOracleDAO.insertMmsSend(sendMap); // SMS 등록 장문 > SMS DB(오라클) - adjReqMgrDAO.insertAdrMmsSend(sendMap); // SMS 이력 등록 장문 > 전자조정 - } else { - sMSOracleDAO.insertSmsSend(sendMap); // SMS 등록 단문 > SMS DB(오라클) - adjReqMgrDAO.insertAdrSmsSend(sendMap); // SMS 이력 등록 단문 > 전자조정 - } - //sms 발송 관리 테이블에 저장 - msgMgrDAO.insertAdrSmsLog(sendMap); // SMS 이력 등록 단문 > 전자조정 - - result = "succ"; + + /* + * 1. adjReqMgrVO로 수신자(trPhone), 메시지(sendMsg), 사건번호(adrNo)를 파라미터로 받는다. + * 2. 정해진 송신자, 시스템 구분자는 미리 정의된 globals.properties 에서 받는다. + * 3. 저작위 SMS 발송 DB로 insert + * 4. 발송 이력을 남긴다. + * + * */ + + adjReqMgrVO.setTrId(trId); // 시스템 구분자 + adjReqMgrVO.setSendTelNo(sendTelNo); // 송신자 번호 + adjReqMgrVO.setSmsTy("000"); //문자 발송 문구 분류 + /* + * smsTy + * 000 - 관리자발송 + * 001 - 보완요청 + * 002 - 수수료납부요청 + * 003 - 조정접수 + * 004 - 기일통지서승인 + * 005 - 기일조서 결재완료 + * 006 - 조정조서 결재완료 + * 007 - 직권조정결정서 확인완료 + * 008 - 없음 + * 009 - 조정불성립 + * + * */ + + int bytes = adjReqMgrVO.getSendMsg().getBytes("euc-kr").length; // 발송메시지 바이트수 + + if (bytes > 90) { +// sMSOracleDAO.insertMmsCustomSend(adjReqMgrVO); // SMS 등록 장문 > SMS DB(오라클) + adjReqMgrDAO.insertAdrMmsCustomSend(adjReqMgrVO); // SMS 이력 등록 장문 > 전자조정 + } else { +// sMSOracleDAO.insertSmsCustomSend(adjReqMgrVO); // SMS 등록 단문 > SMS DB(오라클) + adjReqMgrDAO.insertAdrSmsCustomSend(adjReqMgrVO); // SMS 이력 등록 단문 > 전자조정 + } + //sms 발송 관리 테이블에 저장 + adjReqMgrVO.setRpplNm(""); + msgMgrDAO.insertAdrSmsCustomLog(adjReqMgrVO); // SMS 이력 등록 단문 > 전자조정 + + result = "SUCCESS"; } catch (Exception e) { System.out.println("Exception Occured!!!"); } diff --git a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java index 4da7e0d6..a433dea9 100644 --- a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java +++ b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.util.EgovMap; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.msg.service.MsgMgrVO; import kcc.kccadr.msg.service.SmsMgrVO; @@ -68,4 +69,9 @@ public class MsgMgrDAO extends EgovAbstractDAO { insert("MsgMgrDAO.insertAdrSmsLog", egovMap); } + + public void insertAdrSmsCustomLog(AdjReqMgrVO adjReqMgrVO) throws Exception{ + + insert("MsgMgrDAO.insertAdrSmsCustomLog", adjReqMgrVO); + } } diff --git a/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml b/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml index 1dc1bf19..1fef8b7a 100644 --- a/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml +++ b/src/main/resources/egovframework/sqlmap/com/sms/kccadr/SMS_SQL_Oracle.xml @@ -2,6 +2,7 @@ + @@ -196,4 +197,31 @@ + + + INSERT + INTO ADR_SMS_LOG + ( + SMS_CN, + SMS_TY, + SMS_TO, + SMS_FROM, + ADR_NO, + SMS_SEND_PNTTM, + REGIST_PNTTM + ) + VALUES + ( + #sendMsg#, + #smsTy#, + #rpplNm#, + #trId#, + #adrNo#, + NOW(), + NOW() + ) + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp index ffa7b2fd..ae0d794d 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp @@ -19,6 +19,7 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %> +<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%> @@ -427,8 +428,9 @@ function authorChange(obj) { 로그인 유형
- - + +
diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/smsSendPop.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/smsSendPop.jsp index 693b32a0..30d6d00f 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/smsSendPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/popup/smsSendPop.jsp @@ -11,50 +11,70 @@ 사건메모 -<%--
--%> -<%-- " /> --%> - -<%--
--%> -
-
-

문자 발송

- - - - - - - - - - - - - - - -
전화번호 -

-
내용 -

-
-
-<%-- --%> - -<%-- --%> -<%-- --%> - - -<%-- --%> - - - +
+ " /> + " /> + +
+
+

문자 발송

+ + + + + + + + + + + + + + + +
전화번호 +

+
내용 +

+
+
+ + +
-
+