1777 lines
92 KiB
Java
1777 lines
92 KiB
Java
package wenrgise.hrms.ejb.business;
|
|
|
|
import java.rmi.RemoteException;
|
|
import java.sql.Timestamp;
|
|
import java.text.DateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import javax.ejb.CreateException;
|
|
import javax.ejb.RemoveException;
|
|
import wenrgise.common.bean.BaseHeaderBean;
|
|
import wenrgise.common.bean.LOVBean;
|
|
import wenrgise.common.ejb.business.HrmCommonBO;
|
|
import wenrgise.common.exception.EnrgiseApplicationException;
|
|
import wenrgise.common.exception.EnrgiseMessageKeyException;
|
|
import wenrgise.common.exception.EnrgiseSystemException;
|
|
import wenrgise.common.utility.DateUtility;
|
|
import wenrgise.common.utility.EnrgiseUtil;
|
|
import wenrgise.common.utility.MessageKey;
|
|
import wenrgise.common.utility.RecordMetaInfo;
|
|
import wenrgise.common.utility.UserInfo;
|
|
import wenrgise.common.utility.WorkFlowServiceLocator2;
|
|
import wenrgise.common.vo.BaseDetailVO;
|
|
import wenrgise.common.vo.LovQueryVO;
|
|
import wenrgise.common.vo.LovVO;
|
|
import wenrgise.ejb.common.helper.DBObject;
|
|
import wenrgise.ejb.common.helper.QueryRow;
|
|
import wenrgise.ejb.common.helper.QueryValue;
|
|
import wenrgise.ejb.common.utility.DBUtilitiesBean;
|
|
import wenrgise.hrms.bean.HrmLvApplnDtlBean;
|
|
import wenrgise.hrms.bean.HrmLvApplnHdrBean;
|
|
import wenrgise.hrms.bean.HrmLvApplnQueryDtlBean;
|
|
import wenrgise.hrms.bean.HrmLvMstHdrBean;
|
|
import wenrgise.hrms.vo.HrmLvApplnQVO;
|
|
import wenrgise.hrms.vo.HrmLvApplnQueryQVO;
|
|
import wenrgise.workflow.bean.WflAuthorizationBean;
|
|
import wenrgise.workflow.core.WflDocumentInfo;
|
|
import wenrgise.workflow.core.WflResource;
|
|
import wenrgise.workflow.core.WflSite;
|
|
import wenrgise.workflow.core.WflStatus;
|
|
import wenrgise.workflow.core.impl.WflDocumentInfoImpl;
|
|
import wenrgise.workflow.core.impl.WflResourceImpl;
|
|
import wenrgise.workflow.core.impl.WflSiteImpl;
|
|
import wenrgise.workflow.ejb.facade.WorkFlowFacade2;
|
|
import wenrgise.workflow.ejb.facade.WorkFlowFacade2Home;
|
|
|
|
public class HrmLvApplnBO extends HrmBaseBO {
|
|
private ArrayList arylstDtlBean;
|
|
|
|
private boolean bNoDetailView = false;
|
|
|
|
public HrmLvApplnBO() {}
|
|
|
|
public HrmLvApplnBO(UserInfo oUserInfo) {
|
|
super(oUserInfo);
|
|
}
|
|
|
|
public RecordMetaInfo getEmpLeaveApplicationQueryDetailMetaInfo(HrmLvApplnQueryQVO oHrmLvApplnQueryQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String lvType = oHrmLvApplnQueryQVO.getLeaveCode();
|
|
String empNo = oHrmLvApplnQueryQVO.getEmployeeNo();
|
|
String status = oHrmLvApplnQueryQVO.getStatusOfLeave();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, empNo));
|
|
arylstParam.add(new DBObject(2, 1, 12, lvType));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQueryQVO.getFromDate())));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQueryQVO.getToDate())));
|
|
arylstParam.add(new DBObject(5, 1, 12, status));
|
|
arylstParam.add(new DBObject(6, 2, -5));
|
|
arylstParam.add(new DBObject(7, 2, 93));
|
|
arylstParam.add(new DBObject(8, 2, 12));
|
|
arylstParam.add(new DBObject(9, 2, 12));
|
|
arylstParam.add(new DBObject(10, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_HrLeaveAppQueryDtlCount(?,?,?,?,?,?,?,?,?,?)");
|
|
RecordMetaInfo oRecordMetaInfo = new RecordMetaInfo();
|
|
DBObject oTotalRecord = arylstOutArray.get(0);
|
|
oRecordMetaInfo.setRecordCount(((Long)oTotalRecord.getObject()).longValue());
|
|
DBObject oTimeObject = arylstOutArray.get(1);
|
|
oRecordMetaInfo.setOWhenPicked((Timestamp)oTimeObject.getObject());
|
|
return oRecordMetaInfo;
|
|
}
|
|
|
|
public ArrayList getHrEmpLeaveApplicationQueryDetail(HrmLvApplnQueryQVO oHrmLvApplnQueryQVO, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String lvType = oHrmLvApplnQueryQVO.getLeaveCode();
|
|
String empNo = oHrmLvApplnQueryQVO.getEmployeeNo();
|
|
String status = oHrmLvApplnQueryQVO.getStatusOfLeave();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
ArrayList arylstList = null;
|
|
Iterator itrBean = null;
|
|
ArrayList arylstEmpLeaveApplQueryDetail = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, -5, new Long(lDetailFirstPosition)));
|
|
arylstParam.add(new DBObject(2, 1, -5, new Long(lDetailLastPosition)));
|
|
arylstParam.add(new DBObject(3, 1, 12, empNo));
|
|
arylstParam.add(new DBObject(4, 1, 12, lvType));
|
|
arylstParam.add(new DBObject(5, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQueryQVO.getFromDate())));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQueryQVO.getToDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, status));
|
|
arylstParam.add(new DBObject(8, 2, -10));
|
|
arylstParam.add(new DBObject(9, 2, 12));
|
|
arylstParam.add(new DBObject(10, 2, 12));
|
|
arylstParam.add(new DBObject(11, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_HrLeaveAppQueryDtl(?,?,?,?,?,?,?,?,?,?,?)");
|
|
arylstList = (ArrayList)((DBObject)arylstOutArray.get(0)).getObject();
|
|
if (arylstList.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
count = 0;
|
|
itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arylstEmpLeaveApplQueryDetail = new ArrayList();
|
|
count++;
|
|
oRow = itrBean.next();
|
|
HrmLvApplnQueryDtlBean oHrmLvApplnQueryDtlBean = new HrmLvApplnQueryDtlBean();
|
|
oHrmLvApplnQueryDtlBean.setTxtTransId(oRow.get("ID").getString());
|
|
oHrmLvApplnQueryDtlBean.setTxtLeaveCodes(oRow.get("LEAVE_DESCRIPTION").getString());
|
|
oHrmLvApplnQueryDtlBean.setTxtLeaveStatus(oRow.get("APPROVED_FLAG").getString());
|
|
oHrmLvApplnQueryDtlBean.setTxtAppliedLeaveDate(EnrgiseUtil.convertToString(oRow.get("DATE_APPLIED").getDate()));
|
|
arylstEmpLeaveApplQueryDetail.add(oHrmLvApplnQueryDtlBean);
|
|
}
|
|
return arylstEmpLeaveApplQueryDetail;
|
|
}
|
|
|
|
public RecordMetaInfo getEmpLeaveApplicationQueryScreenDetailMetaInfo(HrmLvApplnQVO oHrmLvApplnQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sTransId = oHrmLvApplnQVO.getTransId();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, oHrmLvApplnQVO.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(2, 1, 12, sTransId));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLvApplnQVO.getLeaveCodes()));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQVO.getFromAppDate())));
|
|
arylstParam.add(new DBObject(5, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQVO.getToAppDate())));
|
|
arylstParam.add(new DBObject(6, 1, 12, oHrmLvApplnQVO.getEmployeeNumber()));
|
|
arylstParam.add(new DBObject(7, 2, -5));
|
|
arylstParam.add(new DBObject(8, 2, 93));
|
|
arylstParam.add(new DBObject(9, 2, 12));
|
|
arylstParam.add(new DBObject(10, 2, 12));
|
|
arylstParam.add(new DBObject(11, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_HrLeaveAppQryScreenDtlCnt(?,?,?,?,?,?,?,?,?,?,?)");
|
|
RecordMetaInfo oRecordMetaInfo = new RecordMetaInfo();
|
|
DBObject oTotalRecord = arylstOutArray.get(0);
|
|
oRecordMetaInfo.setRecordCount(((Long)oTotalRecord.getObject()).longValue());
|
|
DBObject oTimeObject = arylstOutArray.get(1);
|
|
oRecordMetaInfo.setOWhenPicked((Timestamp)oTimeObject.getObject());
|
|
return oRecordMetaInfo;
|
|
}
|
|
|
|
public ArrayList getHrEmpLeaveApplicationQueryScreenDetail(HrmLvApplnQVO oHrmLvApplnQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sTransId = oHrmLvApplnQVO.getTransId();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
ArrayList arylstList = null;
|
|
Iterator itrBean = null;
|
|
ArrayList arylstEmpLeaveApplQueryScreenDetail = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, -5, new Long(lStartPosition)));
|
|
arylstParam.add(new DBObject(2, 1, -5, new Long(lLastPosition)));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLvApplnQVO.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(4, 1, 12, sTransId));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLvApplnQVO.getLeaveCodes()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQVO.getFromAppDate())));
|
|
arylstParam.add(new DBObject(7, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnQVO.getToAppDate())));
|
|
arylstParam.add(new DBObject(8, 1, 12, oHrmLvApplnQVO.getEmployeeNumber()));
|
|
arylstParam.add(new DBObject(9, 2, -10));
|
|
arylstParam.add(new DBObject(10, 2, 12));
|
|
arylstParam.add(new DBObject(11, 2, 12));
|
|
arylstParam.add(new DBObject(12, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_HrLeaveAppQueryScreenDtl(?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
arylstList = (ArrayList)((DBObject)arylstOutArray.get(0)).getObject();
|
|
if (arylstList.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
count = 0;
|
|
itrBean = arylstList.iterator();
|
|
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arylstEmpLeaveApplQueryScreenDetail = new ArrayList();
|
|
count++;
|
|
oRow = itrBean.next();
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = new HrmLvApplnHdrBean();
|
|
oHrmLvApplnHdrBean.setEmployeeNumber(oRow.get("EMP_NO").getString());
|
|
oHrmLvApplnHdrBean.setFirstName(oRow.get("FIRST_NAME").getString());
|
|
oHrmLvApplnHdrBean.setMiddleName(oRow.get("MIDDLE_NAME").getString());
|
|
oHrmLvApplnHdrBean.setLastName(oRow.get("LAST_NAME").getString());
|
|
oHrmLvApplnHdrBean.setGrade(oRow.get("GRADE").getString());
|
|
oHrmLvApplnHdrBean.setLocation(oRow.get("LOCATION").getString());
|
|
oHrmLvApplnHdrBean.setDesignation(oRow.get("DESIGNATION").getString());
|
|
oHrmLvApplnHdrBean.setSiteId(oRow.get("SITE_ID").getString());
|
|
oHrmLvApplnHdrBean.setHeaderPrimaryKey(oRow.get("ID").getString());
|
|
oHrmLvApplnHdrBean.setTransacId(oRow.get("ID").getString());
|
|
oHrmLvApplnHdrBean.setLeaveCodes(oRow.get("LEAVE_DESCRIPTION").getString());
|
|
oHrmLvApplnHdrBean.setLeaveTypeId(oRow.get("lv_attr_id").getString());
|
|
oHrmLvApplnHdrBean.setDescription(oRow.get("NAME").getString());
|
|
oHrmLvApplnHdrBean.setEligAmount(oRow.get("ELIG_AMT").getString());
|
|
oHrmLvApplnHdrBean.setDateApplied(EnrgiseUtil.convertToString(oRow.get("DATE_APPLIED").getDate()));
|
|
oHrmLvApplnHdrBean.setFromAppDate(EnrgiseUtil.convertToString(oRow.get("FROM_DATE").getDate()));
|
|
oHrmLvApplnHdrBean.setToAppDate(EnrgiseUtil.convertToString(oRow.get("TO_DATE").getDate()));
|
|
double dDays = Double.parseDouble(oRow.get("NO_OF_DAYS").getString());
|
|
oHrmLvApplnHdrBean.setDays(String.valueOf(dDays));
|
|
oHrmLvApplnHdrBean.setEmployeeId(oRow.get("E_PER_DTL_ID").getString());
|
|
oHrmLvApplnHdrBean.setPurpose(oRow.get("PURPOSE").getString());
|
|
oHrmLvApplnHdrBean.setStatusOfLeaves(oRow.get("APPROVED_FLAG").getString());
|
|
oHrmLvApplnHdrBean.setRemarks(oRow.get("REJECTION_REMARK").getString());
|
|
oHrmLvApplnHdrBean.setAddress(oRow.get("ADDRESS_FOR_COMM").getString());
|
|
oHrmLvApplnHdrBean.setPhone(oRow.get("PHONE").getString());
|
|
oHrmLvApplnHdrBean.setLtaFlag(String.valueOf(oRow.get("LTA_FLAG").getString()).equalsIgnoreCase("Y") ? "on" : "off");
|
|
oHrmLvApplnHdrBean.setLtaAmount(oRow.get("LTA_AMT").getString());
|
|
oHrmLvApplnHdrBean.setItPercentage(oRow.get("IT_PERC").getString());
|
|
oHrmLvApplnHdrBean.setOptedFor(oRow.get("OPTED_FOR").getString());
|
|
oHrmLvApplnHdrBean.setFromYear(oRow.get("LTA_FROM_YEAR").getString());
|
|
oHrmLvApplnHdrBean.setMedFlag(String.valueOf(oRow.get("MED_FLAG").getString()).equalsIgnoreCase("Y") ? "on" : "off");
|
|
arylstEmpLeaveApplQueryScreenDetail.add(oHrmLvApplnHdrBean);
|
|
}
|
|
return arylstEmpLeaveApplQueryScreenDetail;
|
|
}
|
|
|
|
public void initializeBOImpl() {
|
|
this.headerTable = "HRM_EMP_LEAVE_TXN";
|
|
}
|
|
|
|
public void saveDetailImpl(String sHeaderPrimaryKey, String sScreenName, ArrayList arylstDetailBeanArray) throws EnrgiseSystemException {
|
|
ArrayList oParameters = null;
|
|
DBUtilitiesBean oBean = null;
|
|
Iterator oIt = arylstDetailBeanArray.iterator();
|
|
oBean = new DBUtilitiesBean();
|
|
oBean.createBatch("HRMLVAPPLN.proc_InsertLvApplnBreakup(?,?,?,?,?,?)");
|
|
while (oIt.hasNext()) {
|
|
HrmLvApplnDtlBean oDtlBean = oIt.next();
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
oParameters.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(oDtlBean.getTxtDate())));
|
|
oParameters.add(new DBObject(3, 1, 12, oDtlBean.getTxtHolidayFlag()));
|
|
oParameters.add(new DBObject(4, 1, 4, oDtlBean.getTxtHalfDayFlag()));
|
|
oParameters.add(new DBObject(5, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
oParameters.add(new DBObject(6, 1, 12, this.oUserInfo.getSiteId()));
|
|
oBean.addToBatch(oParameters);
|
|
}
|
|
oBean.executeBatch();
|
|
}
|
|
|
|
public void updateHeaderImpl(BaseHeaderBean oBaseHeaderBean) throws EnrgiseSystemException {}
|
|
|
|
public String saveNewHeaderImpl(BaseHeaderBean oBaseHeaderBean) throws EnrgiseSystemException {
|
|
return new String();
|
|
}
|
|
|
|
public void additionalTimestampValidationImpl(BaseHeaderBean param1, Timestamp param2, String param3, String param4, boolean param5, ArrayList param6, boolean param7, Timestamp param8) {}
|
|
|
|
public void additionalBusinessValidationImpl(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
this.arylstDtlBean = oHrmLvApplnHdrBean.getDetailArray();
|
|
if (this.arylstDtlBean.size() == 0) {
|
|
arylstErrorList.add(new EnrgiseApplicationException("hrm.HrmLvAppln.checkBreakUp"));
|
|
} else {
|
|
processSaveValidation(arylstErrorList, oHrmLvApplnHdrBean.getEmployeeId(), oHrmLvApplnHdrBean.getLeaveTypeId(), oHrmLvApplnHdrBean.getDays(), oHrmLvApplnHdrBean);
|
|
}
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
if (bHeaderDataChanged) {
|
|
if (!sScreenMode.equalsIgnoreCase("D")) {
|
|
checkUniqueHeader((HrmLvApplnHdrBean)oBaseHeaderBean);
|
|
checkDatesConstraint((HrmLvApplnHdrBean)oBaseHeaderBean, arylstErrorList);
|
|
checkHeaderConstraint((HrmLvApplnHdrBean)oBaseHeaderBean, arylstErrorList);
|
|
if (EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getLtaFlag()))
|
|
if (String.valueOf(oHrmLvApplnHdrBean.getLtaFlag()).equalsIgnoreCase("on"))
|
|
checkLtaEligibility((HrmLvApplnHdrBean)oBaseHeaderBean, arylstErrorList);
|
|
}
|
|
if (sScreenMode.equalsIgnoreCase("D"))
|
|
if (!oHrmLvApplnHdrBean.getStatusOfLeaves().equalsIgnoreCase("N"))
|
|
if (arylstErrorList.isEmpty())
|
|
arylstErrorList.add(new EnrgiseApplicationException("wenrgise.common.deletion.rejected"));
|
|
}
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkUniqueHeader(HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {}
|
|
|
|
public LovVO getHrmLvAppQryEmpNoLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.employeeNo");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.employeeName");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
arylstParam.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
arylstParam.add(new DBObject(3, 2, -10));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVLOV.proc_GetLvAppQryEmpLOV(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("EMP_NO").getString());
|
|
oLOVBean.setDetailField3(oRow.get("EMPNAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmLvAppQryLvCdLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveCode");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveDescription");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
arylstParam.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
arylstParam.add(new DBObject(3, 2, -10));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVLOV.proc_GetLvAppQryLeaveCdLOV(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("LEAVE_DESCRIPTION").getString());
|
|
oLOVBean.setDetailField3(oRow.get("NAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmEmpLvAppLvCdLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveCode");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveDescription");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
String employeeNumber = null;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
if (oLovQueryVO.getProperty("empId") != null)
|
|
employeeNumber = oLovQueryVO.getProperty("empId");
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
arylstParam.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
arylstParam.add(new DBObject(3, 1, 12, employeeNumber));
|
|
arylstParam.add(new DBObject(4, 2, -10));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVLOV.proc_GetEmpLvAppLeaveCdLOV(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("LEAVE_DESCRIPTION").getString());
|
|
oLOVBean.setDetailField3(oRow.get("NAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public String getGenderInfo(String sEmpNo) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sGender = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpNo));
|
|
arylstParam.add(new DBObject(2, 2, -10));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetGenderInfo(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sGender = oRow.get("SEX").getString();
|
|
}
|
|
return sGender;
|
|
}
|
|
|
|
public LovVO getHrmEmpLvAppLvCdInsLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
String sEmpNo = oLovQueryVO.getProperty("empId");
|
|
String sSex = getGenderInfo(sEmpNo);
|
|
DateUtility d = new DateUtility();
|
|
String str = d.getSysDate();
|
|
String monOfSysDate = str.substring(3, 5);
|
|
String yearOfSysDate = str.substring(6, 10);
|
|
String yyyymm = String.valueOf(yearOfSysDate).concat(String.valueOf(monOfSysDate));
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveCode");
|
|
arylstHeaderList.add("hrm.HrmLeaveApplicationQuery.leaveDescription");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
String employeeNumber = null;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
arylstParam.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
arylstParam.add(new DBObject(3, 1, 12, sSex));
|
|
arylstParam.add(new DBObject(4, 1, 12, yyyymm));
|
|
arylstParam.add(new DBObject(5, 1, 12, sEmpNo));
|
|
arylstParam.add(new DBObject(6, 2, -10));
|
|
arylstParam.add(new DBObject(7, 2, 12));
|
|
arylstParam.add(new DBObject(8, 2, 12));
|
|
arylstParam.add(new DBObject(9, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVLOV.proc_GetLvAppQryLeaveCdInsLOV(?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("CODE").getString());
|
|
oLOVBean.setDetailField3(oRow.get("NAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
arylstList = checkLOVConstraint(arylstList, oLovQueryVO);
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public String saveHeaderImpl(BaseHeaderBean oBaseHeaderBean, String ScreenMode) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
String returnString = null;
|
|
String errorMsgFromDB = null;
|
|
String sNetAmount = new String();
|
|
String sLTAAmount = new String();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
DateUtility d = new DateUtility();
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
if (String.valueOf(oHrmLvApplnHdrBean.getLtaFlag()).equalsIgnoreCase("on")) {
|
|
sLTAAmount = calculateLTA(oHrmLvApplnHdrBean);
|
|
if (EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getItPercentage())) {
|
|
String sIT = oHrmLvApplnHdrBean.getItPercentage();
|
|
sNetAmount = String.valueOf(Double.parseDouble(sLTAAmount) - Double.parseDouble(sIT));
|
|
} else {
|
|
sNetAmount = String.valueOf(Double.parseDouble(sLTAAmount));
|
|
}
|
|
}
|
|
ArrayList arylstDetailArray = oHrmLvApplnHdrBean.getDetailArray();
|
|
if (arylstDetailArray.size() == 0)
|
|
try {
|
|
arylstDetailArray = getLeaveDates(oHrmLvApplnHdrBean);
|
|
oHrmLvApplnHdrBean.setDays(getHolidayCount(arylstDetailArray));
|
|
this.bNoDetailView = true;
|
|
} catch (EnrgiseApplicationException enrgiseApplicationException) {}
|
|
if (ScreenMode.equalsIgnoreCase("N")) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "N"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLvApplnHdrBean.getLeaveTypeId()));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getDateApplied())));
|
|
arylstParam.add(new DBObject(5, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getFromAppDate())));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getToAppDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLvApplnHdrBean.getDays()));
|
|
arylstParam.add(new DBObject(8, 1, 12, oHrmLvApplnHdrBean.getAddress()));
|
|
arylstParam.add(new DBObject(9, 1, 12, oHrmLvApplnHdrBean.getPhone()));
|
|
arylstParam.add(new DBObject(10, 1, 12, oHrmLvApplnHdrBean.getPurpose()));
|
|
arylstParam.add(new DBObject(11, 1, 12, oHrmLvApplnHdrBean.getRemarks()));
|
|
arylstParam.add(new DBObject(12, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getLtaFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(13, 1, 12, oHrmLvApplnHdrBean.getOptedFor()));
|
|
arylstParam.add(new DBObject(14, 1, 12, oHrmLvApplnHdrBean.getFromYear()));
|
|
arylstParam.add(new DBObject(15, 1, 12, oHrmLvApplnHdrBean.getItPercentage()));
|
|
arylstParam.add(new DBObject(16, 1, 12, sNetAmount));
|
|
arylstParam.add(new DBObject(17, 1, 12, sLTAAmount));
|
|
arylstParam.add(new DBObject(18, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getMedFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(19, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParam.add(new DBObject(20, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParam.add(new DBObject(21, 1, 12, null));
|
|
arylstParam.add(new DBObject(22, 2, 12));
|
|
arylstParam.add(new DBObject(23, 2, 12));
|
|
arylstParam.add(new DBObject(24, 2, 12));
|
|
arylstParam.add(new DBObject(25, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_UpsertHrEmpLeaveAppHdr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = (String)oOutObject.getObject();
|
|
errorMsgFromDB = (String)((DBObject)arylstOutArray.get(2)).getObject();
|
|
} else if (ScreenMode.equalsIgnoreCase("U")) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "u"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLvApplnHdrBean.getLeaveTypeId()));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getDateApplied())));
|
|
arylstParam.add(new DBObject(5, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getFromAppDate())));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getToAppDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLvApplnHdrBean.getDays()));
|
|
arylstParam.add(new DBObject(8, 1, 12, oHrmLvApplnHdrBean.getAddress()));
|
|
arylstParam.add(new DBObject(9, 1, 12, oHrmLvApplnHdrBean.getPhone()));
|
|
arylstParam.add(new DBObject(10, 1, 12, oHrmLvApplnHdrBean.getPurpose()));
|
|
arylstParam.add(new DBObject(11, 1, 12, oHrmLvApplnHdrBean.getRemarks()));
|
|
arylstParam.add(new DBObject(12, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getLtaFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(13, 1, 12, oHrmLvApplnHdrBean.getOptedFor()));
|
|
arylstParam.add(new DBObject(14, 1, 12, oHrmLvApplnHdrBean.getFromYear()));
|
|
arylstParam.add(new DBObject(15, 1, 12, oHrmLvApplnHdrBean.getItPercentage()));
|
|
arylstParam.add(new DBObject(16, 1, 12, sNetAmount));
|
|
arylstParam.add(new DBObject(17, 1, 12, sLTAAmount));
|
|
arylstParam.add(new DBObject(18, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getMedFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(19, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParam.add(new DBObject(20, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParam.add(new DBObject(21, 1, 12, null));
|
|
arylstParam.add(new DBObject(22, 2, 12));
|
|
arylstParam.add(new DBObject(23, 2, 12));
|
|
arylstParam.add(new DBObject(24, 2, 12));
|
|
arylstParam.add(new DBObject(25, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_UpsertHrEmpLeaveAppHdr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = (String)oOutObject.getObject();
|
|
errorMsgFromDB = (String)((DBObject)arylstOutArray.get(2)).getObject();
|
|
} else if (ScreenMode.equalsIgnoreCase("D")) {
|
|
arylstParam.add(new DBObject(1, 1, 12, oHrmLvApplnHdrBean.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(2, 2, 12));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_DelHrEmpLeaveAppHdr(?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = null;
|
|
}
|
|
System.out.println(String.valueOf("value of error msg from database :").concat(String.valueOf(errorMsgFromDB)));
|
|
if (errorMsgFromDB != null && errorMsgFromDB.equalsIgnoreCase("NtElgLTA")) {
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLeaveApplication.notEligibleLTA", null, "E"));
|
|
} else if (errorMsgFromDB != null && errorMsgFromDB.equalsIgnoreCase("NtElig2YrLTA")) {
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLeaveApplication.notEligible2YearLTA", null, "E"));
|
|
} else if (errorMsgFromDB != null && errorMsgFromDB.equalsIgnoreCase("DupLTA")) {
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLeaveApplication.duplicateLTA", null, "E"));
|
|
} else {
|
|
oBaseHeaderBean.setHeaderPrimaryKey(returnString);
|
|
saveDetailImpl(returnString, (String)null, arylstDetailArray);
|
|
}
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
return returnString;
|
|
}
|
|
|
|
private String calculateLTA(HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseSystemException {
|
|
String sLtaAmount = new String();
|
|
String sGrossLtaAmount = new String();
|
|
int iTotal = 0;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstList = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getOptedFor()));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proccalculateltaamount(?,?,?,?,?,?)");
|
|
DBObject oLta = arylstOutArray.get(0);
|
|
sLtaAmount = ((String)oLta.getObject()).toString();
|
|
return sLtaAmount;
|
|
}
|
|
|
|
public void additionalFieldValidationImpl(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
checkMandatoryHeader((HrmLvApplnHdrBean)oBaseHeaderBean);
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkMandatoryHeader(HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseSystemException, EnrgiseApplicationException {
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
ArrayList arylstParams = new ArrayList();
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getLeaveCodes())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.leaveCodes");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getDateApplied())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.dateApplied");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getFromAppDate())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.fromAppDate");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getToAppDate())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.toAppDate");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
if (EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getLtaFlag()))
|
|
if (oHrmLvApplnHdrBean.getLtaFlag().equalsIgnoreCase("on")) {
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getOptedFor())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.optedFor");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
String dateAppliedYear = oHrmLvApplnHdrBean.getDateApplied().substring(7, 11);
|
|
int prevYear = Integer.valueOf(dateAppliedYear).intValue() - 1;
|
|
String fromYear = oHrmLvApplnHdrBean.getFromYear();
|
|
String optedFor = oHrmLvApplnHdrBean.getOptedFor();
|
|
if (fromYear.equals(dateAppliedYear) && optedFor.equals("2")) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.dateApplied");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstParams.add(new MessageKey("hrm.HrmLvAppln.fromYear"));
|
|
arylstParams.add(new MessageKey("hrm.HrmLvAppln.optedFor"));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLeaveApplication.fromYear.optedFor.validation", arylstParams, "E"));
|
|
}
|
|
if (!fromYear.equalsIgnoreCase(dateAppliedYear) && !fromYear.equalsIgnoreCase(String.valueOf(prevYear))) {
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(new MessageKey("hrm.HrmLvAppln.fromYear"));
|
|
arylstParams.add(String.valueOf(prevYear));
|
|
arylstParams.add(dateAppliedYear);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLeaveApplication.fromYear.prevYear.validation", arylstParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getFromYear())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.fromYear");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", arylstParams, "E"));
|
|
}
|
|
}
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkLtaEligibility(HrmLvApplnHdrBean oHrmLvApplnHdrBean, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
if (Float.parseFloat(oHrmLvApplnHdrBean.getDays()) < 5.0D)
|
|
arylstErrorList.add(new EnrgiseApplicationException("hrm.HrmLvAppln.ltaElig"));
|
|
}
|
|
|
|
private void checkDatesConstraint(HrmLvApplnHdrBean oHrmLvApplnHdrBean, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
|
|
String sAttrId = oHrmLvApplnHdrBean.getLeaveTypeId();
|
|
String sCalId = getCalId(sAttrId);
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
String sStartDate = oBO.getStartDate(sCalId, oHrmLvApplnHdrBean.getDateApplied());
|
|
String sEndDate = oBO.getEndDate(sCalId, oHrmLvApplnHdrBean.getDateApplied());
|
|
if (!oHrmLvApplnHdrBean.getDateApplied().equals(sStartDate)) {
|
|
int dateFlag = EnrgiseUtil.compareDates(dateFormat, oHrmLvApplnHdrBean.getDateApplied(), sStartDate);
|
|
if (dateFlag == -1 && dateFlag != -2)
|
|
arylstErrorList.add(new EnrgiseApplicationException("wenrgise.dateApplied.dateConstraintViolated"));
|
|
if (!oHrmLvApplnHdrBean.getDateApplied().equals(sEndDate)) {
|
|
int dateFlag1 = EnrgiseUtil.compareDates(dateFormat, sEndDate, oHrmLvApplnHdrBean.getDateApplied());
|
|
if (dateFlag1 == -1 && dateFlag1 != -2)
|
|
arylstErrorList.add(new EnrgiseApplicationException("wenrgise.dateApplied.dateConstraintViolated"));
|
|
}
|
|
}
|
|
if (!oHrmLvApplnHdrBean.getToAppDate().equals(oHrmLvApplnHdrBean.getFromAppDate())) {
|
|
int dateFlag = EnrgiseUtil.compareDates(dateFormat, oHrmLvApplnHdrBean.getToAppDate(), oHrmLvApplnHdrBean.getFromAppDate());
|
|
if (dateFlag == -1 && dateFlag != -2)
|
|
arylstErrorList.add(new EnrgiseApplicationException("wenrgise.common.dateConstraintViolated"));
|
|
}
|
|
if (EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getDateApplied())) {
|
|
int dateFlag2 = EnrgiseUtil.compareDates(dateFormat, EnrgiseUtil.convertToString(EnrgiseUtil.getSysDate()), oHrmLvApplnHdrBean.getDateApplied());
|
|
if (dateFlag2 == -1 && dateFlag2 != -2)
|
|
arylstErrorList.add(new EnrgiseApplicationException("hrm.HrmEmpEncash.dateConstraintViolated2"));
|
|
}
|
|
}
|
|
|
|
public String getAllFlagInfo(String sAttrId) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sAllFlag = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sAttrId));
|
|
arylstParam.add(new DBObject(2, 2, -10));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetAllFlag(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sAllFlag = oRow.get("ALL_FLAG").getString();
|
|
}
|
|
return sAllFlag;
|
|
}
|
|
|
|
private String getCalId(String sAttrId) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sCalId = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sAttrId));
|
|
arylstParam.add(new DBObject(2, 2, -10));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetCalId(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sCalId = oRow.get("CAL_MST_ID").getString();
|
|
}
|
|
return sCalId;
|
|
}
|
|
|
|
private ArrayList checkLOVConstraint(ArrayList arylstList, LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
LOVBean oLOVBean = null;
|
|
ArrayList arylstNewList = new ArrayList();
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oLOVBean = itrBean.next();
|
|
String sId = oLOVBean.getDetailField1();
|
|
String sCode = oLOVBean.getDetailField2();
|
|
String sAllFlag = getAllFlagInfo(sId);
|
|
if (sAllFlag.equalsIgnoreCase("Y")) {
|
|
arylstNewList.add(oLOVBean);
|
|
continue;
|
|
}
|
|
if (sCode.equalsIgnoreCase("CL")) {
|
|
arylstNewList.add(oLOVBean);
|
|
continue;
|
|
}
|
|
String sAttrId = oLOVBean.getDetailField1();
|
|
String sQuery = String.valueOf(" Select ELIG_SQL as ELIG_SQL from HRM_LEAVE_ATTR_DTL where ID= ").concat(String.valueOf(sAttrId));
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstList1 = oBean.executeQuery(sQuery);
|
|
Iterator itrBean1 = arylstList1.iterator();
|
|
if (itrBean1.hasNext()) {
|
|
QueryRow oRow = itrBean1.next();
|
|
String sSql = oRow.get("ELIG_SQL").getString();
|
|
if (EnrgiseUtil.checkString(sSql)) {
|
|
String sEmpNo = oLovQueryVO.getProperty("employeeNumber");
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
String sEmpId = oBO.getRefList1("HRM_EMP_PERS", "EMP_NO", sEmpNo, "ID");
|
|
StringBuffer s = new StringBuffer(sSql);
|
|
s.replace(s.lastIndexOf("?"), s.lastIndexOf("?") + 1, sEmpId);
|
|
ArrayList arylstList2 = oBean.executeQuery(s.toString());
|
|
if (arylstList2.size() != 0)
|
|
arylstNewList.add(oLOVBean);
|
|
}
|
|
}
|
|
}
|
|
return arylstNewList;
|
|
}
|
|
|
|
public ArrayList getHrLeaveFlagInfo(String sAttrId) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
BaseDetailVO oBaseDetailVO = null;
|
|
ArrayList arylstFlagDetail = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sAttrId));
|
|
arylstParam.add(new DBObject(2, 2, -10));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetPreSufIntFlag(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
if (arylstList.size() == 0)
|
|
arylstFlagDetail = new ArrayList();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arylstFlagDetail = new ArrayList();
|
|
count++;
|
|
oRow = itrBean.next();
|
|
HrmLvMstHdrBean oHrmLvMstHdrBean = new HrmLvMstHdrBean();
|
|
oHrmLvMstHdrBean.setIntermediateHoliday(oRow.get("intrmdt_hldy_allwd").getString());
|
|
oHrmLvMstHdrBean.setPrefixSuffix(oRow.get("prefix_flag").getString());
|
|
oHrmLvMstHdrBean.setSuffix(oRow.get("suffix_flag").getString());
|
|
oHrmLvMstHdrBean.setMinLeave(oRow.get("min_leave").getString());
|
|
arylstFlagDetail.add(oHrmLvMstHdrBean);
|
|
}
|
|
return arylstFlagDetail;
|
|
}
|
|
|
|
private ArrayList getPrefixDates(String sEmpId, String sWrkgrpId, String sSiteId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
HrmCommonBO oBo = new HrmCommonBO();
|
|
ArrayList arylstPrefixList = new ArrayList();
|
|
String sPrefixDt = sDate;
|
|
Date dDate = oBo.getPreviousDay(sPrefixDt, 1);
|
|
sPrefixDt = EnrgiseUtil.convertToString(dDate);
|
|
int iHolidayType = 0;
|
|
while ((iHolidayType = isHoliday(sEmpId, sWrkgrpId, sSiteId, sPrefixDt)) != 0) {
|
|
HrmLvApplnDtlBean oDtlBean = new HrmLvApplnDtlBean();
|
|
oDtlBean.setTxtDate(sPrefixDt);
|
|
oDtlBean.setDisabtxtDate("true");
|
|
String sHolType = Integer.toString(iHolidayType);
|
|
oDtlBean.setTxtHalfDayFlag(sHolType);
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
oDtlBean.setTxtHolidayFlag("P");
|
|
oDtlBean.setDisabtxtHolidayFlag("true");
|
|
oDtlBean.setStatus("N");
|
|
arylstPrefixList.add(oDtlBean);
|
|
dDate = oBo.getPreviousDay(sPrefixDt, 1);
|
|
sPrefixDt = EnrgiseUtil.convertToString(dDate);
|
|
}
|
|
return arylstPrefixList;
|
|
}
|
|
|
|
private ArrayList getSuffixDates(String sEmpId, String sWrkgrpId, String sSiteId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
HrmCommonBO oBo = new HrmCommonBO();
|
|
ArrayList arylstSuffixList = new ArrayList();
|
|
String sSuffixDt = sDate;
|
|
Date dDate = oBo.getNextDay(sSuffixDt, 1);
|
|
sSuffixDt = EnrgiseUtil.convertToString(dDate);
|
|
int iHolidayType = 0;
|
|
while ((iHolidayType = isHoliday(sEmpId, sWrkgrpId, sSiteId, sSuffixDt)) != 0) {
|
|
HrmLvApplnDtlBean oDtlBean = new HrmLvApplnDtlBean();
|
|
oDtlBean.setTxtDate(sSuffixDt);
|
|
oDtlBean.setDisabtxtDate("true");
|
|
String sHolType = Integer.toString(iHolidayType);
|
|
oDtlBean.setTxtHalfDayFlag(sHolType);
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
oDtlBean.setTxtHolidayFlag("S");
|
|
oDtlBean.setDisabtxtHolidayFlag("true");
|
|
oDtlBean.setStatus("N");
|
|
arylstSuffixList.add(oDtlBean);
|
|
dDate = oBo.getNextDay(sSuffixDt, 1);
|
|
sSuffixDt = EnrgiseUtil.convertToString(dDate);
|
|
}
|
|
return arylstSuffixList;
|
|
}
|
|
|
|
private ArrayList getInterDates(String sEmpId, String sWrkgrpId, String sSiteId, String sDate, int iDateDiff, double dMinLeave, String sInterFlag) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
ArrayList arylstInterDtlList = new ArrayList();
|
|
DateUtility oDateUtil = new DateUtility();
|
|
String sInterDate = sDate;
|
|
Date dDate = oBO.getNextDay(sInterDate, 0);
|
|
while (iDateDiff-- >= 0) {
|
|
int iHolidayType = isHoliday(sEmpId, sWrkgrpId, sSiteId, sInterDate);
|
|
if (iHolidayType != 0) {
|
|
HrmLvApplnDtlBean oDtlBean = new HrmLvApplnDtlBean();
|
|
sInterDate = EnrgiseUtil.convertToString(dDate);
|
|
if (sInterFlag.equalsIgnoreCase("Y")) {
|
|
oDtlBean.setTxtDate(sInterDate);
|
|
oDtlBean.setDisabtxtDate("true");
|
|
oDtlBean.setTxtHalfDayFlag(Integer.toString(iHolidayType));
|
|
if (dMinLeave < 1.0D) {
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
} else {
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
}
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
oDtlBean.setTxtHolidayFlag("I");
|
|
oDtlBean.setDisabtxtHolidayFlag("true");
|
|
oDtlBean.setStatus("N");
|
|
} else {
|
|
oDtlBean.setTxtDate(sInterDate);
|
|
oDtlBean.setDisabtxtDate("true");
|
|
oDtlBean.setTxtHalfDayFlag("3");
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
oDtlBean.setTxtHolidayFlag("H");
|
|
oDtlBean.setDisabtxtHolidayFlag("true");
|
|
oDtlBean.setStatus("N");
|
|
}
|
|
arylstInterDtlList.add(oDtlBean);
|
|
} else {
|
|
HrmLvApplnDtlBean oDtlBean = new HrmLvApplnDtlBean();
|
|
sInterDate = EnrgiseUtil.convertToString(dDate);
|
|
oDtlBean.setTxtDate(sInterDate);
|
|
oDtlBean.setTxtHalfDayFlag("3");
|
|
oDtlBean.setTxtHolidayFlag("W");
|
|
oDtlBean.setStatus("N");
|
|
arylstInterDtlList.add(oDtlBean);
|
|
}
|
|
dDate = oBO.getNextDay(sInterDate, 1);
|
|
sInterDate = EnrgiseUtil.convertToString(dDate);
|
|
}
|
|
return arylstInterDtlList;
|
|
}
|
|
|
|
public String getHolCalMstId(String sSiteId, String sFromDate, String sToDate) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sHolCalMstId = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sSiteId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sFromDate)));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sToDate)));
|
|
arylstParam.add(new DBObject(4, 2, -10));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetHolCalId(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sHolCalMstId = oRow.get("ID").getString();
|
|
}
|
|
return sHolCalMstId;
|
|
}
|
|
|
|
public String getBetHolCount(String sHolCalId, String sFromDate, String sToDate) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sCount = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sHolCalId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sFromDate)));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sToDate)));
|
|
arylstParam.add(new DBObject(4, 2, -10));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetBetHolCount(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sCount = oRow.get("COUNT").getString();
|
|
}
|
|
return sCount;
|
|
}
|
|
|
|
public String getOutStandingLeaves(String sEmpId, String sLeaveId) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
String sCount = null;
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 12, sLeaveId));
|
|
arylstParam.add(new DBObject(3, 2, -10));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.procgetempleaves(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
if (arylstList.size() == 0) {
|
|
sCount = "0";
|
|
} else {
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
sCount = oRow.get("COUNT").getString();
|
|
}
|
|
}
|
|
return sCount;
|
|
}
|
|
|
|
private void checkHeaderConstraint(HrmLvApplnHdrBean oHrmLvApplnHdrBean, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {}
|
|
|
|
public String approveLeaveAppln(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
String sLeaveAppl = null;
|
|
String sStatus = null;
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
ArrayList arylstParameters = new ArrayList();
|
|
HrmLvApplnHdrBean oHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
arylstParameters.add(new DBObject(1, 1, 12, oBaseHeaderBean.getHeaderPrimaryKey()));
|
|
arylstParameters.add(new DBObject(2, 1, 12, oHdrBean.getButtonName()));
|
|
arylstParameters.add(new DBObject(3, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParameters.add(new DBObject(4, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParameters.add(new DBObject(5, 2, 12));
|
|
arylstParameters.add(new DBObject(6, 2, 12));
|
|
arylstParameters.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstPK = oBean.callProc(arylstParameters, "HRMLVAPPLN.proc_ApproveEmpLeave(?,?,?,?,?,?,?)");
|
|
sLeaveAppl = oBaseHeaderBean.getHeaderPrimaryKey();
|
|
return sLeaveAppl;
|
|
}
|
|
|
|
private void processApproveValidation(ArrayList arylstErrorList, String sEmpId, String sLeaveAttrId, String sDays) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
String sStartDate = ((HrmLvApplnDtlBean)this.arylstDtlBean.get(0)).getTxtDate();
|
|
String sEndDate = ((HrmLvApplnDtlBean)this.arylstDtlBean.get(this.arylstDtlBean.size() - 1)).getTxtDate();
|
|
if (isLeaveOverlappingApprove(sEmpId, sStartDate, sEndDate)) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.overlappingLeave", arylstParams, "E"));
|
|
}
|
|
}
|
|
|
|
public String cancelLeaveAppln(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
String sLeaveAppl = null;
|
|
String sStatus = null;
|
|
HrmLvApplnHdrBean oHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
if (oHdrBean.getButtonName().equalsIgnoreCase("R")) {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList oErrorList = new ArrayList();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, oHdrBean.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(2, 2, 12));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proccheckcancellation(?,?,?,?,?)");
|
|
DBObject oErr = arylstOutArray.get(0);
|
|
String sErr = ((String)oErr.getObject()).toString();
|
|
if (Integer.parseInt(sErr) == 0) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpEncash.daysEncashed");
|
|
ArrayList oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.cancellationError", oParams, "E"));
|
|
reportError(oErrorList);
|
|
} else {
|
|
sLeaveAppl = cancelLeaveApplnTxn(oBaseHeaderBean, oWhenPicked, sScreenName, sScreenMode, bHeaderDataChanged, arylstDetailBeanArray, bDetailDataChanged, oDetailPicked);
|
|
}
|
|
}
|
|
return sLeaveAppl;
|
|
}
|
|
|
|
private String cancelLeaveApplnTxn(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = null;
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParameters = new ArrayList();
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParameters.add(new DBObject(3, 1, 12, oHrmLvApplnHdrBean.getLeaveTypeId()));
|
|
arylstParameters.add(new DBObject(4, 1, 12, oHrmLvApplnHdrBean.getDays()));
|
|
arylstParameters.add(new DBObject(5, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLvApplnHdrBean.getDateApplied())));
|
|
arylstParameters.add(new DBObject(6, 2, 12));
|
|
arylstParameters.add(new DBObject(7, 2, 12));
|
|
arylstParameters.add(new DBObject(8, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParameters, "HRMLVAPPLN.cancelLeave(?,?,?,?,?,?,?,?)");
|
|
return sHeaderPrimaryKey;
|
|
}
|
|
|
|
private String approveLeaveApplHdr(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = null;
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParameters = new ArrayList();
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParameters.add(new DBObject(3, 1, 12, oHrmLvApplnHdrBean.getLeaveTypeId()));
|
|
arylstParameters.add(new DBObject(4, 1, 12, oHrmLvApplnHdrBean.getDays()));
|
|
arylstParameters.add(new DBObject(5, 2, 12));
|
|
arylstParameters.add(new DBObject(6, 2, 12));
|
|
arylstParameters.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParameters, "HRMLVAPPLN.proc_UpsertApproveLvApplnHdr(?,?,?,?,?,?,?)");
|
|
return sHeaderPrimaryKey;
|
|
}
|
|
|
|
private void approveLeaveApplTxn(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = null;
|
|
HrmLvApplnHdrBean oHrmLvApplnHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParameters = new ArrayList();
|
|
String sFlag = oHrmLvApplnHdrBean.getButtonName();
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 1, 12, oHrmLvApplnHdrBean.getEmployeeId()));
|
|
arylstParameters.add(new DBObject(3, 1, 12, oHrmLvApplnHdrBean.getLeaveTypeId()));
|
|
arylstParameters.add(new DBObject(4, 1, 12, oHrmLvApplnHdrBean.getButtonName()));
|
|
arylstParameters.add(new DBObject(5, 2, 12));
|
|
arylstParameters.add(new DBObject(6, 2, 12));
|
|
arylstParameters.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstPK = oBean.callProc(arylstParameters, "HRMLVAPPLN.proc_UpsertApproveLvApplnTxn(?,?,?,?,?,?,?)");
|
|
}
|
|
|
|
public ArrayList getLeaveDates(HrmLvApplnHdrBean oHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
if (oHdrBean.getStatusOfLeaves() != null)
|
|
if (!oHdrBean.getStatusOfLeaves().equals("N"))
|
|
return getAppliedLeaves(oHdrBean.getHeaderPrimaryKey());
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
ArrayList arylstPrefixDtlBean = new ArrayList();
|
|
ArrayList arylstIntDtlBean = new ArrayList();
|
|
ArrayList arylstSuffixDtlBean = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
ArrayList arylstParams = new ArrayList();
|
|
String sFromDate = oHdrBean.getFromAppDate();
|
|
String sToDate = oHdrBean.getToAppDate();
|
|
String sWrkgrpId = oHdrBean.getDepartment();
|
|
String sLeaveAttrId = oHdrBean.getLeaveTypeId();
|
|
String sLeaveCode = oHdrBean.getLeaveCodes();
|
|
String sCalId = getCalId(sLeaveAttrId);
|
|
String sEmpId = oHdrBean.getEmployeeId();
|
|
String sSiteId = oHdrBean.getSiteId();
|
|
DateUtility oDateUtil = new DateUtility();
|
|
int iDateDiff = oDateUtil.dateDiff(oBO.getddmmyyyyDateFormat(sFromDate), oBO.getddmmyyyyDateFormat(sToDate));
|
|
if (sFromDate.equals(sToDate))
|
|
iDateDiff = 0;
|
|
if (arylstErrorList.size() != 0)
|
|
reportError(arylstErrorList);
|
|
ArrayList arylstFlags = getHrLeaveFlagInfo(sLeaveAttrId);
|
|
if (arylstFlags != null) {
|
|
HrmLvMstHdrBean oHrmLvMstHdrBean = arylstFlags.get(0);
|
|
if (oHrmLvMstHdrBean != null) {
|
|
double dMinLeave = Double.parseDouble((oHrmLvMstHdrBean.getMinLeave() == null) ? "0" : oHrmLvMstHdrBean.getMinLeave());
|
|
if (oHrmLvMstHdrBean.getPrefixSuffix().equals("Y"))
|
|
arylstPrefixDtlBean = getPrefixDates(sEmpId, sWrkgrpId, sSiteId, sFromDate);
|
|
if (oHrmLvMstHdrBean.getSuffix().equals("Y"))
|
|
arylstSuffixDtlBean = getSuffixDates(sEmpId, sWrkgrpId, sSiteId, sToDate);
|
|
String sInterFlag = oHrmLvMstHdrBean.getIntermediateHoliday();
|
|
arylstIntDtlBean = getInterDates(sEmpId, sWrkgrpId, sSiteId, sFromDate, iDateDiff, dMinLeave, sInterFlag);
|
|
}
|
|
}
|
|
this.arylstDtlBean = new ArrayList();
|
|
for (int iIndex = arylstPrefixDtlBean.size() - 1; iIndex >= 0; iIndex--)
|
|
this.arylstDtlBean.add(arylstPrefixDtlBean.get(iIndex));
|
|
this.arylstDtlBean.addAll(arylstIntDtlBean);
|
|
this.arylstDtlBean.addAll(arylstSuffixDtlBean);
|
|
return this.arylstDtlBean;
|
|
}
|
|
|
|
private int isHoliday(String sEmpId, String sWrkgrpId, String sSiteId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
if (isCalendarHoliday(sEmpId, sDate))
|
|
return 3;
|
|
return isEmployeeHoliday(sEmpId, sDate);
|
|
}
|
|
|
|
private boolean isCalendarHoliday(String sEmpId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sDate)));
|
|
arylstParam.add(new DBObject(3, 2, 4));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_getcalhol(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iHolCount = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = !(iHolCount == 0);
|
|
return sReturnValue;
|
|
}
|
|
|
|
private int isEmployeeHoliday(String sEmpId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sDate)));
|
|
arylstParam.add(new DBObject(3, 2, -10));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetEmpHol(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
if (arylstList == null);
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
HrmCommonBO oComBO = new HrmCommonBO();
|
|
int iDayOfWeek = oComBO.getDayOfWeek(sDate);
|
|
int iWeekOfMonth = oComBO.getWeekOfMonth(sDate);
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("rest_day1").getString()))
|
|
return 3;
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("rest_day2").getString()))
|
|
return 3;
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("half_day1").getString()))
|
|
return 2;
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("half_day2").getString()))
|
|
return 2;
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("rest_week_day1").getString()) && iWeekOfMonth == Integer.parseInt(oRow.get("rest_week1").getString()))
|
|
return 3;
|
|
if (iDayOfWeek == Integer.parseInt(oRow.get("rest_week_day2").getString()) && iWeekOfMonth == Integer.parseInt(oRow.get("rest_week2").getString()))
|
|
return 3;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
private int isWorkgroupHoliday(String sWrkgrpId, String sSiteId, String sDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sWrkgrpId));
|
|
arylstParam.add(new DBObject(2, 1, 12, sSiteId));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sDate)));
|
|
arylstParam.add(new DBObject(4, 2, -10));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetWrkgrpHol(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
if (arylstList == null);
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
HrmCommonBO oComBO = new HrmCommonBO();
|
|
int iDayOfWeek = oComBO.getDayOfWeek(sDate);
|
|
int iWeekOfMonth = oComBO.getWeekOfMonth(sDate);
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
if (iDayOfWeek == oRow.get("rest_day1").getInt())
|
|
return 3;
|
|
if (iDayOfWeek == oRow.get("rest_day2").getInt())
|
|
return 3;
|
|
if (iDayOfWeek == oRow.get("half_day1").getInt())
|
|
return 2;
|
|
if (iDayOfWeek == oRow.get("half_day2").getInt())
|
|
return 2;
|
|
if (iDayOfWeek == oRow.get("rest_week_day1").getInt() && iWeekOfMonth == oRow.get("rest_week1").getInt())
|
|
return 3;
|
|
if (iDayOfWeek == oRow.get("rest_week_day2").getInt() && iWeekOfMonth == oRow.get("rest_week2").getInt())
|
|
return 3;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
private void processSaveValidation(ArrayList arylstErrorList, String sEmpId, String sLeaveAttrId, String sDays, HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
if (this.arylstDtlBean == null)
|
|
return;
|
|
if (this.arylstDtlBean.size() == 0)
|
|
return;
|
|
if (sLeaveAttrId.equalsIgnoreCase("100200500000662") || sLeaveAttrId.equalsIgnoreCase("200608000000682") || sLeaveAttrId.equalsIgnoreCase("200609000000705"))
|
|
if (Float.parseFloat(getOutStandingLeaves(sEmpId, sLeaveAttrId)) < Float.parseFloat(sDays)) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.leaveBalance", arrayList, "E"));
|
|
}
|
|
if (sLeaveAttrId.equalsIgnoreCase("100200500000662"))
|
|
if (Float.parseFloat(sDays) > 4.0D) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.clError", arrayList, "E"));
|
|
}
|
|
if (sLeaveAttrId.equalsIgnoreCase("200609000000705"))
|
|
if (Float.parseFloat(sDays) > 3.0D)
|
|
if (!EnrgiseUtil.checkString(oHrmLvApplnHdrBean.getMedFlag()) || !oHrmLvApplnHdrBean.getMedFlag().equalsIgnoreCase("on")) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.slMedError", arrayList, "E"));
|
|
}
|
|
String sStartDate = ((HrmLvApplnDtlBean)this.arylstDtlBean.get(0)).getTxtDate();
|
|
String sEndDate = ((HrmLvApplnDtlBean)this.arylstDtlBean.get(this.arylstDtlBean.size() - 1)).getTxtDate();
|
|
if (isLeaveOverlapping(sEmpId, sStartDate, sEndDate)) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.overlappingLeave", arrayList, "E"));
|
|
}
|
|
if (!isPrefixAssociated(arylstErrorList, sEmpId, sStartDate, sLeaveAttrId, sDays, oHrmLvApplnHdrBean)) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.prefixAssocNotAllowed", arrayList, "E"));
|
|
}
|
|
if (!isSuffixAssociated(arylstErrorList, sEmpId, sEndDate, sLeaveAttrId, sDays, oHrmLvApplnHdrBean)) {
|
|
ArrayList arrayList = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.suffixAssocNotAllowed", arrayList, "E"));
|
|
}
|
|
String sFromDate = oHrmLvApplnHdrBean.getFromAppDate();
|
|
String sToDate = oHrmLvApplnHdrBean.getToAppDate();
|
|
String sWrkgrpId = oHrmLvApplnHdrBean.getDepartment();
|
|
String sCalId = getCalId(sLeaveAttrId);
|
|
String sSiteId = oHrmLvApplnHdrBean.getSiteId();
|
|
ArrayList arylstParams = new ArrayList();
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
if (EnrgiseUtil.checkString(sDays))
|
|
if (Double.parseDouble(sDays) <= 4) {
|
|
if (EnrgiseUtil.compareDates(new SimpleDateFormat("dd-MMM-yyyy"), sToDate, sFromDate) < 0) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.fromAppDate");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.header.dateValidation", arylstParams, "E"));
|
|
}
|
|
String sCalStartDtForFromDate = oBO.getStartDate(sCalId, sFromDate);
|
|
String sCalStartDtForToDate = oBO.getStartDate(sCalId, sToDate);
|
|
if (isHoliday(sEmpId, sWrkgrpId, sSiteId, sFromDate) != 0) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.fromAppDate");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.header.startDateHoliday", arylstParams, "E"));
|
|
}
|
|
if (isHoliday(sEmpId, sWrkgrpId, sSiteId, sToDate) != 0) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmLvAppln.fromAppDate");
|
|
arylstParams = new ArrayList();
|
|
arylstParams.add(oMessageKey);
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.header.endDateHoliday", arylstParams, "E"));
|
|
}
|
|
}
|
|
if (isApproverAbsent(sEmpId))
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.approverNotFound", arylstParams, "E"));
|
|
if (isNotEligible(sEmpId, sStartDate, sLeaveAttrId))
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.notEligible", arylstParams, "E"));
|
|
Iterator itrDtlArray = this.arylstDtlBean.iterator();
|
|
while (itrDtlArray.hasNext()) {
|
|
HrmLvApplnDtlBean oDtlBean = itrDtlArray.next();
|
|
oDtlBean.getTxtDate();
|
|
}
|
|
}
|
|
|
|
private boolean isNotEligible(String sEmpId, String sStartDate, String sLeaveAttrId) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sStartDate)));
|
|
arylstParam.add(new DBObject(3, 1, 12, sLeaveAttrId));
|
|
arylstParam.add(new DBObject(4, 2, 4));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.procGetEligibility(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = (iVal == 0);
|
|
return sReturnValue;
|
|
}
|
|
|
|
private boolean isApproverAbsent(String sEmpId) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 2, 4));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetApproverId(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = (iVal == 0);
|
|
return sReturnValue;
|
|
}
|
|
|
|
private boolean isLeaveOverlappingApprove(String sEmpId, String sStartDate, String sEndDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sStartDate)));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sEndDate)));
|
|
arylstParam.add(new DBObject(4, 2, 4));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetOverlappingHolApprove(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = !(iVal == 0);
|
|
return sReturnValue;
|
|
}
|
|
|
|
private boolean isLeaveOverlapping(String sEmpId, String sStartDate, String sEndDate) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(sStartDate)));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sEndDate)));
|
|
arylstParam.add(new DBObject(4, 2, 4));
|
|
arylstParam.add(new DBObject(5, 2, 12));
|
|
arylstParam.add(new DBObject(6, 2, 12));
|
|
arylstParam.add(new DBObject(7, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetOverlappingHol(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = !(iVal == 0);
|
|
return sReturnValue;
|
|
}
|
|
|
|
private boolean isPrefixAssociated(ArrayList arylstErrorList, String sEmpId, String sStartDate, String sLeaveAttrId, String sDays, HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
HrmCommonBO oBo = new HrmCommonBO();
|
|
Date dDate = oBo.getPreviousDay(sStartDate, 1);
|
|
String sDate = EnrgiseUtil.convertToString(dDate);
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 12, sLeaveAttrId));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sDate)));
|
|
arylstParam.add(new DBObject(4, 1, 12, sDays));
|
|
arylstParam.add(new DBObject(5, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getMedFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
arylstParam.add(new DBObject(7, 2, 12));
|
|
arylstParam.add(new DBObject(8, 2, 12));
|
|
arylstParam.add(new DBObject(9, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_getassociatedholPref(?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = !(iVal == 0);
|
|
if (iVal == 2) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.prefixAssocNotAllowedCL", arylstParams, "E"));
|
|
}
|
|
if (iVal == 3) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.MedicalErr", arylstParams, "E"));
|
|
}
|
|
return sReturnValue;
|
|
}
|
|
|
|
private boolean isSuffixAssociated(ArrayList arylstErrorList, String sEmpId, String sEndDate, String sLeaveAttrId, String sDays, HrmLvApplnHdrBean oHrmLvApplnHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
HrmCommonBO oBo = new HrmCommonBO();
|
|
Date dDate = oBo.getNextDay(sEndDate, 1);
|
|
String sDate = EnrgiseUtil.convertToString(dDate);
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sEmpId));
|
|
arylstParam.add(new DBObject(2, 1, 12, sLeaveAttrId));
|
|
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sDate)));
|
|
arylstParam.add(new DBObject(4, 1, 12, sDays));
|
|
arylstParam.add(new DBObject(5, 1, 12, String.valueOf(oHrmLvApplnHdrBean.getMedFlag()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(6, 2, 4));
|
|
arylstParam.add(new DBObject(7, 2, 12));
|
|
arylstParam.add(new DBObject(8, 2, 12));
|
|
arylstParam.add(new DBObject(9, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_getassociatedholSuf(?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
boolean sReturnValue = !(iVal == 0);
|
|
if (iVal == 2) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.suffixAssocNotAllowedCL", arylstParams, "E"));
|
|
}
|
|
if (iVal == 3) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.MedicalErr", arylstParams, "E"));
|
|
}
|
|
if (iVal == 4) {
|
|
ArrayList arylstParams = new ArrayList();
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmLvAppln.onlysicklvallowed", arylstParams, "E"));
|
|
}
|
|
return sReturnValue;
|
|
}
|
|
|
|
public ArrayList getAppliedLeaves(String sHdrPK) throws EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, sHdrPK));
|
|
arylstParam.add(new DBObject(2, 2, -10));
|
|
arylstParam.add(new DBObject(3, 2, 12));
|
|
arylstParam.add(new DBObject(4, 2, 12));
|
|
arylstParam.add(new DBObject(5, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLVAPPLN.proc_GetAppliedLeaves(?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
ArrayList arylstList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstList.iterator();
|
|
ArrayList arylstDtlBean = new ArrayList();
|
|
while (itrBean.hasNext()) {
|
|
oRow = itrBean.next();
|
|
HrmLvApplnDtlBean oDtlBean = new HrmLvApplnDtlBean();
|
|
oDtlBean.setDisabtxtDate("true");
|
|
oDtlBean.setDisabtxtHolidayFlag("true");
|
|
oDtlBean.setDisabtxtHalfDayFlag("true");
|
|
oDtlBean.setDetailId(oRow.get("ID").getString());
|
|
oDtlBean.setTxtDate(EnrgiseUtil.convertToString(oRow.get("EFFECT_DATE").getDate()));
|
|
oDtlBean.setTxtHolidayFlag(oRow.get("WORK_DAY_FLAG").getString());
|
|
oDtlBean.setTxtHalfDayFlag(oRow.get("PART_FLAG").getString());
|
|
arylstDtlBean.add(oDtlBean);
|
|
}
|
|
return arylstDtlBean;
|
|
}
|
|
|
|
private String getHolidayCount(ArrayList arylstDtl) {
|
|
double dHolidayCount = 0.0D;
|
|
if (arylstDtl != null) {
|
|
Iterator itrDtlList = arylstDtl.iterator();
|
|
while (itrDtlList.hasNext()) {
|
|
HrmLvApplnDtlBean oDtlBean = itrDtlList.next();
|
|
if (!oDtlBean.getTxtHolidayFlag().equalsIgnoreCase("H")) {
|
|
if (!oDtlBean.getTxtHalfDayFlag().equalsIgnoreCase("3")) {
|
|
dHolidayCount += 0.5D;
|
|
continue;
|
|
}
|
|
dHolidayCount++;
|
|
}
|
|
}
|
|
}
|
|
return Double.toString(dHolidayCount);
|
|
}
|
|
|
|
public WflStatus callWorkFlow(BaseHeaderBean oBaseHeaderBean, ArrayList arylstDetailBeanArray, String activity, String initiatedFlag) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
try {
|
|
WorkFlowFacade2Home oHome = (WorkFlowFacade2Home)WorkFlowServiceLocator2.getLocator().getService("WorkFlowFacade2");
|
|
WorkFlowFacade2 workFlowFacade = oHome.create();
|
|
HrmLvApplnHdrBean oHdrBean = (HrmLvApplnHdrBean)oBaseHeaderBean;
|
|
WflResourceImpl wflResourceImpl = new WflResourceImpl();
|
|
wflResourceImpl.setEmployeeId(this.oUserInfo.getUserTypeId());
|
|
WflSiteImpl wflSiteImpl = new WflSiteImpl();
|
|
wflSiteImpl.setSiteId(this.oUserInfo.getSiteId());
|
|
wflResourceImpl.setLoginSite((WflSite)wflSiteImpl);
|
|
WflDocumentInfoImpl wflDocumentInfoImpl = new WflDocumentInfoImpl();
|
|
wflDocumentInfoImpl.setRequester((WflResource)wflResourceImpl);
|
|
wflDocumentInfoImpl.setDocumentId(oHdrBean.getHeaderPrimaryKey());
|
|
wflDocumentInfoImpl.setDocumentType("Leave");
|
|
wflDocumentInfoImpl.setInitiatedFlag(initiatedFlag);
|
|
String documentTypeId = workFlowFacade.getDocumentTypeId("Leave");
|
|
if (documentTypeId == null)
|
|
throw new EnrgiseSystemException();
|
|
if (!EnrgiseUtil.checkString(initiatedFlag))
|
|
wflDocumentInfoImpl.setWorkListId(oBaseHeaderBean.getWorkListId());
|
|
String activityId = workFlowFacade.getActivityId(activity);
|
|
if (activityId == null)
|
|
throw new EnrgiseSystemException();
|
|
wflDocumentInfoImpl.setDocumentTypeId(documentTypeId);
|
|
if (!activity.equalsIgnoreCase("Reject")) {
|
|
wflDocumentInfoImpl.setDocumentNumber(String.valueOf(String.valueOf("Leave Application For: ").concat(String.valueOf(oHdrBean.getHeaderPrimaryKey()))).concat(String.valueOf(" is pending for approval")));
|
|
wflDocumentInfoImpl.setDocDesc(String.valueOf("The following document has been pending for approval: Leave Application For:").concat(String.valueOf(oHdrBean.getHeaderPrimaryKey())));
|
|
} else if (!activity.equalsIgnoreCase("Approve")) {
|
|
wflDocumentInfoImpl.setDocumentNumber(String.valueOf(String.valueOf("Leave Application For: ").concat(String.valueOf(oHdrBean.getHeaderPrimaryKey()))).concat(String.valueOf(" is pending for rejection")));
|
|
wflDocumentInfoImpl.setDocDesc(String.valueOf("The following document has been pending for rejection: Leave Application For:").concat(String.valueOf(oHdrBean.getHeaderPrimaryKey())));
|
|
}
|
|
wflDocumentInfoImpl.setModuleId("8");
|
|
wflDocumentInfoImpl.setCreator((WflResource)wflResourceImpl);
|
|
wflDocumentInfoImpl.setRequesterAction(activityId);
|
|
HashMap oProp = new HashMap();
|
|
oProp.put("Leave", oHdrBean.getLeaveTypeId());
|
|
wflDocumentInfoImpl.setDocumentAttributes(oProp);
|
|
WflAuthorizationBean wflAuthBean = workFlowFacade.canDo((WflDocumentInfo)wflDocumentInfoImpl);
|
|
if (EnrgiseUtil.checkString(wflAuthBean.getErrorCode()))
|
|
throw new EnrgiseApplicationException(wflAuthBean.getErrorCode());
|
|
if (!wflAuthBean.isAuthStatus())
|
|
throw new EnrgiseApplicationException("wenrgise.workflow.submit.notauthorized");
|
|
WflStatus wflStatus = workFlowFacade.process((WflDocumentInfo)wflDocumentInfoImpl);
|
|
if (wflStatus.getStatus().equals("Error"))
|
|
throw new EnrgiseSystemException();
|
|
workFlowFacade.remove();
|
|
return wflStatus;
|
|
} catch (RemoteException oRtEx) {
|
|
System.out.println(String.valueOf(String.valueOf(String.valueOf("The prblem is ").concat(String.valueOf(oRtEx.getMessage()))).concat(String.valueOf(" the type is "))).concat(String.valueOf(oRtEx.getClass().getName())));
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oRtEx);
|
|
} catch (CreateException oCx) {
|
|
System.out.println(String.valueOf(String.valueOf(String.valueOf("The prblem is ").concat(String.valueOf(oCx.getMessage()))).concat(String.valueOf(" the type is "))).concat(String.valueOf(oCx.getClass().getName())));
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oCx);
|
|
} catch (RemoveException oRx) {
|
|
System.out.println(String.valueOf(String.valueOf(String.valueOf("The prblem is ").concat(String.valueOf(oRx.getMessage()))).concat(String.valueOf(" the type is "))).concat(String.valueOf(oRx.getClass().getName())));
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oRx);
|
|
} catch (Exception oEx) {
|
|
System.out.println(String.valueOf(String.valueOf(String.valueOf("The prblem is ").concat(String.valueOf(oEx.getMessage()))).concat(String.valueOf(" the type is "))).concat(String.valueOf(oEx.getClass().getName())));
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oEx);
|
|
}
|
|
}
|
|
|
|
public LovVO getHrmLvApplnEmpNoNLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.employeeNo");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.firstName");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.middleName");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.lastName");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.grade");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.designation");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.location");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
ArrayList oParameters = new ArrayList();
|
|
ArrayList oList = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
String sSiteId = oLovQueryVO.getProperty("ListSiteId");
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
oParameters.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
oParameters.add(new DBObject(3, 1, 12, sSiteId));
|
|
oParameters.add(new DBObject(4, 2, -10));
|
|
oParameters.add(new DBObject(5, 2, 12));
|
|
oParameters.add(new DBObject(6, 2, 12));
|
|
oParameters.add(new DBObject(7, 2, 4));
|
|
ArrayList oOutArray = oBean.callProc(oParameters, "hrmlvappln.procGetEmpLOVN(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = oOutArray.get(0);
|
|
oList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = oList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
oList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("EMP_NO").getString());
|
|
oLOVBean.setDetailField3(oRow.get("FIRST_NAME").getString());
|
|
oLOVBean.setDetailField4(oRow.get("MIDDLE_NAME").getString());
|
|
oLOVBean.setDetailField5(oRow.get("LAST_NAME").getString());
|
|
oLOVBean.setDetailField6(oRow.get("GRADE").getString());
|
|
oLOVBean.setDetailField7(oRow.get("DESIGNATION").getString());
|
|
oLOVBean.setDetailField8(oRow.get("LOCATION").getString());
|
|
oList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(oList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmLvApplnEmpNoQLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("ID");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.employeeNo");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.firstName");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.middleName");
|
|
arylstHeaderList.add("hrm.HrmEmpPersonalDetails.lastName");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.grade");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.designation");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.location");
|
|
oLovVO.setHeaderList(arylstHeaderList);
|
|
ArrayList arylstVisibility = new ArrayList();
|
|
arylstVisibility.add("H");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
arylstVisibility.add("V");
|
|
oLovVO.setVisibilityList(arylstVisibility);
|
|
int count = 0;
|
|
ArrayList oParameters = new ArrayList();
|
|
ArrayList oList = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sQuerySearch1 = new String();
|
|
String sQuerySearch2 = new String();
|
|
String sSiteId = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
sSiteId = oLovQueryVO.getProperty("ListSiteId");
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, sQuerySearch1));
|
|
oParameters.add(new DBObject(2, 1, 12, sQuerySearch2));
|
|
oParameters.add(new DBObject(3, 1, 12, sSiteId));
|
|
oParameters.add(new DBObject(4, 2, -10));
|
|
oParameters.add(new DBObject(5, 2, 12));
|
|
oParameters.add(new DBObject(6, 2, 12));
|
|
oParameters.add(new DBObject(7, 2, 4));
|
|
ArrayList oOutArray = oBean.callProc(oParameters, "hrmlvappln.procGetEmpLOVQ(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = oOutArray.get(0);
|
|
oList = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = oList.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
oList = new ArrayList();
|
|
count++;
|
|
oRow = iter.next();
|
|
LOVBean oLOVBean = new LOVBean();
|
|
oLOVBean.setDetailField1(oRow.get("ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("EMP_NO").getString());
|
|
oLOVBean.setDetailField3(oRow.get("FIRST_NAME").getString());
|
|
oLOVBean.setDetailField4(oRow.get("MIDDLE_NAME").getString());
|
|
oLOVBean.setDetailField5(oRow.get("LAST_NAME").getString());
|
|
oLOVBean.setDetailField6(oRow.get("GRADE").getString());
|
|
oLOVBean.setDetailField7(oRow.get("DESIGNATION").getString());
|
|
oLOVBean.setDetailField8(oRow.get("LOCATION").getString());
|
|
oList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(oList);
|
|
return oLovVO;
|
|
}
|
|
}
|