Merge branch 'tolag3'

This commit is contained in:
LJH 2022-10-06 09:40:42 +09:00
commit 60449d647f
10 changed files with 1002 additions and 402 deletions

View File

@ -101,5 +101,11 @@ public interface ApmService {
ApmVO selectAdrAdmMemo(ApmVO apmVO) throws Exception;
void updateAdrAdmMemo(ApmVO apmVO) throws Exception;
//사건메모 select
ApmVO selectAdrMemo(ApmVO apmVO) throws Exception;
//사건메모 update(등록/수정/삭제)
void updateAdrMemo(ApmVO apmVO) throws Exception;
}

View File

@ -46,6 +46,8 @@ public class ApmVO extends PgrCmmVO implements Serializable {
private String adrAdmMemo;
private String adrCn; /* 사건메모 */
public String getRpplDocSeq() {
@ -296,6 +298,14 @@ public class ApmVO extends PgrCmmVO implements Serializable {
this.adrAdmMemo = adrAdmMemo;
}
public String getAdrCn() {
return adrCn;
}
public void setAdrCn(String adrCn) {
this.adrCn = adrCn;
}

View File

@ -199,4 +199,12 @@ public class ApmDAO extends EgovAbstractDAO {
update("apmDAO.updateAdrAdmMemo", apmVO);
}
public ApmVO selectAdrMemo(ApmVO apmVO) throws Exception {
return (ApmVO) select("apmDAO.selectAdrMemo", apmVO);
}
public void updateAdrMemo(ApmVO apmVO) throws Exception {
update("apmDAO.updateAdrMemo", apmVO);
}
}

View File

@ -563,6 +563,16 @@ public class ApmServiceImpl implements ApmService {
apmDAO.updateAdrAdmMemo(apmVO);
}
@Override
public ApmVO selectAdrMemo(ApmVO apmVO) throws Exception {
return apmDAO.selectAdrMemo(apmVO);
}
@Override
public void updateAdrMemo(ApmVO apmVO) throws Exception {
apmDAO.updateAdrMemo(apmVO);
}

View File

@ -69,6 +69,7 @@ import kcc.kccadr.adjPgrMgr.ent.service.EntService;
import kcc.kccadr.adjPgrMgr.ent.service.EntVO;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrService;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.kccadr.adjst.service.AdjstReqVO;
@ -197,6 +198,10 @@ public class ApmController {
@Resource(name="adrHstryMgrSeqGnrService")
private EgovIdGnrService adrHstryMgrSeqGnrService;
// 조정신청 서비스단
@Resource(name = "AdjReqMgrService")
private AdjReqMgrService adjReqMgrService;
// 실서버 개발서버 구분
private static String islocal; // /pdf/out/
@Value("#{globalSettings['Globals.prod.islocal']}")
@ -487,6 +492,13 @@ public class ApmController {
model.addAttribute("list_mgr" , adrHstryMgrService.selectList(adrHstryMgrVO));
//이력값 -
AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
adjReqMgrVO.setAdrSeq(cmmVO.getAdrSeq());
List<AdjReqMgrVO> person = adjReqMgrService.selectAdjstReqMgrPersonList(adjReqMgrVO);
decryptInfomation(person ,null);
model.addAttribute("person", person);
return "/kccadr/adjPgrMgr/apm/apmTab0";
}
@ -828,6 +840,72 @@ 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/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;
}
/**
* 취하신청 팝업 상세
*
@ -2253,4 +2331,48 @@ public class ApmController {
model.addAttribute("reqfileList", apmService.selectAdrReqFileList(apmVO));
}
public void decryptInfomation(List<AdjReqMgrVO> list, AdjReqMgrVO info){
if(CollectionUtils.isNotEmpty(list)){
for(AdjReqMgrVO model : list){
model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm()));
model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr()));
model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl()));
model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost()));
model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail()));
model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone()));
model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost()));
model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr()));
model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl()));
model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm()));
// model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()));
if (!StringUtil.isEmpty(model.getResPonDentNm())) {
String tmpStr = "";
if(model.getResPonDentNm().contains("")) {
tmpStr = model.getResPonDentNm().substring(model.getResPonDentNm().length()-3);
}
model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()) + " " + tmpStr);
}
model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm()));
}
}
if(info != null){
info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm()));
info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr()));
info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl()));
info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost()));
info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail()));
info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone()));
info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm()));
info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm()));
info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm()));
info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost()));
info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr()));
info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl()));
}
}
}

View File

@ -36,4 +36,6 @@ public interface SMSOracleService {
// EMAIL 전송(저작위 메일서버)
public String insertEmailSend(EgovMap egovMap);
// SMS 작성 메세지 전송(저작위 SMS서버 DB등록)
public String insertSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception;
}

View File

@ -613,5 +613,66 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM
}
// SMS 전송(저작위 SMS서버 DB등록)
@Override
public String insertSmsCustomSend(AdjReqMgrVO adjReqMgrVO) throws Exception {
String result = "fail";
List<EgovMap> sendMapList = getSmsSendMsg(adjReqMgrVO); // 전송 메세지 > 전자조정DB
if (sendMapList == null || sendMapList.isEmpty()) {
return result;
}
try {
for (EgovMap map : sendMapList) {
// test 수신자 번호 여현준
//map.put("rpplPhone", "010-8532-6650");
// test
map.put("sendTelNo", sendTelNo); // 송신자 번호
map.put("trId", trId); // 시스템 구분자
String sendMsg = (String) map.get("sendMsg");
int bytes = sendMsg.getBytes("euc-kr").length;
String rpplPhone = (String) map.get("rpplPhone");
String rpplEmail = (String) map.get("rpplEmail");
String rpplSmsYn = (String) map.get("rpplSmsYn");
String rpplEmailYn = (String) map.get("rpplEmailYn");
String emailResult = "N";
if (rpplEmailYn != null && rpplEmailYn.equals("Y") && StringUtil2.isNotEmpty(rpplEmail)) { // 메일 수신여부
// emailResult = insertEmailSend(map);
}
map.put("emailSendResult", emailResult);
if (rpplSmsYn != null && rpplSmsYn.equals("Y") && StringUtil2.isNotEmpty(rpplPhone)) { // 문자 수신여부
if (bytes > 90) {
sMSOracleDAO.insertMmsSend(map); // SMS 등록 장문 > SMS DB(오라클)
adjReqMgrDAO.insertAdrMmsSend(map); // SMS 이력 등록 장문 > 전자조정
} else {
sMSOracleDAO.insertSmsSend(map); // SMS 등록 단문 > SMS DB(오라클)
adjReqMgrDAO.insertAdrSmsSend(map); // SMS 이력 등록 단문 > 전자조정
}
//sms 발송 관리 테이블에 저장
msgMgrDAO.insertAdrSmsLog(map); // SMS 이력 등록 단문 > 전자조정
} else { // 메일만 보낼시 단문테이블에라도 이력 등록
adjReqMgrDAO.insertAdrSmsSend(map); // SMS 이력 등록 단문 > 전자조정
//sms 발송 관리 테이블에 저장
msgMgrDAO.insertAdrSmsLog(map); // SMS 이력 등록 단문 > 전자조정
}
result = "succ";
}
} catch (Exception e) {
System.out.println("Exception Occured!!!");
}
LOGGER.debug("SMS 전송DB 등록 결과:[" + result +"]");
return result;
}
}

View File

@ -1040,6 +1040,24 @@
</update>
<select id="apmDAO.selectAdrMemo" parameterClass="ApmVO" resultClass="ApmVO">
SELECT adr_seq AS adrSeq,
adr_cn AS adrCn
FROM adr_mgr_master
WHERE adr_seq = #adrSeq#
</select>
<update id="apmDAO.updateAdrMemo" parameterClass="ApmVO">
UPDATE adr_mgr_master
SET adr_cn = #adrCn#,
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = NOW()
WHERE adr_seq = #adrSeq#
</update>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<html lang="ko">
<head>
<title>사건메모</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fnMemo(p){
var form = document.memoForm;
if(p == 'insert'){
form.adrCn.value = $('#memo').val();
}else if(p == 'modify'){
form.adrCn.value = $('#memo').val();
}else if(p == 'delete'){
form.adrCn.value = '';
}
var data = new FormData(form);
if(confirm("사건메모를 등록하시겠습니까?")){
$.ajax({
type: "POST",
url: "/kccadr/adjPgrMgr/apm/popup/updateAdrMemoAjax.do",
async:false,
data: data,
dataType:'json',
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("메모가 등록되었습니다.");
location.reload(true);
} else if(status == 'fail') {
alert("처리중 오류가 발생하였습니다.");
}
},
error: function (e) {
}
});
}
}
</script>
</head>
<body>
<form id="memoForm" name="memoForm" onsubmit="return false;" method="post">
<input type="hidden" name="adrSeq" value="<c:out value="${apmVO.adrSeq}" />" />
<input type="hidden" id="adrCn" name="adrCn" value=""/>
</form>
<div class="area_popup supm_popup" style="width: 800px;">
<div class="cont_popup">
<p class="tb_tit">사건메모</p>
<table class="pop_tbType01">
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>내용</th>
<td>
<p><textarea rows="20" cols="30" id="memo" name="memo"><c:out value="${memoVO.adrCn}"/></textarea></p>
</td>
</tr>
</tbody>
</table>
<div class="btn_wrap btn_layout04">
<c:if test="${memoVO.adrCn eq '' || memoVO.adrCn eq null}">
<button type="button" class="btnType06" onclick="fnMemo('insert'); return false;">등록</button>
</c:if>
<c:if test="${memoVO.adrCn ne '' && memoVO.adrCn ne null}">
<button type="button" class="btnType06" onclick="fnMemo('modify'); return false;">수정</button>
<button type="button" class="btnType02" onclick="fnMemo('delete'); return false;">삭제</button>
</c:if>
<button type="button" class="btnType03" onclick="window.close()">닫기</button>
</div>
</div>
</div>
</body>
</html>