이준호 전자조저이스템 커밋
- 결재 시 다음 대상자에게이메일 발송
This commit is contained in:
parent
38b01ab0ed
commit
5eefbd748f
@ -5,8 +5,17 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.mail.Authenticator;
|
||||||
|
import javax.mail.Message;
|
||||||
|
import javax.mail.MessagingException;
|
||||||
|
import javax.mail.PasswordAuthentication;
|
||||||
|
import javax.mail.Session;
|
||||||
|
import javax.mail.Transport;
|
||||||
|
import javax.mail.internet.InternetAddress;
|
||||||
|
import javax.mail.internet.MimeMessage;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
@ -58,6 +67,7 @@ import kcc.kccadr.cmm.CmmUtil;
|
|||||||
import kcc.kccadr.cmm.KccadrConstants;
|
import kcc.kccadr.cmm.KccadrConstants;
|
||||||
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
||||||
import kcc.kccadr.ozSchd.web.OzSchdExportUtil;
|
import kcc.kccadr.ozSchd.web.OzSchdExportUtil;
|
||||||
|
import kcc.kccadr.sendMgr.service.SendMgrService;
|
||||||
import kcc.let.uss.umt.service.EgovUserManageService;
|
import kcc.let.uss.umt.service.EgovUserManageService;
|
||||||
import kcc.let.uss.umt.service.UserManageVO;
|
import kcc.let.uss.umt.service.UserManageVO;
|
||||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||||
@ -116,6 +126,9 @@ public class InternalApprovManageController {
|
|||||||
@Resource(name = "drtCtrService")
|
@Resource(name = "drtCtrService")
|
||||||
private DrtCtrService drtCtrService;
|
private DrtCtrService drtCtrService;
|
||||||
|
|
||||||
|
@Resource(name = "SendMgrService")
|
||||||
|
private SendMgrService SendMgrService;
|
||||||
|
|
||||||
// 실서버 개발서버 구분
|
// 실서버 개발서버 구분
|
||||||
private static String islocal; // /pdf/out/
|
private static String islocal; // /pdf/out/
|
||||||
@Value("#{globalSettings['Globals.prod.islocal']}")
|
@Value("#{globalSettings['Globals.prod.islocal']}")
|
||||||
@ -505,6 +518,19 @@ public class InternalApprovManageController {
|
|||||||
kccadrMgrUdtService.updateAdrMgrUdt(arv
|
kccadrMgrUdtService.updateAdrMgrUdt(arv
|
||||||
, s_adrHstryMgrSeq
|
, s_adrHstryMgrSeq
|
||||||
);
|
);
|
||||||
|
}else if(StringUtils.isNotEmpty(statInfo.getNextSbmtId())) {
|
||||||
|
|
||||||
|
UserManageVO userManageVO = userManageService.selectUser(statInfo.getNextSbmtId());
|
||||||
|
String address = userManageVO.getEmailAdres();
|
||||||
|
try {
|
||||||
|
emailSend(address);
|
||||||
|
}catch (Exception e) {
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
modelAndView.addObject("rs", (rs>0));
|
modelAndView.addObject("rs", (rs>0));
|
||||||
modelAndView.addObject("result", KccadrConstants.SUCCESS);
|
modelAndView.addObject("result", KccadrConstants.SUCCESS);
|
||||||
@ -1554,5 +1580,60 @@ public class InternalApprovManageController {
|
|||||||
}
|
}
|
||||||
return adjstReqVO;
|
return adjstReqVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void emailSend(String address) {
|
||||||
|
String emailFrom = "no-reply@copyright.or.kr"; // 추후 globals.properties 를 이용하여 변경
|
||||||
|
String emailPs = "Copycopy12!"; // 추후 globals.properties 를 이용하여 변경
|
||||||
|
|
||||||
|
Properties props = new Properties();
|
||||||
|
props.put("mail.transport.protocol", "smtp");
|
||||||
|
props.put("mail.smtp.host", "smtp.gov-dooray.com");
|
||||||
|
props.put("mail.smtp.port", "465");
|
||||||
|
props.put("mail.smtp.auth", "true");
|
||||||
|
props.put("mail.smtp.ssl.enable", "true");
|
||||||
|
|
||||||
|
props.put("mail.smtp.ssl.protocols", "TLSv1");
|
||||||
|
props.put("mail.smtp.ssl.protocols", "TLSv1.1");
|
||||||
|
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
|
||||||
|
props.put("mail.debug", "true");
|
||||||
|
Authenticator authenticator = new Authenticator(){
|
||||||
|
protected PasswordAuthentication getPasswordAuthentication(){
|
||||||
|
return new PasswordAuthentication(emailFrom,emailPs);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
Session session = Session.getInstance(props, authenticator) ;
|
||||||
|
InternetAddress fromAddress = new InternetAddress(emailFrom);
|
||||||
|
|
||||||
|
String result = "";
|
||||||
|
String emailTo = "";
|
||||||
|
|
||||||
|
AdjReqMgrVO adjReqMgrVO = new AdjReqMgrVO();
|
||||||
|
|
||||||
|
adjReqMgrVO.setEmailTitle("전자조정시스템 결재 순서 입니다.");
|
||||||
|
adjReqMgrVO.setEmailSendContent("전자조정시스템 결재 대상자 입니다. 결재 목록을 확인해주세요.");
|
||||||
|
|
||||||
|
emailTo = address;
|
||||||
|
InternetAddress toAddress = new InternetAddress(emailTo);
|
||||||
|
MimeMessage message = new MimeMessage(session);
|
||||||
|
message.setFrom(fromAddress);
|
||||||
|
message.addRecipient(Message.RecipientType.TO, toAddress );
|
||||||
|
message.setSubject(adjReqMgrVO.getEmailTitle());
|
||||||
|
message.setContent(adjReqMgrVO.getEmailSendContent()," text/html; charset=KSC5601");
|
||||||
|
System.out.println("------------------ 메일발송 시작 ----------------");
|
||||||
|
Transport.send(message);
|
||||||
|
System.out.println("------------------ 메일발송 끝 ----------------");
|
||||||
|
|
||||||
|
System.out.println("------------------ 메일발송Log 추가 시작----------------");
|
||||||
|
String encEmailFrom = egovCryptoUtil.encrypt(emailFrom); // email 수신자 주소 암호화
|
||||||
|
String encEmailTo = egovCryptoUtil.encrypt(emailTo); // email 발신자 주소 암호화
|
||||||
|
adjReqMgrVO.setEmailFrom(encEmailFrom);
|
||||||
|
adjReqMgrVO.setEmailTo(encEmailTo);
|
||||||
|
result = SendMgrService.insertAdrEmailLog(adjReqMgrVO);
|
||||||
|
System.out.println("------------------ 메일발송Log 추가 끝----------------");
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -318,6 +318,8 @@ public class AdjstConciliatorVO extends ComDefaultVO implements Serializable {
|
|||||||
private String openYn; //공개여부
|
private String openYn; //공개여부
|
||||||
private String prtclCn; //조서내용
|
private String prtclCn; //조서내용
|
||||||
|
|
||||||
|
private String nextSbmtId;
|
||||||
|
|
||||||
|
|
||||||
public String getAdrSeq() {
|
public String getAdrSeq() {
|
||||||
return adrSeq;
|
return adrSeq;
|
||||||
@ -1872,6 +1874,15 @@ public class AdjstConciliatorVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setCmntOftenFlag(Boolean cmntOftenFlag) {
|
public void setCmntOftenFlag(Boolean cmntOftenFlag) {
|
||||||
this.cmntOftenFlag = cmntOftenFlag;
|
this.cmntOftenFlag = cmntOftenFlag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getNextSbmtId() {
|
||||||
|
return nextSbmtId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNextSbmtId(String nextSbmtId) {
|
||||||
|
this.nextSbmtId = nextSbmtId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1619,6 +1619,13 @@
|
|||||||
END AS confirmStatus
|
END AS confirmStatus
|
||||||
, IF(SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N', 'Y', 'N') AS rejectYn
|
, IF(SBMT_YN1 = 'N' OR SBMT_YN2 = 'N' OR SBMT_YN3 = 'N' OR SBMT_YN4 = 'N' OR SBMT_YN5 = 'N' OR SBMT_YN6 = 'N', 'Y', 'N') AS rejectYn
|
||||||
, IF((IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT, 'Y' , 'N') AS allYn
|
, IF((IF(SBMT_YN1 = 'Y',1,0)+IF(SBMT_YN2 = 'Y',1,0)+IF(SBMT_YN3 = 'Y',1,0)+IF(SBMT_YN4 = 'Y',1,0)+IF(SBMT_YN5 = 'Y',1,0)+IF(SBMT_YN6 = 'Y',1,0)) = SBMT_STEP_CNT, 'Y' , 'N') AS allYn
|
||||||
|
,CASE
|
||||||
|
WHEN SBMT_STEP_CNT = 2
|
||||||
|
THEN IF((SBMT_YN1 = 'Y' AND SBMT_YN1 != 'A'),IF((SBMT_YN2 = 'Y' AND SBMT_YN2 != 'A'), NULL, SBMT_ID2), SBMT_ID1)
|
||||||
|
WHEN SBMT_STEP_CNT = 3
|
||||||
|
THEN IF((SBMT_YN1 = 'Y' AND SBMT_YN1 != 'A'),IF((SBMT_YN2 = 'Y' AND SBMT_YN2 != 'A'), IF((SBMT_YN3 = 'Y' AND SBMT_YN3 != 'A'), null, SBMT_ID3), SBMT_ID2),SBMT_ID1)
|
||||||
|
ELSE NULL
|
||||||
|
END AS nextSbmtId
|
||||||
,CASE WHEN SBMT_YN1 = 'A' THEN SBMT_ID1
|
,CASE WHEN SBMT_YN1 = 'A' THEN SBMT_ID1
|
||||||
WHEN SBMT_YN2 = 'A' THEN SBMT_ID2
|
WHEN SBMT_YN2 = 'A' THEN SBMT_ID2
|
||||||
WHEN SBMT_YN3 = 'A' THEN SBMT_ID3
|
WHEN SBMT_YN3 = 'A' THEN SBMT_ID3
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user