이준호 전자조저이스템 커밋
- 결재 시 다음 대상자에게이메일 발송
This commit is contained in:
parent
38b01ab0ed
commit
5eefbd748f
@ -5,8 +5,17 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
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 org.apache.commons.collections.CollectionUtils;
|
||||
@ -58,6 +67,7 @@ import kcc.kccadr.cmm.CmmUtil;
|
||||
import kcc.kccadr.cmm.KccadrConstants;
|
||||
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
||||
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.UserManageVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
@ -116,6 +126,9 @@ public class InternalApprovManageController {
|
||||
@Resource(name = "drtCtrService")
|
||||
private DrtCtrService drtCtrService;
|
||||
|
||||
@Resource(name = "SendMgrService")
|
||||
private SendMgrService SendMgrService;
|
||||
|
||||
// 실서버 개발서버 구분
|
||||
private static String islocal; // /pdf/out/
|
||||
@Value("#{globalSettings['Globals.prod.islocal']}")
|
||||
@ -505,6 +518,19 @@ public class InternalApprovManageController {
|
||||
kccadrMgrUdtService.updateAdrMgrUdt(arv
|
||||
, 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("result", KccadrConstants.SUCCESS);
|
||||
@ -1554,5 +1580,60 @@ public class InternalApprovManageController {
|
||||
}
|
||||
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 prtclCn; //조서내용
|
||||
|
||||
private String nextSbmtId;
|
||||
|
||||
|
||||
public String getAdrSeq() {
|
||||
return adrSeq;
|
||||
@ -1872,6 +1874,15 @@ public class AdjstConciliatorVO extends ComDefaultVO implements Serializable {
|
||||
public void setCmntOftenFlag(Boolean cmntOftenFlag) {
|
||||
this.cmntOftenFlag = cmntOftenFlag;
|
||||
}
|
||||
|
||||
public String getNextSbmtId() {
|
||||
return nextSbmtId;
|
||||
}
|
||||
|
||||
public void setNextSbmtId(String nextSbmtId) {
|
||||
this.nextSbmtId = nextSbmtId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1619,6 +1619,13 @@
|
||||
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((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
|
||||
WHEN SBMT_YN2 = 'A' THEN SBMT_ID2
|
||||
WHEN SBMT_YN3 = 'A' THEN SBMT_ID3
|
||||
|
||||
Loading…
Reference in New Issue
Block a user