first commit
This commit is contained in:
142
hrmsEjb/wenrgise/workflow/utility/WorkFlowUtil.java
Normal file
142
hrmsEjb/wenrgise/workflow/utility/WorkFlowUtil.java
Normal file
@@ -0,0 +1,142 @@
|
||||
package wenrgise.workflow.utility;
|
||||
|
||||
import java.rmi.RemoteException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Properties;
|
||||
import java.util.logging.Logger;
|
||||
import javax.ejb.CreateException;
|
||||
import javax.ejb.RemoveException;
|
||||
import javax.mail.Address;
|
||||
import javax.mail.Message;
|
||||
import javax.mail.MessagingException;
|
||||
import javax.mail.Session;
|
||||
import javax.mail.Transport;
|
||||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
import wenrgise.common.exception.EnrgiseApplicationException;
|
||||
import wenrgise.common.exception.EnrgiseSystemException;
|
||||
import wenrgise.common.utility.ServiceLocator;
|
||||
import wenrgise.common.utility.UserInfo;
|
||||
import wenrgise.workflow.core.WflDocumentInfo;
|
||||
import wenrgise.workflow.core.WflResource;
|
||||
import wenrgise.workflow.core.impl.WflResourceImpl;
|
||||
import wenrgise.workflow.ejb.business.WorkFlowCommonBO;
|
||||
import wenrgise.workflow.ejb.facade.WorkFlowFacade;
|
||||
import wenrgise.workflow.ejb.facade.WorkFlowFacadeHome;
|
||||
import wenrgise.workflow.exception.ApproverNotFoundException;
|
||||
import wenrgise.workflow.exception.MailNotSentException;
|
||||
|
||||
public class WorkFlowUtil {
|
||||
public static Logger log = Logger.getLogger("wenrgise.workflow.utility.WorkFlowUtil");
|
||||
|
||||
public static WflResource findNextApprover(WflDocumentInfo docInfo) throws ApproverNotFoundException {
|
||||
WflResourceImpl wflResourceImpl = new WflResourceImpl();
|
||||
if (docInfo.getDocumentType().equals("Leave"))
|
||||
wflResourceImpl.setEmpNo("90074");
|
||||
if (docInfo.getDocumentType().equals("Loan"))
|
||||
wflResourceImpl.setEmpNo("90038");
|
||||
return (WflResource)wflResourceImpl;
|
||||
}
|
||||
|
||||
public static void sendMail(WflResource wflResource, WflDocumentInfo docInfo, String action) throws MailNotSentException {
|
||||
try {
|
||||
if (null != wflResource) {
|
||||
Session session = getMailSession();
|
||||
MimeMessage message = new MimeMessage(session);
|
||||
String content = String.valueOf(String.valueOf(String.valueOf(String.valueOf("The document ").concat(String.valueOf(docInfo.getDocumentNumber()))).concat(String.valueOf(" of type "))).concat(String.valueOf(docInfo.getDocumentType()))).concat(String.valueOf(" is pending for your approval. Thanks."));
|
||||
message.setText(content);
|
||||
message.setSubject(String.valueOf(String.valueOf(String.valueOf(String.valueOf("Notification: ").concat(String.valueOf(docInfo.getDocumentType()))).concat(String.valueOf("("))).concat(String.valueOf(docInfo.getDocumentNumber()))).concat(String.valueOf(") pending")));
|
||||
message.setFrom((Address)new InternetAddress("chayanika.das@tcs.com"));
|
||||
InternetAddress internetAddress = new InternetAddress(getMailAddress(wflResource));
|
||||
message.addRecipient(Message.RecipientType.TO, (Address)internetAddress);
|
||||
message.saveChanges();
|
||||
Transport.send((Message)message);
|
||||
}
|
||||
} catch (MessagingException oMsx) {
|
||||
log.severe(String.valueOf(String.valueOf(oMsx.getClass().getName()).concat(String.valueOf(" "))).concat(String.valueOf(oMsx.getMessage())));
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean canApprove(WflDocumentInfo docInfo) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean canReject(WflDocumentInfo docInfo) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void updateWorkList(String sUpsertFlag, WflResource wflResource, WflDocumentInfo docInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
|
||||
log.severe(String.valueOf("Upsert Flag ").concat(String.valueOf(sUpsertFlag)));
|
||||
log.severe(String.valueOf(" Employee Id ").concat(String.valueOf(wflResource.getEmployeeId())));
|
||||
log.severe(String.valueOf(" Document Id ").concat(String.valueOf(docInfo.getDocumentId())));
|
||||
log.severe(String.valueOf(" Document Number ").concat(String.valueOf(docInfo.getDocumentNumber())));
|
||||
WorkFlowCommonBO oCommonBO = new WorkFlowCommonBO();
|
||||
oCommonBO.updateWorkList(sUpsertFlag, wflResource, docInfo);
|
||||
}
|
||||
|
||||
private static Session getMailSession() {
|
||||
Properties props = System.getProperties();
|
||||
props.put("mail.smtp.host", "172.17.9.119");
|
||||
return Session.getDefaultInstance(props, null);
|
||||
}
|
||||
|
||||
public static String getMailAddress(WflResource wflResource) {
|
||||
WorkFlowCommonBO oCommonBO = new WorkFlowCommonBO();
|
||||
if (null != wflResource) {
|
||||
log.severe(String.valueOf("Employee Id is ").concat(String.valueOf(wflResource.getEmployeeId())));
|
||||
return oCommonBO.getMailAddress(wflResource.getEmployeeId());
|
||||
}
|
||||
return oCommonBO.getMailAddress(null);
|
||||
}
|
||||
|
||||
public static ArrayList getDetailDocs(String sDocumentId, UserInfo oUserInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
|
||||
try {
|
||||
WorkFlowFacadeHome oHome = (WorkFlowFacadeHome)ServiceLocator.getLocator().getService("WorkFlowFacade");
|
||||
WorkFlowFacade oWorkFlowFacade = oHome.create();
|
||||
long recCount = oWorkFlowFacade.getDtlDocTypeMetaInfo(sDocumentId, oUserInfo).getRecordCount();
|
||||
if (recCount > 0L)
|
||||
return oWorkFlowFacade.getDtlDocTypeInfo(sDocumentId, 1L, recCount, oUserInfo);
|
||||
return null;
|
||||
} catch (RemoteException oRe) {
|
||||
throw new EnrgiseSystemException(oRe);
|
||||
} catch (CreateException oCrt) {
|
||||
throw new EnrgiseSystemException(oCrt);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getRouteDtlId(WflDocumentInfo wflDocInfo) throws EnrgiseApplicationException, EnrgiseSystemException {
|
||||
try {
|
||||
WorkFlowFacadeHome oHome = (WorkFlowFacadeHome)ServiceLocator.getLocator().getService("WorkFlowFacade");
|
||||
WorkFlowFacade oWorkFlowFacade = oHome.create();
|
||||
String routeDtlId = oWorkFlowFacade.getRouteDtlId(wflDocInfo);
|
||||
oWorkFlowFacade.remove();
|
||||
return routeDtlId;
|
||||
} catch (RemoteException oRe) {
|
||||
throw new EnrgiseSystemException(oRe);
|
||||
} catch (RemoveException oRv) {
|
||||
throw new EnrgiseSystemException(oRv);
|
||||
} catch (CreateException oCrt) {
|
||||
throw new EnrgiseSystemException(oCrt);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getActivityCode(String activityId) throws EnrgiseApplicationException, EnrgiseSystemException {
|
||||
try {
|
||||
log.severe("ActivityStarted");
|
||||
WorkFlowFacadeHome oHome = (WorkFlowFacadeHome)ServiceLocator.getLocator().getService("WorkFlowFacade");
|
||||
WorkFlowFacade oWorkFlowFacade = oHome.create();
|
||||
String activityCode = oWorkFlowFacade.getActivityCode(activityId);
|
||||
oWorkFlowFacade.remove();
|
||||
return activityCode;
|
||||
} catch (RemoteException oRe) {
|
||||
log.severe(String.valueOf(String.valueOf(oRe.getClass().getName()).concat(String.valueOf(" "))).concat(String.valueOf(oRe.getMessage())));
|
||||
throw new EnrgiseSystemException(oRe);
|
||||
} catch (RemoveException oRv) {
|
||||
log.severe(String.valueOf(String.valueOf(oRv.getClass().getName()).concat(String.valueOf(" "))).concat(String.valueOf(oRv.getMessage())));
|
||||
throw new EnrgiseSystemException(oRv);
|
||||
} catch (CreateException oCrt) {
|
||||
log.severe(String.valueOf(String.valueOf(oCrt.getClass().getName()).concat(String.valueOf(" "))).concat(String.valueOf(oCrt.getMessage())));
|
||||
throw new EnrgiseSystemException(oCrt);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user