Files
HRMS/hrmsEjb/wenrgise/hrms/ejb/business/HrmLvApplnValidationBO.java
2025-07-28 13:56:49 +05:30

167 lines
6.4 KiB
Java

package wenrgise.hrms.ejb.business;
import java.util.ArrayList;
import java.util.Iterator;
import wenrgise.common.ejb.business.HrmCommonBO;
import wenrgise.common.exception.EnrgiseApplicationException;
import wenrgise.common.exception.EnrgiseSystemException;
import wenrgise.common.utility.EnrgiseUtil;
import wenrgise.ejb.common.helper.DBObject;
import wenrgise.ejb.common.helper.QueryRow;
import wenrgise.ejb.common.utility.DBUtilitiesBean;
public class HrmLvApplnValidationBO {
private double dYearsOfService;
private double dEmpYearsOfService;
private double dTimesInService;
private double dEmpTimesInSevice;
private double dDaysInService;
private double dEmpDaysInService;
private double dTimesInPeriod;
private double dMaxDaysPerTransaction;
private double dMinDaysPerTransaction;
private double dMaxLeaveInPeriod;
private double dEmpDaysInPeriod;
private double dEmpTimesInPeriod;
public void getLeaveAvaliabilityDetails(String sLeaveAttrId) throws EnrgiseApplicationException, EnrgiseSystemException {
DBUtilitiesBean oBean = new DBUtilitiesBean();
ArrayList arylstParam = new ArrayList();
arylstParam.add(new DBObject(1, 1, 12, sLeaveAttrId));
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_GetLeaveInfo(?,?,?,?,?)");
DBObject oOutObject = arylstOutArray.get(0);
ArrayList arylstList = (ArrayList)oOutObject.getObject();
QueryRow oRow = null;
Iterator itrBean = arylstList.iterator();
while (itrBean.hasNext()) {
oRow = itrBean.next();
this.dYearsOfService = Double.parseDouble(oRow.get("YEARS_OF_SERVICE").getString());
this.dDaysInService = Double.parseDouble(oRow.get("MAX_AVAIL_SVC_PRD").getString());
this.dTimesInService = Double.parseDouble(oRow.get("txn_per_srv_prd").getString());
this.dMaxLeaveInPeriod = Double.parseDouble(oRow.get("max_avail_cycle").getString());
this.dTimesInPeriod = Double.parseDouble(oRow.get("txn_per_period").getString());
this.dMaxDaysPerTransaction = Double.parseDouble(oRow.get("min_leave_per_txn").getString());
this.dMinDaysPerTransaction = Double.parseDouble(oRow.get("max_leave_per_txn").getString());
}
}
public void getEmpLeaveAvailedDetails(String sEmpId, String sLeaveAttrId, String sStartDate) throws EnrgiseApplicationException, EnrgiseSystemException {
getEmpSrvLeaveAvailedDetails(sEmpId, sLeaveAttrId, sStartDate);
DBUtilitiesBean oBean = new DBUtilitiesBean();
HrmCommonBO oBO = new HrmCommonBO();
this.dEmpYearsOfService = Double.parseDouble(oBO.getRefList1("HRM_EMP_PERS", "ID", sEmpId, String.valueOf(String.valueOf("round(months_between('").concat(String.valueOf(sStartDate))).concat(String.valueOf("',comp_join_date ) /12 ,1)"))));
getEmpPeriodLeaveAvailedDetails(sEmpId, sLeaveAttrId, sStartDate);
}
private void getEmpSrvLeaveAvailedDetails(String sEmpId, String sLeaveAttrId, String sStartDate) 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, 12, sLeaveAttrId));
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sStartDate)));
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, "HRMLVAPPLNQUERY.proc_GetEmpSrvLeaveInfo(?,?,?,?,?,?,?)");
DBObject oOutObject = arylstOutArray.get(0);
ArrayList arylstList = (ArrayList)oOutObject.getObject();
if (arylstList != null) {
QueryRow oRow = null;
Iterator itrBean = arylstList.iterator();
while (itrBean.hasNext()) {
oRow = itrBean.next();
this.dEmpDaysInService = Double.parseDouble(oRow.get("days_srv").getString());
this.dEmpTimesInSevice = Double.parseDouble(oRow.get("times_srv").getString());
}
}
}
private void getEmpPeriodLeaveAvailedDetails(String sEmpId, String sLeaveAttrId, String sStartDate) 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, 12, sLeaveAttrId));
arylstParam.add(new DBObject(3, 1, 93, EnrgiseUtil.convertToSqlDate(sStartDate)));
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, "HRMLVAPPLNQUERY.proc_GetEmpPeriodLeaveInfo(?,?,?,?,?,?,?)");
DBObject oOutObject = arylstOutArray.get(0);
ArrayList arylstList = (ArrayList)oOutObject.getObject();
if (arylstList != null) {
QueryRow oRow = null;
Iterator itrBean = arylstList.iterator();
while (itrBean.hasNext()) {
oRow = itrBean.next();
this.dEmpTimesInPeriod = Double.parseDouble(oRow.get("times_period").getString());
this.dEmpDaysInPeriod = Double.parseDouble(oRow.get("days_period").getString());
}
}
}
public double getDaysInService() {
return this.dDaysInService;
}
public double getEmpDaysInService() {
return this.dEmpDaysInService;
}
public double getEmpTimesInSevice() {
return this.dEmpTimesInSevice;
}
public double getEmpYearsOfService() {
return this.dEmpYearsOfService;
}
public double getTimesInService() {
return this.dTimesInService;
}
public double getYearsOfService() {
return this.dYearsOfService;
}
public double getMaxDaysPerTransaction() {
return this.dMaxDaysPerTransaction;
}
public double getMinDaysPerTransaction() {
return this.dMinDaysPerTransaction;
}
public double getEmpDaysInPeriod() {
return this.dEmpDaysInPeriod;
}
public double getEmpTimesInPeriod() {
return this.dEmpTimesInPeriod;
}
public double getMaxLeaveInPeriod() {
return this.dMaxLeaveInPeriod;
}
public double getTimesInPeriod() {
return this.dTimesInPeriod;
}
}