1752 lines
92 KiB
Java
1752 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.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.EnrgiseUtil;
|
|
import wenrgise.common.utility.MessageKey;
|
|
import wenrgise.common.utility.RecordMetaInfo;
|
|
import wenrgise.common.utility.UserInfo;
|
|
import wenrgise.common.utility.WorkFlowServiceLocator;
|
|
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.HrmLnAppDtlBean;
|
|
import wenrgise.hrms.bean.HrmLnAppHdrBean;
|
|
import wenrgise.hrms.bean.HrmLnDisDtlBean;
|
|
import wenrgise.hrms.bean.HrmLnHblIntDtlBean;
|
|
import wenrgise.hrms.vo.HrmLnAppQVO;
|
|
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.WorkFlowFacade;
|
|
import wenrgise.workflow.ejb.facade.WorkFlowFacadeHome;
|
|
|
|
public class HrmLnAppBO extends HrmBaseBO {
|
|
public HrmLnAppBO() {}
|
|
|
|
public HrmLnAppBO(UserInfo oUserInfo) {
|
|
super(oUserInfo);
|
|
}
|
|
|
|
public RecordMetaInfo getHrEmpLoanAppHdrMetaInfo(HrmLnAppQVO oHrmLnAppQVO) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList oParameters = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, oHrmLnAppQVO.getHeaderPrimaryKey()));
|
|
oParameters.add(new DBObject(2, 1, 12, oHrmLnAppQVO.getEmployeeNumber()));
|
|
oParameters.add(new DBObject(3, 1, 12, oHrmLnAppQVO.getLoanCode()));
|
|
oParameters.add(new DBObject(4, 2, -5));
|
|
oParameters.add(new DBObject(5, 2, 93));
|
|
oParameters.add(new DBObject(6, 2, 12));
|
|
oParameters.add(new DBObject(7, 2, 12));
|
|
oParameters.add(new DBObject(8, 2, 4));
|
|
ArrayList oOutArray = oBean.callProc(oParameters, "HRMLNAPPL.procHrmLnAppHdrCount(?,?,?,?,?,?,?,?)");
|
|
RecordMetaInfo oRecordMetaInfo = new RecordMetaInfo();
|
|
DBObject oTotalRecord = oOutArray.get(0);
|
|
oRecordMetaInfo.setRecordCount(((Long)oTotalRecord.getObject()).longValue());
|
|
DBObject oTimeObject = oOutArray.get(1);
|
|
oRecordMetaInfo.setOWhenPicked((Timestamp)oTimeObject.getObject());
|
|
return oRecordMetaInfo;
|
|
}
|
|
|
|
public ArrayList getHrEmpLoanAppHeader(HrmLnAppQVO oHrmLnAppQVO, long lStartPosition, long lLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList oParameters = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
ArrayList oList = null;
|
|
Iterator oIt = null;
|
|
ArrayList oEmpLoanAppDetail = null;
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, -5, new Long(lStartPosition)));
|
|
oParameters.add(new DBObject(2, 1, -5, new Long(lLastPosition)));
|
|
oParameters.add(new DBObject(3, 1, 12, oHrmLnAppQVO.getHeaderPrimaryKey()));
|
|
oParameters.add(new DBObject(4, 1, 12, oHrmLnAppQVO.getEmployeeNumber()));
|
|
oParameters.add(new DBObject(5, 1, 12, oHrmLnAppQVO.getLoanCode()));
|
|
oParameters.add(new DBObject(6, 2, -10));
|
|
oParameters.add(new DBObject(7, 2, 12));
|
|
oParameters.add(new DBObject(8, 2, 12));
|
|
oParameters.add(new DBObject(9, 2, 4));
|
|
ArrayList oOutArray = oBean.callProc(oParameters, "HRMLNAPPL.procHrmLnAppHdr(?,?,?,?,?,?,?,?,?)");
|
|
oList = (ArrayList)((DBObject)oOutArray.get(0)).getObject();
|
|
if (oList.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
count = 0;
|
|
oIt = oList.iterator();
|
|
while (oIt.hasNext()) {
|
|
if (count == 0)
|
|
oEmpLoanAppDetail = new ArrayList();
|
|
count++;
|
|
oRow = oIt.next();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = new HrmLnAppHdrBean();
|
|
oHrmLnAppHdrBean.setHeaderPrimaryKey(oRow.get("ID").getString());
|
|
oHrmLnAppHdrBean.setEmpId(oRow.get("EMP_ID").getString());
|
|
oHrmLnAppHdrBean.setEmployeeNumber(oRow.get("EMP_NO").getString());
|
|
oHrmLnAppHdrBean.setFirstName(oRow.get("FIRST_NAME").getString());
|
|
oHrmLnAppHdrBean.setMiddleName(oRow.get("MIDDLE_NAME").getString());
|
|
oHrmLnAppHdrBean.setLastName(oRow.get("LAST_NAME").getString());
|
|
oHrmLnAppHdrBean.setGrade(oRow.get("GRADE").getString());
|
|
oHrmLnAppHdrBean.setDesignation(oRow.get("DESIGNATION").getString());
|
|
oHrmLnAppHdrBean.setLocation(oRow.get("LOCATION").getString());
|
|
oHrmLnAppHdrBean.setLoanCode(oRow.get("LOAN_CODE").getString());
|
|
oHrmLnAppHdrBean.setLoanDesc(oRow.get("LOAN_NAME").getString());
|
|
oHrmLnAppHdrBean.setLoanCodeId(oRow.get("LOAN_ID").getString());
|
|
oHrmLnAppHdrBean.setAppliedAmount(oRow.get("APPLIED_AMOUNT").getString());
|
|
oHrmLnAppHdrBean.setApplnDate(EnrgiseUtil.convertToString(oRow.get("APPLICATION_DATE").getDate()));
|
|
oHrmLnAppHdrBean.setEligibleAmount(oRow.get("ELIG_LOAN_AMT").getString());
|
|
oHrmLnAppHdrBean.setFullyRepaid(String.valueOf(oRow.get("FULLY_REPAID_FLAG").getString()).equalsIgnoreCase("Y") ? "on" : "off");
|
|
oHrmLnAppHdrBean.setLoanDetails(oRow.get("LOAN_DETAILS").getString());
|
|
oHrmLnAppHdrBean.setApproverNoId(oRow.get("APPROVER_ID").getString());
|
|
oHrmLnAppHdrBean.setApproverName(oRow.get("APPROVER_NAME").getString());
|
|
oHrmLnAppHdrBean.setSanctionedAmount(oRow.get("LOAN_AMOUNT").getString());
|
|
oHrmLnAppHdrBean.setSanctionDate(EnrgiseUtil.convertToString(oRow.get("SANCTION_DATE").getDate()));
|
|
oHrmLnAppHdrBean.setRemarks(oRow.get("APPROVER_REMARKS").getString());
|
|
oHrmLnAppHdrBean.setTotalInst(oRow.get("NO_OF_INSTALMENTS").getString());
|
|
oHrmLnAppHdrBean.setTotalPrincipalInst(oRow.get("NO_OF_INST_PRINCIPAL").getString());
|
|
oHrmLnAppHdrBean.setTotalInterestInst(oRow.get("NO_OF_INST_INTEREST").getString());
|
|
oHrmLnAppHdrBean.setInstAmount(oRow.get("INSTALLMENT_AMOUNT").getString());
|
|
oHrmLnAppHdrBean.setPayrollMonth(oRow.get("RECOVERY_YYYYMM").getString());
|
|
oHrmLnAppHdrBean.setNoOfInstPaid(oRow.get("NO_OF_INST_PAID").getString());
|
|
oHrmLnAppHdrBean.setNoOfInstPrincipalPaid(oRow.get("NO_OF_INST_PAID_PRINCIPAL").getString());
|
|
oHrmLnAppHdrBean.setNoOfInstInterestPaid(oRow.get("NO_OF_INST_PAID_INTEREST").getString());
|
|
oHrmLnAppHdrBean.setTotalAmountPaid(oRow.get("TOTAL_AMOUNT_PAID").getString());
|
|
oHrmLnAppHdrBean.setPrincipalPaid(oRow.get("TOTAL_PRINCIPAL_PAID").getString());
|
|
oHrmLnAppHdrBean.setInterestPaid(oRow.get("TOTAL_INTEREST_PAID").getString());
|
|
oHrmLnAppHdrBean.setTotalBalance(oRow.get("TOTAL_OUTSTG_BAL").getString());
|
|
oHrmLnAppHdrBean.setPrincipalBalance(oRow.get("OUTSTG_BAL_PRINCIPAL").getString());
|
|
oHrmLnAppHdrBean.setInterestBalance(oRow.get("OUTSTG_BAL_INTEREST").getString());
|
|
oHrmLnAppHdrBean.setHblAppliedFor(oRow.get("HBL_APPLIED_FOR").getString());
|
|
oHrmLnAppHdrBean.setHblBookNo(oRow.get("HBL_BOOK_NO").getString());
|
|
oHrmLnAppHdrBean.setHblBranhConst(oRow.get("HBL_NEAREST_BRANCH").getString());
|
|
oHrmLnAppHdrBean.setHblCity(oRow.get("HBL_CITY").getString());
|
|
oHrmLnAppHdrBean.setHblDag(oRow.get("HBL_DAG_CSPLOT").getString());
|
|
oHrmLnAppHdrBean.setHblDistrict(oRow.get("HBL_DIST").getString());
|
|
oHrmLnAppHdrBean.setHblDocSubmitted(String.valueOf(oRow.get("HBL_DOC_FLAG").getString()).equalsIgnoreCase("Y") ? "on" : "off");
|
|
oHrmLnAppHdrBean.setHblKhatian(oRow.get("HBL_KHATIAN").getString());
|
|
oHrmLnAppHdrBean.setHblMouza(oRow.get("HBL_MOUZA").getString());
|
|
oHrmLnAppHdrBean.setHblNoOfDeed(oRow.get("HBL_DEED_NO").getString());
|
|
oHrmLnAppHdrBean.setHblPageNo(oRow.get("HBL_PAGE_NO").getString());
|
|
oHrmLnAppHdrBean.setHblParentDeed(oRow.get("HBL_PARENT_DEED_NO").getString());
|
|
oHrmLnAppHdrBean.setHblPO(oRow.get("HBL_PO").getString());
|
|
oHrmLnAppHdrBean.setHblRegisteredAt(oRow.get("HBL_REGISTER_ADD").getString());
|
|
oHrmLnAppHdrBean.setHblVolOfDeed(oRow.get("HBL_DEED_VOL").getString());
|
|
oEmpLoanAppDetail.add(oHrmLnAppHdrBean);
|
|
}
|
|
return oEmpLoanAppDetail;
|
|
}
|
|
|
|
public RecordMetaInfo getHrmLnAppDtlMetaInfo(String lPrimaryKey) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, lPrimaryKey));
|
|
arylstParam.add(new DBObject(2, 2, -5));
|
|
arylstParam.add(new DBObject(3, 2, 93));
|
|
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, "HRMLNAPPL.procHrLnAppDtlCount(?,?,?,?,?,?)");
|
|
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 getHrmLnAppDtl(String lPrimaryKey, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
BaseDetailVO oBaseDetailVO = null;
|
|
ArrayList arrLoanApp = 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, lPrimaryKey));
|
|
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, "HRMLNAPPL.procHrLnAppDtl(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
arylstParam = (ArrayList)oOutObject.getObject();
|
|
if (arylstParam.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstParam.iterator();
|
|
HrmLnAppDtlBean oHrmLnAppDtlBean = new HrmLnAppDtlBean();
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arrLoanApp = new ArrayList();
|
|
count++;
|
|
oRow = (QueryRow)itrBean.next();
|
|
oHrmLnAppDtlBean.setDetailId(oRow.get("ID").getString());
|
|
oHrmLnAppDtlBean.setAppliedAmount(oRow.get("APPLIED_AMOUNT").getString());
|
|
oHrmLnAppDtlBean.setApplnDate(EnrgiseUtil.convertToString(oRow.get("APPLICATION_DATE").getDate()));
|
|
oHrmLnAppDtlBean.setApprovedFlag(oRow.get("APPROVED_FLAG").getString());
|
|
oHrmLnAppDtlBean.setEligibleAmount(oRow.get("ELIG_LOAN_AMT").getString());
|
|
oHrmLnAppDtlBean.setFirstInstDate(EnrgiseUtil.convertToString(oRow.get("FIRST_INSTAL_PAY_DATE").getDate()));
|
|
oHrmLnAppDtlBean.setFullyRepaid(String.valueOf(oRow.get("FULLY_REPAID_FLAG").getString()).equalsIgnoreCase("Y") ? "on" : "off");
|
|
oHrmLnAppDtlBean.setNoOfInstallment(oRow.get("NO_OF_INSTALMENTS").getString());
|
|
oHrmLnAppDtlBean.setPercProperty(oRow.get("PERC_PROPERTY").getString());
|
|
oHrmLnAppDtlBean.setPropertyPrice(oRow.get("PROPERTY_PRICE").getString());
|
|
oHrmLnAppDtlBean.setReason(oRow.get("REASON").getString());
|
|
oHrmLnAppDtlBean.setRemarks(oRow.get("REJECTION_REMARK").getString());
|
|
oHrmLnAppDtlBean.setSanctionedAmount(oRow.get("LOAN_AMOUNT").getString());
|
|
oHrmLnAppDtlBean.setSanctionDate(EnrgiseUtil.convertToString(oRow.get("SANCTION_DATE").getDate()));
|
|
arrLoanApp.add(oHrmLnAppDtlBean);
|
|
}
|
|
return arrLoanApp;
|
|
}
|
|
|
|
public RecordMetaInfo getHrmLnDisDtlMetaInfo(String lPrimaryKey) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, lPrimaryKey));
|
|
arylstParam.add(new DBObject(2, 2, -5));
|
|
arylstParam.add(new DBObject(3, 2, 93));
|
|
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, "HRMLNAPPL.procHrLnDisDtlCount(?,?,?,?,?,?)");
|
|
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 getHrmLnDisDtl(String lPrimaryKey, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
BaseDetailVO oBaseDetailVO = null;
|
|
ArrayList arrLoanDisburse = 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, lPrimaryKey));
|
|
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, "HRMLNAPPL.procHrLnDisDtl(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
arylstParam = (ArrayList)oOutObject.getObject();
|
|
if (arylstParam.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstParam.iterator();
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arrLoanDisburse = new ArrayList();
|
|
count++;
|
|
oRow = (QueryRow)itrBean.next();
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = new HrmLnDisDtlBean();
|
|
oHrmLnDisDtlBean.setDetailId(oRow.get("ID").getString());
|
|
oHrmLnDisDtlBean.setTentativeDisDate(EnrgiseUtil.convertToString(oRow.get("TENTATIVE_DATE").getDate()));
|
|
oHrmLnDisDtlBean.setTentativeAmt(oRow.get("TENTATIVE_AMOUNT").getString());
|
|
oHrmLnDisDtlBean.setActDisDate(EnrgiseUtil.convertToString(oRow.get("ACTUAL_DATE").getDate()));
|
|
oHrmLnDisDtlBean.setActDisAmt(oRow.get("ACTUAL_AMOUNT").getString());
|
|
arrLoanDisburse.add(oHrmLnDisDtlBean);
|
|
}
|
|
return arrLoanDisburse;
|
|
}
|
|
|
|
public RecordMetaInfo getHrmLnHblIntRateMetaInfo(String lPrimaryKey) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, lPrimaryKey));
|
|
arylstParam.add(new DBObject(2, 2, -5));
|
|
arylstParam.add(new DBObject(3, 2, 93));
|
|
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, "HRMLNAPPL.prochrlnHblIntcount(?,?,?,?,?,?)");
|
|
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 getHrmLnHblIntRateDtl(String lPrimaryKey, long lDetailFirstPosition, long lDetailLastPosition) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
int count = 0;
|
|
BaseDetailVO oBaseDetailVO = null;
|
|
ArrayList arrHblIntRate = 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, lPrimaryKey));
|
|
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, "HRMLNAPPL.prochrlnHblInt(?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
arylstParam = (ArrayList)oOutObject.getObject();
|
|
if (arylstParam.size() == 0)
|
|
throw new EnrgiseApplicationException("wenrgise.hrms.norecordfound", "M");
|
|
QueryRow oRow = null;
|
|
QueryValue oValue = null;
|
|
HashMap oColumns = null;
|
|
Iterator itrBean = arylstParam.iterator();
|
|
while (itrBean.hasNext()) {
|
|
if (count == 0)
|
|
arrHblIntRate = new ArrayList();
|
|
count++;
|
|
oRow = (QueryRow)itrBean.next();
|
|
HrmLnHblIntDtlBean oHrmLnHblIntDtlBean = new HrmLnHblIntDtlBean();
|
|
oHrmLnHblIntDtlBean.setDetailId(oRow.get("ID").getString());
|
|
oHrmLnHblIntDtlBean.setTxtFromAmount(oRow.get("amount_from").getString());
|
|
oHrmLnHblIntDtlBean.setTxtToAmount(oRow.get("amount_to").getString());
|
|
oHrmLnHblIntDtlBean.setTxtPercentage(oRow.get("int_perc").getString());
|
|
arrHblIntRate.add(oHrmLnHblIntDtlBean);
|
|
}
|
|
return arrHblIntRate;
|
|
}
|
|
|
|
public LovVO getHrmLnAppEmpNoQLOVdata(LovQueryVO oLovQueryVO) throws 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 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, "HRMLNAPPL.procGetEmpQLOVdata(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
arylstParam = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstParam.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstParam = new ArrayList();
|
|
count++;
|
|
oRow = (QueryRow)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());
|
|
arylstParam.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstParam);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmLnAppEmpNoLOVdata(LovQueryVO oLovQueryVO) throws 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 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, "HRMLNAPPL.procGetEmpLOVdata(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
arylstParam = (ArrayList)oOutObject.getObject();
|
|
QueryRow oRow = null;
|
|
Iterator iter = arylstParam.iterator();
|
|
while (iter.hasNext()) {
|
|
if (count == 0)
|
|
arylstParam = new ArrayList();
|
|
count++;
|
|
oRow = (QueryRow)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());
|
|
arylstParam.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstParam);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmLnAppLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("Code ID");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.loanCode");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.loanDesc");
|
|
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();
|
|
String sEmpId = new String();
|
|
if (oLovQueryVO.getSearchField1() != null)
|
|
sQuerySearch1 = oLovQueryVO.getSearchField1();
|
|
if (oLovQueryVO.getSearchField2() != null)
|
|
sQuerySearch2 = oLovQueryVO.getSearchField2();
|
|
if (oLovQueryVO.getProperty("empId") != null)
|
|
sEmpId = 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, sEmpId));
|
|
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, "HRMLNAPPL.procGetHrmLnAppLOVdata(?,?,?,?,?,?,?)");
|
|
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("LOAN_ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("LOAN_CODE").getString());
|
|
oLOVBean.setDetailField3(oRow.get("LOAN_NAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
public LovVO getHrmLnAppInsLOVdata(LovQueryVO oLovQueryVO) throws EnrgiseSystemException {
|
|
String sEmpId = oLovQueryVO.getProperty("empId");
|
|
LovVO oLovVO = new LovVO();
|
|
ArrayList arylstHeaderList = new ArrayList();
|
|
arylstHeaderList.add("Code ID");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.loanCode");
|
|
arylstHeaderList.add("hrm.HrmEmpLoanAppln.loanDesc");
|
|
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, 1, 12, sEmpId));
|
|
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, "HRMLNAPPL.procGetHrmLnAppInsLOVdata(?,?,?,?,?,?,?)");
|
|
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("LOAN_ID").getString());
|
|
oLOVBean.setDetailField2(oRow.get("LOAN_CODE").getString());
|
|
oLOVBean.setDetailField3(oRow.get("LOAN_NAME").getString());
|
|
arylstList.add(oLOVBean);
|
|
}
|
|
arylstList = checkLOVConstraint(arylstList, oLovQueryVO);
|
|
oLovVO.setDetailList(arylstList);
|
|
return oLovVO;
|
|
}
|
|
|
|
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 sAllFlag = getAllFlagInfo(sId);
|
|
System.out.println(sAllFlag);
|
|
if (sAllFlag.equalsIgnoreCase("Y")) {
|
|
arylstNewList.add(oLOVBean);
|
|
continue;
|
|
}
|
|
String sLoanId = oLOVBean.getDetailField1();
|
|
String sQuery = String.valueOf(" Select ELIG_SQL as ELIG_SQL from HRM_LOAN_DTL where ID= ").concat(String.valueOf(sLoanId));
|
|
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 sEmpId = oLovQueryVO.getProperty("empId");
|
|
StringBuffer s = new StringBuffer(sSql);
|
|
s.replace(s.lastIndexOf("?"), s.lastIndexOf("?") + 1, sEmpId);
|
|
System.out.println(s);
|
|
ArrayList arylstList2 = oBean.executeQuery(s.toString());
|
|
if (arylstList2.size() != 0)
|
|
arylstNewList.add(oLOVBean);
|
|
}
|
|
}
|
|
}
|
|
return arylstNewList;
|
|
}
|
|
|
|
public String getAllFlagInfo(String sLoanId) 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, sLoanId));
|
|
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, "HRMLNAPPL.procGetAllFlag(?,?,?,?,?)");
|
|
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;
|
|
}
|
|
|
|
public void initializeBOImpl() {
|
|
this.headerTable = "HRM_EMP_LOAN";
|
|
}
|
|
|
|
public void saveDetailImpl(String sHeaderPrimaryKey, String sScreenName, ArrayList arylstDetailBeanArray) throws EnrgiseSystemException {
|
|
if (sScreenName.equalsIgnoreCase("HrmLnApp"))
|
|
saveHrmLnDisDtl(sHeaderPrimaryKey, arylstDetailBeanArray);
|
|
if (sScreenName.equalsIgnoreCase("HrmLnAppHblIntRate"))
|
|
saveHrmLnHblIntRate(sHeaderPrimaryKey, arylstDetailBeanArray);
|
|
}
|
|
|
|
private void saveHrmLnDisDtl(String sHeaderPrimaryKey, ArrayList arylstDetailBeanArray) throws EnrgiseSystemException {
|
|
boolean bInsert = false;
|
|
boolean bUpdate = false;
|
|
boolean bDelete = false;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = null;
|
|
DBUtilitiesBean oBean1 = null;
|
|
Iterator itrBean = arylstDetailBeanArray.iterator();
|
|
while (itrBean.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = itrBean.next();
|
|
if (oHrmLnDisDtlBean.getStatus().equals("N")) {
|
|
if (!bInsert) {
|
|
oBean = new DBUtilitiesBean();
|
|
oBean.createBatch("HRMLNAPPL.procUpsertHrmLnDisDtl(?,?,?,?,?,?,?,?,?)");
|
|
bInsert = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "I"));
|
|
arylstParam.add(new DBObject(2, 1, 12, null));
|
|
arylstParam.add(new DBObject(3, 1, 12, sHeaderPrimaryKey));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnDisDtlBean.getTentativeDisDate())));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnDisDtlBean.getTentativeAmt()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnDisDtlBean.getActDisDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLnDisDtlBean.getActDisAmt()));
|
|
arylstParam.add(new DBObject(8, 1, 12, this.oUserInfo.getUserId()));
|
|
arylstParam.add(new DBObject(9, 1, 12, this.oUserInfo.getSiteId()));
|
|
oBean.addToBatch(arylstParam);
|
|
continue;
|
|
}
|
|
if (oHrmLnDisDtlBean.getStatus().equals("U")) {
|
|
if (!bUpdate) {
|
|
oBean = new DBUtilitiesBean();
|
|
oBean.createBatch("HRMLNAPPL.procUpsertHrmLnDisDtl(?,?,?,?,?,?,?,?,?)");
|
|
bUpdate = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "U"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLnDisDtlBean.getDetailId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, sHeaderPrimaryKey));
|
|
arylstParam.add(new DBObject(4, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnDisDtlBean.getTentativeDisDate())));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnDisDtlBean.getTentativeAmt()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnDisDtlBean.getActDisDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLnDisDtlBean.getActDisAmt()));
|
|
arylstParam.add(new DBObject(8, 1, 12, this.oUserInfo.getUserId()));
|
|
arylstParam.add(new DBObject(9, 1, 12, this.oUserInfo.getSiteId()));
|
|
oBean.addToBatch(arylstParam);
|
|
continue;
|
|
}
|
|
if (oHrmLnDisDtlBean.getStatus().equals("D")) {
|
|
if (!bDelete) {
|
|
oBean1 = new DBUtilitiesBean();
|
|
oBean1.createBatch("HRMLNAPPL.procDeleteHrmLnDisDtl(?)");
|
|
bDelete = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, oHrmLnDisDtlBean.getDetailId()));
|
|
oBean1.addToBatch(arylstParam);
|
|
}
|
|
}
|
|
if (bInsert)
|
|
oBean.executeBatch();
|
|
if (bUpdate)
|
|
oBean.executeBatch();
|
|
if (bDelete)
|
|
oBean1.executeBatch();
|
|
}
|
|
|
|
private void saveHrmLnHblIntRate(String sHeaderPrimaryKey, ArrayList arylstDetailBeanArray) throws EnrgiseSystemException {
|
|
boolean bInsert = false;
|
|
boolean bUpdate = false;
|
|
boolean bDelete = false;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = null;
|
|
DBUtilitiesBean oBean1 = null;
|
|
DBUtilitiesBean oBean2 = null;
|
|
Iterator itrBean = arylstDetailBeanArray.iterator();
|
|
while (itrBean.hasNext()) {
|
|
HrmLnHblIntDtlBean oHrmLnHblIntDtlBean = itrBean.next();
|
|
if (oHrmLnHblIntDtlBean.getStatus().equals("N")) {
|
|
if (!bInsert) {
|
|
oBean = new DBUtilitiesBean();
|
|
oBean.createBatch("HRMLNAPPL.procupserthrmHblInt(?,?,?,?,?,?,?,?)");
|
|
bInsert = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "I"));
|
|
arylstParam.add(new DBObject(2, 1, 12, null));
|
|
arylstParam.add(new DBObject(3, 1, 12, sHeaderPrimaryKey));
|
|
arylstParam.add(new DBObject(4, 1, 12, oHrmLnHblIntDtlBean.getTxtFromAmount()));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnHblIntDtlBean.getTxtToAmount()));
|
|
arylstParam.add(new DBObject(6, 1, 12, oHrmLnHblIntDtlBean.getTxtPercentage()));
|
|
arylstParam.add(new DBObject(7, 1, 12, this.oUserInfo.getUserId()));
|
|
arylstParam.add(new DBObject(8, 1, 12, this.oUserInfo.getSiteId()));
|
|
oBean.addToBatch(arylstParam);
|
|
continue;
|
|
}
|
|
if (oHrmLnHblIntDtlBean.getStatus().equals("U")) {
|
|
if (!bUpdate) {
|
|
oBean2 = new DBUtilitiesBean();
|
|
oBean2.createBatch("HRMLNAPPL.procupserthrmHblInt(?,?,?,?,?,?,?,?)");
|
|
bUpdate = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "U"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLnHblIntDtlBean.getDetailId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, sHeaderPrimaryKey));
|
|
arylstParam.add(new DBObject(4, 1, 12, oHrmLnHblIntDtlBean.getTxtFromAmount()));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnHblIntDtlBean.getTxtToAmount()));
|
|
arylstParam.add(new DBObject(6, 1, 12, oHrmLnHblIntDtlBean.getTxtPercentage()));
|
|
arylstParam.add(new DBObject(7, 1, 12, this.oUserInfo.getUserId()));
|
|
arylstParam.add(new DBObject(8, 1, 12, this.oUserInfo.getSiteId()));
|
|
oBean2.addToBatch(arylstParam);
|
|
continue;
|
|
}
|
|
if (oHrmLnHblIntDtlBean.getStatus().equals("D")) {
|
|
if (!bDelete) {
|
|
oBean1 = new DBUtilitiesBean();
|
|
oBean1.createBatch("HRMLNAPPL.procdeleteLoanIntRate(?)");
|
|
bDelete = true;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, oHrmLnHblIntDtlBean.getDetailId()));
|
|
oBean1.addToBatch(arylstParam);
|
|
}
|
|
}
|
|
if (bInsert)
|
|
oBean.executeBatch();
|
|
if (bUpdate)
|
|
oBean2.executeBatch();
|
|
if (bDelete)
|
|
oBean1.executeBatch();
|
|
}
|
|
|
|
public String saveHeaderImpl(BaseHeaderBean oBaseHeaderBean, String ScreenMode) throws EnrgiseSystemException {
|
|
String returnString = null;
|
|
ArrayList arylstParam = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
String sEligAmount = calculateEligibleAmount((HrmLnAppHdrBean)oBaseHeaderBean);
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
if (ScreenMode.equalsIgnoreCase("N")) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "i"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLnAppHdrBean.getLoanCodeId()));
|
|
arylstParam.add(new DBObject(4, 1, 12, sEligAmount));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnAppHdrBean.getAppliedAmount()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getApplnDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLnAppHdrBean.getLoanDetails()));
|
|
arylstParam.add(new DBObject(8, 1, 12, String.valueOf(oHrmLnAppHdrBean.getFullyRepaid()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(9, 1, 12, oHrmLnAppHdrBean.getSanctionedAmount()));
|
|
arylstParam.add(new DBObject(10, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getSanctionDate())));
|
|
arylstParam.add(new DBObject(11, 1, 12, oHrmLnAppHdrBean.getPayrollMonth()));
|
|
arylstParam.add(new DBObject(12, 1, 12, oHrmLnAppHdrBean.getTotalInst()));
|
|
arylstParam.add(new DBObject(13, 1, 12, oHrmLnAppHdrBean.getTotalPrincipalInst()));
|
|
arylstParam.add(new DBObject(14, 1, 12, oHrmLnAppHdrBean.getTotalInterestInst()));
|
|
arylstParam.add(new DBObject(15, 1, 12, oHrmLnAppHdrBean.getInstAmount()));
|
|
arylstParam.add(new DBObject(16, 1, 12, oHrmLnAppHdrBean.getApproverNoId()));
|
|
arylstParam.add(new DBObject(17, 1, 12, oHrmLnAppHdrBean.getRemarks()));
|
|
arylstParam.add(new DBObject(18, 1, 12, oHrmLnAppHdrBean.getHblAppliedFor()));
|
|
arylstParam.add(new DBObject(19, 1, 12, oHrmLnAppHdrBean.getHblBookNo()));
|
|
arylstParam.add(new DBObject(20, 1, 12, oHrmLnAppHdrBean.getHblBranhConst()));
|
|
arylstParam.add(new DBObject(21, 1, 12, oHrmLnAppHdrBean.getHblCity()));
|
|
arylstParam.add(new DBObject(22, 1, 12, oHrmLnAppHdrBean.getHblDag()));
|
|
arylstParam.add(new DBObject(23, 1, 12, oHrmLnAppHdrBean.getHblDistrict()));
|
|
arylstParam.add(new DBObject(24, 1, 12, String.valueOf(oHrmLnAppHdrBean.getHblDocSubmitted()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(25, 1, 12, oHrmLnAppHdrBean.getHblKhatian()));
|
|
arylstParam.add(new DBObject(26, 1, 12, oHrmLnAppHdrBean.getHblMouza()));
|
|
arylstParam.add(new DBObject(27, 1, 12, oHrmLnAppHdrBean.getHblNoOfDeed()));
|
|
arylstParam.add(new DBObject(28, 1, 12, oHrmLnAppHdrBean.getHblPageNo()));
|
|
arylstParam.add(new DBObject(29, 1, 12, oHrmLnAppHdrBean.getHblParentDeed()));
|
|
arylstParam.add(new DBObject(30, 1, 12, oHrmLnAppHdrBean.getHblPO()));
|
|
arylstParam.add(new DBObject(31, 1, 12, oHrmLnAppHdrBean.getHblRegisteredAt()));
|
|
arylstParam.add(new DBObject(32, 1, 12, oHrmLnAppHdrBean.getHblVolOfDeed()));
|
|
arylstParam.add(new DBObject(33, 1, 12, null));
|
|
arylstParam.add(new DBObject(34, 1, 12, null));
|
|
arylstParam.add(new DBObject(35, 1, 12, null));
|
|
arylstParam.add(new DBObject(36, 1, 12, null));
|
|
arylstParam.add(new DBObject(37, 1, 12, null));
|
|
arylstParam.add(new DBObject(38, 1, 12, null));
|
|
arylstParam.add(new DBObject(39, 1, 12, null));
|
|
arylstParam.add(new DBObject(40, 1, 12, null));
|
|
arylstParam.add(new DBObject(41, 1, 93, null));
|
|
arylstParam.add(new DBObject(42, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParam.add(new DBObject(43, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParam.add(new DBObject(44, 1, 12, null));
|
|
arylstParam.add(new DBObject(45, 2, 12));
|
|
arylstParam.add(new DBObject(46, 2, 12));
|
|
arylstParam.add(new DBObject(47, 2, 12));
|
|
arylstParam.add(new DBObject(48, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLNAPPL.procUpsertHrmLnAppHdr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = (String)oOutObject.getObject();
|
|
System.out.println(returnString);
|
|
} else if (ScreenMode.equalsIgnoreCase("U")) {
|
|
String sFullyRepaid = new String();
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getBulkAmount())) {
|
|
oHrmLnAppHdrBean.setBulkFlag("N");
|
|
if (EnrgiseUtil.checkString(oHrmLnAppHdrBean.getTotalBalance()))
|
|
if (Float.parseFloat(oHrmLnAppHdrBean.getTotalBalance()) == 0.0D) {
|
|
sFullyRepaid = "Y";
|
|
} else {
|
|
sFullyRepaid = "N";
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "u"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLnAppHdrBean.getLoanCodeId()));
|
|
arylstParam.add(new DBObject(4, 1, 12, sEligAmount));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnAppHdrBean.getAppliedAmount()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getApplnDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLnAppHdrBean.getLoanDetails()));
|
|
arylstParam.add(new DBObject(8, 1, 12, sFullyRepaid));
|
|
arylstParam.add(new DBObject(9, 1, 12, oHrmLnAppHdrBean.getSanctionedAmount()));
|
|
arylstParam.add(new DBObject(10, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getSanctionDate())));
|
|
arylstParam.add(new DBObject(11, 1, 12, oHrmLnAppHdrBean.getPayrollMonth()));
|
|
arylstParam.add(new DBObject(12, 1, 12, oHrmLnAppHdrBean.getTotalInst()));
|
|
arylstParam.add(new DBObject(13, 1, 12, oHrmLnAppHdrBean.getTotalPrincipalInst()));
|
|
arylstParam.add(new DBObject(14, 1, 12, oHrmLnAppHdrBean.getTotalInterestInst()));
|
|
arylstParam.add(new DBObject(15, 1, 12, oHrmLnAppHdrBean.getInstAmount()));
|
|
arylstParam.add(new DBObject(16, 1, 12, oHrmLnAppHdrBean.getApproverNoId()));
|
|
arylstParam.add(new DBObject(17, 1, 12, oHrmLnAppHdrBean.getRemarks()));
|
|
arylstParam.add(new DBObject(18, 1, 12, oHrmLnAppHdrBean.getHblAppliedFor()));
|
|
arylstParam.add(new DBObject(19, 1, 12, oHrmLnAppHdrBean.getHblBookNo()));
|
|
arylstParam.add(new DBObject(20, 1, 12, oHrmLnAppHdrBean.getHblBranhConst()));
|
|
arylstParam.add(new DBObject(21, 1, 12, oHrmLnAppHdrBean.getHblCity()));
|
|
arylstParam.add(new DBObject(22, 1, 12, oHrmLnAppHdrBean.getHblDag()));
|
|
arylstParam.add(new DBObject(23, 1, 12, oHrmLnAppHdrBean.getHblDistrict()));
|
|
arylstParam.add(new DBObject(24, 1, 12, String.valueOf(oHrmLnAppHdrBean.getHblDocSubmitted()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(25, 1, 12, oHrmLnAppHdrBean.getHblKhatian()));
|
|
arylstParam.add(new DBObject(26, 1, 12, oHrmLnAppHdrBean.getHblMouza()));
|
|
arylstParam.add(new DBObject(27, 1, 12, oHrmLnAppHdrBean.getHblNoOfDeed()));
|
|
arylstParam.add(new DBObject(28, 1, 12, oHrmLnAppHdrBean.getHblPageNo()));
|
|
arylstParam.add(new DBObject(29, 1, 12, oHrmLnAppHdrBean.getHblParentDeed()));
|
|
arylstParam.add(new DBObject(30, 1, 12, oHrmLnAppHdrBean.getHblPO()));
|
|
arylstParam.add(new DBObject(31, 1, 12, oHrmLnAppHdrBean.getHblRegisteredAt()));
|
|
arylstParam.add(new DBObject(32, 1, 12, oHrmLnAppHdrBean.getHblVolOfDeed()));
|
|
arylstParam.add(new DBObject(33, 1, 12, oHrmLnAppHdrBean.getTotalAmountPaid()));
|
|
arylstParam.add(new DBObject(34, 1, 12, oHrmLnAppHdrBean.getPrincipalPaid()));
|
|
arylstParam.add(new DBObject(35, 1, 12, oHrmLnAppHdrBean.getTotalBalance()));
|
|
arylstParam.add(new DBObject(36, 1, 12, oHrmLnAppHdrBean.getPrincipalBalance()));
|
|
arylstParam.add(new DBObject(37, 1, 12, oHrmLnAppHdrBean.getInterestBalance()));
|
|
arylstParam.add(new DBObject(38, 1, 12, oHrmLnAppHdrBean.getInterestPaid()));
|
|
arylstParam.add(new DBObject(39, 1, 12, null));
|
|
arylstParam.add(new DBObject(40, 1, 12, oHrmLnAppHdrBean.getBulkFlag()));
|
|
arylstParam.add(new DBObject(41, 1, 93, null));
|
|
arylstParam.add(new DBObject(42, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParam.add(new DBObject(43, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParam.add(new DBObject(44, 1, 12, oHrmLnAppHdrBean.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(45, 2, 12));
|
|
arylstParam.add(new DBObject(46, 2, 12));
|
|
arylstParam.add(new DBObject(47, 2, 12));
|
|
arylstParam.add(new DBObject(48, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLNAPPL.procUpsertHrmLnAppHdr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = (String)oOutObject.getObject();
|
|
System.out.println(returnString);
|
|
} else if (EnrgiseUtil.checkString(oHrmLnAppHdrBean.getBulkAmount())) {
|
|
oHrmLnAppHdrBean.setBulkFlag("Y");
|
|
if (Double.parseDouble(oHrmLnAppHdrBean.getTotalBalance()) == Double.parseDouble(oHrmLnAppHdrBean.getBulkAmount())) {
|
|
sFullyRepaid = "Y";
|
|
} else {
|
|
sFullyRepaid = "N";
|
|
}
|
|
double iTotalPaid = 0.0D;
|
|
double iPrincipalPaid = 0.0D;
|
|
double iTotalBalance = 0.0D;
|
|
double iPrincipalBalance = 0.0D;
|
|
double iIntBalance = 0.0D;
|
|
double iInterestPaid = 0.0D;
|
|
double bulk = Double.parseDouble(oHrmLnAppHdrBean.getBulkAmount());
|
|
if (bulk < Float.parseFloat(oHrmLnAppHdrBean.getPrincipalBalance())) {
|
|
iTotalPaid = Float.parseFloat(oHrmLnAppHdrBean.getTotalAmountPaid()) + bulk;
|
|
iPrincipalPaid = Float.parseFloat(oHrmLnAppHdrBean.getPrincipalPaid()) + bulk;
|
|
iTotalBalance = Float.parseFloat(oHrmLnAppHdrBean.getTotalBalance()) - bulk;
|
|
iPrincipalBalance = Float.parseFloat(oHrmLnAppHdrBean.getPrincipalBalance()) - bulk;
|
|
iIntBalance = Float.parseFloat(oHrmLnAppHdrBean.getInterestBalance());
|
|
iInterestPaid = Float.parseFloat(oHrmLnAppHdrBean.getInterestPaid());
|
|
} else if (bulk >= Float.parseFloat(oHrmLnAppHdrBean.getPrincipalBalance())) {
|
|
iTotalPaid = Float.parseFloat(oHrmLnAppHdrBean.getTotalAmountPaid()) + bulk;
|
|
iPrincipalPaid = (Float.parseFloat(oHrmLnAppHdrBean.getPrincipalPaid()) + Float.parseFloat(oHrmLnAppHdrBean.getPrincipalBalance()));
|
|
iTotalBalance = Float.parseFloat(oHrmLnAppHdrBean.getTotalBalance()) - bulk;
|
|
iPrincipalBalance = 0.0D;
|
|
iIntBalance = iTotalBalance;
|
|
iInterestPaid = iTotalPaid - iPrincipalPaid;
|
|
}
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add(new DBObject(1, 1, 12, "u"));
|
|
arylstParam.add(new DBObject(2, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
arylstParam.add(new DBObject(3, 1, 12, oHrmLnAppHdrBean.getLoanCodeId()));
|
|
arylstParam.add(new DBObject(4, 1, 12, sEligAmount));
|
|
arylstParam.add(new DBObject(5, 1, 12, oHrmLnAppHdrBean.getAppliedAmount()));
|
|
arylstParam.add(new DBObject(6, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getApplnDate())));
|
|
arylstParam.add(new DBObject(7, 1, 12, oHrmLnAppHdrBean.getLoanDetails()));
|
|
arylstParam.add(new DBObject(8, 1, 12, sFullyRepaid));
|
|
arylstParam.add(new DBObject(9, 1, 12, oHrmLnAppHdrBean.getSanctionedAmount()));
|
|
arylstParam.add(new DBObject(10, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getSanctionDate())));
|
|
arylstParam.add(new DBObject(11, 1, 12, oHrmLnAppHdrBean.getPayrollMonth()));
|
|
arylstParam.add(new DBObject(12, 1, 12, oHrmLnAppHdrBean.getTotalInst()));
|
|
arylstParam.add(new DBObject(13, 1, 12, oHrmLnAppHdrBean.getTotalPrincipalInst()));
|
|
arylstParam.add(new DBObject(14, 1, 12, oHrmLnAppHdrBean.getTotalInterestInst()));
|
|
arylstParam.add(new DBObject(15, 1, 12, oHrmLnAppHdrBean.getInstAmount()));
|
|
arylstParam.add(new DBObject(16, 1, 12, oHrmLnAppHdrBean.getApproverNoId()));
|
|
arylstParam.add(new DBObject(17, 1, 12, oHrmLnAppHdrBean.getRemarks()));
|
|
arylstParam.add(new DBObject(18, 1, 12, oHrmLnAppHdrBean.getHblAppliedFor()));
|
|
arylstParam.add(new DBObject(19, 1, 12, oHrmLnAppHdrBean.getHblBookNo()));
|
|
arylstParam.add(new DBObject(20, 1, 12, oHrmLnAppHdrBean.getHblBranhConst()));
|
|
arylstParam.add(new DBObject(21, 1, 12, oHrmLnAppHdrBean.getHblCity()));
|
|
arylstParam.add(new DBObject(22, 1, 12, oHrmLnAppHdrBean.getHblDag()));
|
|
arylstParam.add(new DBObject(23, 1, 12, oHrmLnAppHdrBean.getHblDistrict()));
|
|
arylstParam.add(new DBObject(24, 1, 12, String.valueOf(oHrmLnAppHdrBean.getHblDocSubmitted()).equalsIgnoreCase("on") ? "Y" : "N"));
|
|
arylstParam.add(new DBObject(25, 1, 12, oHrmLnAppHdrBean.getHblKhatian()));
|
|
arylstParam.add(new DBObject(26, 1, 12, oHrmLnAppHdrBean.getHblMouza()));
|
|
arylstParam.add(new DBObject(27, 1, 12, oHrmLnAppHdrBean.getHblNoOfDeed()));
|
|
arylstParam.add(new DBObject(28, 1, 12, oHrmLnAppHdrBean.getHblPageNo()));
|
|
arylstParam.add(new DBObject(29, 1, 12, oHrmLnAppHdrBean.getHblParentDeed()));
|
|
arylstParam.add(new DBObject(30, 1, 12, oHrmLnAppHdrBean.getHblPO()));
|
|
arylstParam.add(new DBObject(31, 1, 12, oHrmLnAppHdrBean.getHblRegisteredAt()));
|
|
arylstParam.add(new DBObject(32, 1, 12, oHrmLnAppHdrBean.getHblVolOfDeed()));
|
|
arylstParam.add(new DBObject(33, 1, 12, String.valueOf(iTotalPaid)));
|
|
arylstParam.add(new DBObject(34, 1, 12, String.valueOf(iPrincipalPaid)));
|
|
arylstParam.add(new DBObject(35, 1, 12, String.valueOf(iTotalBalance)));
|
|
arylstParam.add(new DBObject(36, 1, 12, String.valueOf(iPrincipalBalance)));
|
|
arylstParam.add(new DBObject(37, 1, 12, String.valueOf(iIntBalance)));
|
|
arylstParam.add(new DBObject(38, 1, 12, String.valueOf(iInterestPaid)));
|
|
arylstParam.add(new DBObject(39, 1, 12, String.valueOf(bulk)));
|
|
arylstParam.add(new DBObject(40, 1, 12, oHrmLnAppHdrBean.getBulkFlag()));
|
|
arylstParam.add(new DBObject(41, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getBulkPaymentDate())));
|
|
arylstParam.add(new DBObject(42, 1, 12, this.oUserInfo.getUserTypeId()));
|
|
arylstParam.add(new DBObject(43, 1, 12, this.oUserInfo.getSiteId()));
|
|
arylstParam.add(new DBObject(44, 1, 12, oHrmLnAppHdrBean.getHeaderPrimaryKey()));
|
|
arylstParam.add(new DBObject(45, 2, 12));
|
|
arylstParam.add(new DBObject(46, 2, 12));
|
|
arylstParam.add(new DBObject(47, 2, 12));
|
|
arylstParam.add(new DBObject(48, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam, "HRMLNAPPL.procUpsertHrmLnAppHdr(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
returnString = (String)oOutObject.getObject();
|
|
System.out.println(returnString);
|
|
}
|
|
}
|
|
return returnString;
|
|
}
|
|
|
|
private String calculateEligibleAmount(HrmLnAppHdrBean oHrmLnAppHdrBean) throws EnrgiseSystemException {
|
|
ArrayList oList = new ArrayList();
|
|
int count = 0;
|
|
ArrayList oParameters = new ArrayList();
|
|
ArrayList oOutArray = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
QueryRow oRow = null;
|
|
String sEligAmount = new String();
|
|
String sGrLsFlag = new String();
|
|
String sFlatAmt = new String();
|
|
String sMaxLnPerc = new String();
|
|
String sNoOfMnthSal = new String();
|
|
String sPeriodLeft = new String();
|
|
String sPeriodCompleted = new String();
|
|
String sSalary = new String();
|
|
String sBasic = new String();
|
|
int count1 = 0;
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getLoanCodeId()));
|
|
oParameters.add(new DBObject(2, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
oParameters.add(new DBObject(3, 2, -10));
|
|
oParameters.add(new DBObject(4, 2, 12));
|
|
oParameters.add(new DBObject(5, 2, 12));
|
|
oParameters.add(new DBObject(6, 2, 4));
|
|
oOutArray = oBean.callProc(oParameters, "HRMLNAPPL.procCalculateEligibleAmount(?,?,?,?,?,?)");
|
|
oList = (ArrayList)((DBObject)oOutArray.get(0)).getObject();
|
|
count1 = 0;
|
|
Iterator oIt = oList.iterator();
|
|
while (oIt.hasNext()) {
|
|
count1++;
|
|
oRow = oIt.next();
|
|
sGrLsFlag = oRow.get("GREATER_LESSER_FLAG").getString();
|
|
sFlatAmt = oRow.get("FLAT_AMOUNT").getString();
|
|
sMaxLnPerc = oRow.get("MAX_LOAN_PERC").getString();
|
|
sNoOfMnthSal = oRow.get("NO_OF_MTHS_SALARY").getString();
|
|
sPeriodLeft = oRow.get("MIN_YR_SERVICE_LEFT").getString();
|
|
sPeriodCompleted = oRow.get("MIN_YEAR_IN_SERVICE").getString();
|
|
sBasic = oRow.get("BASIC").getString();
|
|
}
|
|
if (String.valueOf(oRow.get("GREATER_LESSER_FLAG").getString()).equalsIgnoreCase("G")) {
|
|
sSalary = String.valueOf(Float.parseFloat(sNoOfMnthSal) * Float.parseFloat(sBasic) * Float.parseFloat(sMaxLnPerc) / 100);
|
|
if (Float.parseFloat(sSalary) - Float.parseFloat(sFlatAmt) > false) {
|
|
sEligAmount = String.valueOf(sSalary);
|
|
} else if (Float.parseFloat(sFlatAmt) - Float.parseFloat(sSalary) > false) {
|
|
sEligAmount = String.valueOf(sFlatAmt);
|
|
} else {
|
|
sEligAmount = String.valueOf(sFlatAmt);
|
|
}
|
|
}
|
|
if (String.valueOf(oRow.get("GREATER_LESSER_FLAG").getString()).equalsIgnoreCase("L")) {
|
|
sSalary = String.valueOf(Float.parseFloat(sNoOfMnthSal) * Float.parseFloat(sBasic) * Float.parseFloat(sMaxLnPerc) / 100);
|
|
if (Float.parseFloat(sSalary) - Float.parseFloat(sFlatAmt) > false) {
|
|
sEligAmount = String.valueOf(sFlatAmt);
|
|
} else if (Float.parseFloat(sFlatAmt) - Float.parseFloat(sSalary) > false) {
|
|
sEligAmount = String.valueOf(sSalary);
|
|
} else {
|
|
sEligAmount = String.valueOf(sFlatAmt);
|
|
}
|
|
}
|
|
if (String.valueOf(oRow.get("GREATER_LESSER_FLAG").getString()).equalsIgnoreCase("F"))
|
|
sEligAmount = sFlatAmt;
|
|
if (String.valueOf(oRow.get("GREATER_LESSER_FLAG").getString()).equalsIgnoreCase("S"))
|
|
sEligAmount = String.valueOf(Float.parseFloat(sNoOfMnthSal) * Float.parseFloat(sBasic) * Float.parseFloat(sMaxLnPerc) / 100);
|
|
return sEligAmount;
|
|
}
|
|
|
|
public void updateHeaderImpl(BaseHeaderBean oBaseHeaderBean) throws EnrgiseSystemException {
|
|
System.out.println("To Be Done");
|
|
}
|
|
|
|
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 additionalFieldValidationImpl(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
if (bHeaderDataChanged)
|
|
if (!sScreenMode.equalsIgnoreCase("D"))
|
|
checkMandatoryHeader((HrmLnAppHdrBean)oBaseHeaderBean);
|
|
if (bDetailDataChanged)
|
|
if (!sScreenMode.equalsIgnoreCase("D")) {
|
|
if (sScreenName.equalsIgnoreCase("HrmLnApp"))
|
|
if (arylstDetailBeanArray.size() != 0) {
|
|
Iterator itrBean1 = arylstDetailBeanArray.iterator();
|
|
int rowCount = 1;
|
|
while (itrBean1.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = itrBean1.next();
|
|
if (!oHrmLnDisDtlBean.getStatus().equalsIgnoreCase("D"))
|
|
checkMandatoryDisDtl(oHrmLnDisDtlBean, rowCount);
|
|
}
|
|
rowCount++;
|
|
}
|
|
if (sScreenName.equalsIgnoreCase("HrmLnDisDtl"))
|
|
if (arylstDetailBeanArray.size() != 0) {
|
|
Iterator itrBean1 = arylstDetailBeanArray.iterator();
|
|
int rowCount = 0;
|
|
while (itrBean1.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = itrBean1.next();
|
|
if (!oHrmLnDisDtlBean.getStatus().equalsIgnoreCase("D"))
|
|
checkMandatoryDisDtl(oHrmLnDisDtlBean, rowCount);
|
|
}
|
|
rowCount++;
|
|
}
|
|
if (sScreenName.equalsIgnoreCase("HrmLnAppHblIntRate"))
|
|
if (arylstDetailBeanArray.size() != 0) {
|
|
Iterator itrBean1 = arylstDetailBeanArray.iterator();
|
|
int rowCount = 0;
|
|
while (itrBean1.hasNext()) {
|
|
HrmLnHblIntDtlBean oHrmLnHblIntDtlBean = itrBean1.next();
|
|
if (!oHrmLnHblIntDtlBean.getStatus().equalsIgnoreCase("D")) {
|
|
checkMandatoryHblIntDtl(oHrmLnHblIntDtlBean, rowCount);
|
|
checkNumericFields(oHrmLnHblIntDtlBean, rowCount);
|
|
}
|
|
rowCount++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void checkMandatoryHeader(HrmLnAppHdrBean oHrmLnAppHdrBean) throws EnrgiseSystemException, EnrgiseApplicationException {
|
|
ArrayList oParams = new ArrayList();
|
|
ArrayList oErrorList = new ArrayList();
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getEmployeeNumber())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.employeeNumber");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getLoanCode())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.loanCode");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.header.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getAppliedAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.appliedAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getApplnDate())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.applnDate");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getSanctionedAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.sanctionedAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getSanctionDate())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.sanctionDate");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getTotalInst())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.noOfInstallment");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getTotalInterestInst())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.totalInterestInst");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getTotalPrincipalInst())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.totalPrincipalInst");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getInstAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.instAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (EnrgiseUtil.checkString(oHrmLnAppHdrBean.getMode()))
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getBulkAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppln.bulkAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.onlyDetail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
reportError(oErrorList);
|
|
}
|
|
|
|
private void checkMandatoryDisDtl(HrmLnDisDtlBean oHrmLnDisDtlBean, int rowCount) throws EnrgiseSystemException, EnrgiseApplicationException {
|
|
ArrayList oErrorList = new ArrayList();
|
|
ArrayList oParams = new ArrayList();
|
|
rowCount++;
|
|
if (!EnrgiseUtil.checkString(oHrmLnDisDtlBean.getActDisAmt())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppDisbur.actDisAmt");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnDisDtlBean.getActDisDate())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppDisbur.actDisDate");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
reportError(oErrorList);
|
|
}
|
|
|
|
private void checkMandatoryHblIntDtl(HrmLnHblIntDtlBean oHrmLnHblIntDtlBean, int rowCount) throws EnrgiseSystemException, EnrgiseApplicationException {
|
|
ArrayList oErrorList = new ArrayList();
|
|
ArrayList oParams = new ArrayList();
|
|
rowCount++;
|
|
if (!EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtFromAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.fromAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtToAmount())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.toAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
if (!EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtPercentage())) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.percentage");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.mandatoryFieldMissing", oParams, "E"));
|
|
}
|
|
reportError(oErrorList);
|
|
}
|
|
|
|
private void checkNumericFields(HrmLnHblIntDtlBean oHrmLnHblIntDtlBean, int rowCount) throws EnrgiseSystemException, EnrgiseApplicationException {
|
|
ArrayList oErrorList = new ArrayList();
|
|
ArrayList oParams = new ArrayList();
|
|
rowCount++;
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtFromAmount()))
|
|
if (!EnrgiseUtil.checkNumber(oHrmLnHblIntDtlBean.getTxtFromAmount(), 15, 2, "P")) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.fromAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.invalidNumber", oParams, "E"));
|
|
}
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtToAmount()))
|
|
if (!EnrgiseUtil.checkNumber(oHrmLnHblIntDtlBean.getTxtFromAmount(), 15, 2, "P")) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.toAmount");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.invalidNumber", oParams, "E"));
|
|
}
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtPercentage()))
|
|
if (!EnrgiseUtil.checkNumber(oHrmLnHblIntDtlBean.getTxtFromAmount(), 15, 2, "P")) {
|
|
MessageKey oMessageKey = new MessageKey("hrm.HrmEmpLoanAppHblIntRate.percentage");
|
|
oParams = new ArrayList();
|
|
oParams.add(oMessageKey);
|
|
oParams.add(String.valueOf(rowCount));
|
|
oErrorList.add(new EnrgiseMessageKeyException("wenrgise.common.detail.invalidNumber", oParams, "E"));
|
|
}
|
|
reportError(oErrorList);
|
|
}
|
|
|
|
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();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
if (bHeaderDataChanged)
|
|
if (!sScreenMode.equalsIgnoreCase("D")) {
|
|
if (!sScreenMode.equalsIgnoreCase("U"))
|
|
if (EnrgiseUtil.checkString(oHrmLnAppHdrBean.getPayrollMonth()))
|
|
checkRecoveryYearMonth((HrmLnAppHdrBean)oBaseHeaderBean, sScreenMode);
|
|
if (EnrgiseUtil.checkString(oHrmLnAppHdrBean.getBulkAmount()))
|
|
checkBulkAmount((HrmLnAppHdrBean)oBaseHeaderBean);
|
|
checkNoOfInstallment((HrmLnAppHdrBean)oBaseHeaderBean);
|
|
checkServicePeriod((HrmLnAppHdrBean)oBaseHeaderBean);
|
|
}
|
|
if (bDetailDataChanged) {
|
|
if (sScreenName.equalsIgnoreCase("HrmLnApp")) {
|
|
if (oHrmLnAppHdrBean.getLoanCode().equalsIgnoreCase("99")) {
|
|
String sQuery = String.valueOf("Select id from hrm_loan_int_rate m where m.emp_loan_id = ").concat(String.valueOf(oHrmLnAppHdrBean.getHeaderPrimaryKey()));
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstList = oBean.executeQuery(sQuery);
|
|
if (arylstList.size() == 0) {
|
|
ArrayList arylstParam = new ArrayList();
|
|
arylstParam.add("");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.DisbSaveError", arylstParam));
|
|
}
|
|
}
|
|
Iterator itrBean1 = arylstDetailBeanArray.iterator();
|
|
int rowCount = 1;
|
|
while (itrBean1.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = itrBean1.next();
|
|
if (!oHrmLnDisDtlBean.getStatus().equals("D")) {
|
|
compareLoanAmount(oHrmLnAppHdrBean, arylstDetailBeanArray);
|
|
checkDatesConstraint(oHrmLnAppHdrBean, arylstDetailBeanArray, arylstErrorList);
|
|
}
|
|
if (oHrmLnDisDtlBean.getStatus().equals("D"))
|
|
checkPayrollFlag(oHrmLnAppHdrBean, arylstDetailBeanArray, arylstErrorList);
|
|
}
|
|
rowCount++;
|
|
}
|
|
if (sScreenName.equalsIgnoreCase("HrmLnAppHblIntRate")) {
|
|
Iterator itrBean2 = arylstDetailBeanArray.iterator();
|
|
int rowCount = 1;
|
|
while (itrBean2.hasNext()) {
|
|
HrmLnHblIntDtlBean oHrmLnHblIntDtlBean = itrBean2.next();
|
|
if (!oHrmLnHblIntDtlBean.getStatus().equals("D")) {
|
|
checkFromNToAmount(oHrmLnHblIntDtlBean, rowCount, arylstErrorList);
|
|
checkPercentage(oHrmLnHblIntDtlBean, rowCount, arylstErrorList);
|
|
}
|
|
rowCount++;
|
|
}
|
|
}
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkFromNToAmount(HrmLnHblIntDtlBean oHrmLnHblIntDtlBean, int rowCount, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList oParams = new ArrayList();
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtFromAmount()))
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtToAmount()))
|
|
if (Long.parseLong(oHrmLnHblIntDtlBean.getTxtFromAmount()) > Long.parseLong(oHrmLnHblIntDtlBean.getTxtToAmount())) {
|
|
oParams = new ArrayList();
|
|
oParams.add(String.valueOf(rowCount));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppHblIntRate.AmountError", oParams, "E"));
|
|
}
|
|
}
|
|
|
|
private void checkPercentage(HrmLnHblIntDtlBean oHrmLnHblIntDtlBean, int rowCount, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList oParams = new ArrayList();
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtFromAmount()))
|
|
if (EnrgiseUtil.checkString(oHrmLnHblIntDtlBean.getTxtToAmount()))
|
|
if (Double.parseDouble(oHrmLnHblIntDtlBean.getTxtPercentage()) >= 100) {
|
|
oParams = new ArrayList();
|
|
oParams.add(String.valueOf(rowCount));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppHblIntRate.PercentError", oParams, "E"));
|
|
}
|
|
}
|
|
|
|
private void checkPayrollFlag(HrmLnAppHdrBean oHrmLnAppHdrBean, ArrayList arylstDetailBeanArray, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
int count = 0;
|
|
Iterator itrBean1 = arylstDetailBeanArray.iterator();
|
|
while (itrBean1.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = itrBean1.next();
|
|
String sQuery = String.valueOf(" Select ID as ID from HRM_LOAN_DISB_DTL where PAYROLL_YYYYMM is null and ID=").concat(String.valueOf(oHrmLnDisDtlBean.getDetailId()));
|
|
System.out.println(sQuery);
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstList = oBean.executeQuery(sQuery);
|
|
if (arylstList.size() == 0) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppDisbur.deleteNotPossible", arylstParam));
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
}
|
|
|
|
private void checkDatesConstraint(HrmLnAppHdrBean oHrmLnAppHdrBean, ArrayList arylstDetailBeanArray, ArrayList arylstErrorList) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
int n = arylstDetailBeanArray.size();
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = arylstDetailBeanArray.get(n - 1);
|
|
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
|
|
if (EnrgiseUtil.checkString(oHrmLnDisDtlBean.getActDisDate())) {
|
|
int dateFlag = EnrgiseUtil.compareDates(dateFormat, oHrmLnDisDtlBean.getActDisDate(), oHrmLnAppHdrBean.getSanctionDate());
|
|
if (dateFlag == -1 && dateFlag != -2)
|
|
if (arylstErrorList.isEmpty()) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppDisbur.disDateValidation", arylstParam));
|
|
}
|
|
}
|
|
}
|
|
|
|
private void checkNoOfInstallment(HrmLnAppHdrBean oHrmLnAppHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
String sNoOfInstallments = new String();
|
|
String sPrincipalInstallments = new String();
|
|
String sInterestInstallments = new String();
|
|
String sNoOfMonths = new String();
|
|
ArrayList oParameters = new ArrayList();
|
|
ArrayList oOutArray = new ArrayList();
|
|
ArrayList oList = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
QueryRow oRow = null;
|
|
int count1 = 0;
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
oParameters.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getApplnDate())));
|
|
oParameters.add(new DBObject(3, 2, -10));
|
|
oParameters.add(new DBObject(4, 2, 12));
|
|
oParameters.add(new DBObject(5, 2, 12));
|
|
oParameters.add(new DBObject(6, 2, 4));
|
|
oOutArray = oBean.callProc(oParameters, "HRMLNAPPL.procGetMonthsRemaining(?,?,?,?,?,?)");
|
|
oList = (ArrayList)((DBObject)oOutArray.get(0)).getObject();
|
|
count1 = 0;
|
|
Iterator oIt = oList.iterator();
|
|
while (oIt.hasNext()) {
|
|
count1++;
|
|
oRow = oIt.next();
|
|
sNoOfMonths = oRow.get("NO_OF_MONTHS").getString();
|
|
}
|
|
sNoOfInstallments = oHrmLnAppHdrBean.getTotalInst();
|
|
sPrincipalInstallments = oHrmLnAppHdrBean.getTotalInterestInst();
|
|
sInterestInstallments = oHrmLnAppHdrBean.getTotalPrincipalInst();
|
|
if (Float.parseFloat(sNoOfInstallments) > Float.parseFloat(sPrincipalInstallments) + Float.parseFloat(sInterestInstallments) || Float.parseFloat(sNoOfInstallments) < Float.parseFloat(sPrincipalInstallments) + Float.parseFloat(sInterestInstallments)) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("Loan Application: No Of Installment");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkNoOfInst", arylstParam));
|
|
}
|
|
if (Float.parseFloat(sNoOfInstallments) > Float.parseFloat(sNoOfMonths)) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("Loan Application: No Of Installment");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.noOfInstError", arylstParam));
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkRecoveryYearMonth(HrmLnAppHdrBean oHrmLnAppHdrBean, String sScreenMode) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
String sPayrollMonth = new String();
|
|
String sMonth = new String();
|
|
sPayrollMonth = oHrmLnAppHdrBean.getPayrollMonth();
|
|
if (Float.parseFloat(sPayrollMonth.substring(4, 6)) < true || Float.parseFloat(sPayrollMonth.substring(4, 6)) > 12) {
|
|
arylstParam.add("Loan Application: Year Month");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkPayrollMonth", arylstParam));
|
|
}
|
|
if (Float.parseFloat(sPayrollMonth.substring(0, 1)) == false) {
|
|
arylstParam.add("Loan Application: Year Month");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkPayrollYear", arylstParam));
|
|
}
|
|
HrmCommonBO oBO = new HrmCommonBO();
|
|
String sysDate = oBO.getSysDate();
|
|
String sYYYYMM = String.valueOf(sysDate.substring(6, sysDate.length())).concat(String.valueOf(sysDate.substring(3, 5)));
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
ArrayList arylstParam1 = new ArrayList();
|
|
arylstParam1.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getHeaderPrimaryKey()));
|
|
arylstParam1.add(new DBObject(2, 2, 4));
|
|
arylstParam1.add(new DBObject(3, 2, 4));
|
|
arylstParam1.add(new DBObject(4, 2, 12));
|
|
arylstParam1.add(new DBObject(5, 2, 12));
|
|
arylstParam1.add(new DBObject(6, 2, 4));
|
|
ArrayList arylstOutArray = oBean.callProc(arylstParam1, "hrmlnappl.procgetpayrollinfo(?,?,?,?,?,?)");
|
|
DBObject oOutObject = arylstOutArray.get(0);
|
|
DBObject oOutObject1 = arylstOutArray.get(1);
|
|
int iVal = ((Integer)oOutObject.getObject()).intValue();
|
|
int yearMonth = ((Integer)oOutObject1.getObject()).intValue();
|
|
int year = Integer.parseInt(String.valueOf(yearMonth).substring(0, 4));
|
|
int month = Integer.parseInt(String.valueOf(yearMonth).substring(4, 6));
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getBulkAmount())) {
|
|
if (year > Integer.parseInt(sPayrollMonth.substring(0, 4))) {
|
|
arylstParam.add("Loan Application: Year Month");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkPayrollMonth1", arylstParam));
|
|
}
|
|
if (year == Integer.parseInt(sPayrollMonth.substring(0, 4)))
|
|
if (month > Integer.parseInt(sPayrollMonth.substring(4, 6))) {
|
|
arylstParam.add("Loan Application: Year Month");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkPayrollMonth1", arylstParam));
|
|
}
|
|
}
|
|
if (iVal != 1) {
|
|
arylstParam.add("Loan Application: Year Month");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkPayrollMonth2", arylstParam));
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkBulkAmount(HrmLnAppHdrBean oHrmLnAppHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
if (!EnrgiseUtil.checkString(oHrmLnAppHdrBean.getTotalBalance())) {
|
|
arylstParam.add("Loan Application: Bulk Amount");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkBulk", arylstParam));
|
|
} else {
|
|
if (Double.parseDouble(oHrmLnAppHdrBean.getBulkAmount()) == 0.0D) {
|
|
arylstParam.add("Loan Application: Bulk Amount");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkBulkAmount", arylstParam));
|
|
}
|
|
if (Double.parseDouble(oHrmLnAppHdrBean.getBulkAmount()) > Double.parseDouble(oHrmLnAppHdrBean.getTotalBalance())) {
|
|
arylstParam.add("Loan Application: Bulk Amount");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.checkBulkAmount1", arylstParam));
|
|
}
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void checkServicePeriod(HrmLnAppHdrBean oHrmLnAppHdrBean) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
String sMinSerPeriod = new String();
|
|
String sRemainingSerPeriod = new String();
|
|
String sNoOfMonthsInService = new String();
|
|
String sNoOfMonthsRemaining = new String();
|
|
ArrayList oParameters = new ArrayList();
|
|
ArrayList oOutArray = new ArrayList();
|
|
ArrayList oList = new ArrayList();
|
|
DBUtilitiesBean oBean = new DBUtilitiesBean();
|
|
QueryRow oRow = null;
|
|
int count1 = 0;
|
|
oParameters = new ArrayList();
|
|
oParameters.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
oParameters.add(new DBObject(2, 1, 93, EnrgiseUtil.convertToSqlDate(oHrmLnAppHdrBean.getApplnDate())));
|
|
oParameters.add(new DBObject(3, 2, -10));
|
|
oParameters.add(new DBObject(4, 2, 12));
|
|
oParameters.add(new DBObject(5, 2, 12));
|
|
oParameters.add(new DBObject(6, 2, 4));
|
|
oOutArray = oBean.callProc(oParameters, "HRMLNAPPL.procGetServicePeriod(?,?,?,?,?,?)");
|
|
oList = (ArrayList)((DBObject)oOutArray.get(0)).getObject();
|
|
count1 = 0;
|
|
Iterator oIt = oList.iterator();
|
|
while (oIt.hasNext()) {
|
|
count1++;
|
|
oRow = oIt.next();
|
|
sNoOfMonthsInService = oRow.get("NO_OF_MONTHS").getString();
|
|
sNoOfMonthsRemaining = oRow.get("REMAINING_MONTHS").getString();
|
|
}
|
|
ArrayList oParameters1 = new ArrayList();
|
|
ArrayList oOutArray1 = new ArrayList();
|
|
ArrayList oList1 = new ArrayList();
|
|
DBUtilitiesBean oBean1 = new DBUtilitiesBean();
|
|
QueryRow oRow1 = null;
|
|
int count2 = 0;
|
|
oParameters1 = new ArrayList();
|
|
oParameters1.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getLoanCodeId()));
|
|
oParameters1.add(new DBObject(2, 1, 12, oHrmLnAppHdrBean.getEmpId()));
|
|
oParameters1.add(new DBObject(3, 2, -10));
|
|
oParameters1.add(new DBObject(4, 2, 12));
|
|
oParameters1.add(new DBObject(5, 2, 12));
|
|
oParameters1.add(new DBObject(6, 2, 4));
|
|
oOutArray1 = oBean1.callProc(oParameters1, "HRMLNAPPL.procCalculateEligibleAmount(?,?,?,?,?,?)");
|
|
oList1 = (ArrayList)((DBObject)oOutArray1.get(0)).getObject();
|
|
count2 = 0;
|
|
Iterator oIt1 = oList1.iterator();
|
|
while (oIt1.hasNext()) {
|
|
count2++;
|
|
oRow1 = oIt1.next();
|
|
sMinSerPeriod = oRow1.get("MIN_YEAR_IN_SERVICE").getString();
|
|
sRemainingSerPeriod = oRow1.get("MIN_YR_SERVICE_LEFT").getString();
|
|
}
|
|
if (EnrgiseUtil.checkString(sMinSerPeriod) && EnrgiseUtil.checkString(sRemainingSerPeriod)) {
|
|
if (Float.parseFloat(sMinSerPeriod) * 12 > Float.parseFloat(sNoOfMonthsInService)) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("Loan Application: Service Period");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.minServicePeriodError", arylstParam));
|
|
}
|
|
if (Float.parseFloat(sRemainingSerPeriod) * 12 > Float.parseFloat(sNoOfMonthsRemaining)) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("Loan Application: Service Period");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.maxServicePeriodError", arylstParam));
|
|
}
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
private void compareLoanAmount(HrmLnAppHdrBean oHrmLnAppHdrBean, ArrayList arylstDetailBeanArray) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParam = new ArrayList();
|
|
ArrayList arylstErrorList = new ArrayList();
|
|
int count = 0;
|
|
Iterator itrBean = arylstDetailBeanArray.iterator();
|
|
double totalAmount = 0.0D;
|
|
double amount = 0.0D;
|
|
while (itrBean.hasNext()) {
|
|
HrmLnDisDtlBean oHrmLnDisDtlBean = arylstDetailBeanArray.get(count);
|
|
if (EnrgiseUtil.checkString(oHrmLnDisDtlBean.getActDisAmt()))
|
|
amount = Float.parseFloat(oHrmLnDisDtlBean.getActDisAmt());
|
|
totalAmount += amount;
|
|
count++;
|
|
itrBean.next();
|
|
}
|
|
ArrayList oParameters1 = new ArrayList();
|
|
ArrayList oOutArray1 = new ArrayList();
|
|
ArrayList oList1 = new ArrayList();
|
|
Iterator oIt1 = arylstDetailBeanArray.iterator();
|
|
DBUtilitiesBean oBean1 = new DBUtilitiesBean();
|
|
QueryRow oRow1 = null;
|
|
String sEligAmount = null;
|
|
int count2 = 0;
|
|
oParameters1 = new ArrayList();
|
|
oParameters1.add(new DBObject(1, 1, 12, oHrmLnAppHdrBean.getHeaderPrimaryKey()));
|
|
oParameters1.add(new DBObject(2, 2, -10));
|
|
oParameters1.add(new DBObject(3, 2, 12));
|
|
oParameters1.add(new DBObject(4, 2, 12));
|
|
oParameters1.add(new DBObject(5, 2, 4));
|
|
oOutArray1 = oBean1.callProc(oParameters1, "HRMLNAPPL.procGetLoanAmount(?,?,?,?,?)");
|
|
oList1 = (ArrayList)((DBObject)oOutArray1.get(0)).getObject();
|
|
count2 = 0;
|
|
oIt1 = oList1.iterator();
|
|
while (oIt1.hasNext()) {
|
|
count2++;
|
|
oRow1 = (QueryRow)oIt1.next();
|
|
sEligAmount = oRow1.get("LOAN_AMOUNT").getString();
|
|
}
|
|
if (totalAmount > Float.parseFloat(sEligAmount)) {
|
|
arylstParam = new ArrayList();
|
|
arylstParam.add("Loan Disbursement: Disbursed Amount");
|
|
arylstParam.add(new Integer(0));
|
|
arylstErrorList.add(new EnrgiseMessageKeyException("hrm.HrmEmpLoanAppln.disDtlTenAmt", arylstParam));
|
|
}
|
|
reportError(arylstErrorList);
|
|
}
|
|
|
|
public String submitLnAppln(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParameters = new ArrayList();
|
|
DBUtilitiesBean oBean = null;
|
|
ArrayList arylstList = new ArrayList();
|
|
ArrayList arylstParam = new ArrayList();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
WflStatus status = null;
|
|
if (!EnrgiseUtil.checkString(oBaseHeaderBean.getWorkListId()))
|
|
status = callWorkFlow(oBaseHeaderBean, arylstDetailBeanArray, "Approve", "Initiated");
|
|
if (status.getStatus().equalsIgnoreCase("Pending")) {
|
|
String sAppliedAmount = null;
|
|
String sEligAmount = null;
|
|
String sAmount = null;
|
|
oBean = new DBUtilitiesBean();
|
|
arylstParameters = new ArrayList();
|
|
sAppliedAmount = oHrmLnAppHdrBean.getAppliedAmount();
|
|
sEligAmount = oHrmLnAppHdrBean.getEligibleAmount();
|
|
if (Float.parseFloat(sAppliedAmount) >= Float.parseFloat(sEligAmount)) {
|
|
sAmount = sEligAmount;
|
|
} else if (Float.parseFloat(sAppliedAmount) < Float.parseFloat(sEligAmount)) {
|
|
sAmount = sAppliedAmount;
|
|
}
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 1, 12, sAmount));
|
|
arylstParameters.add(new DBObject(3, 2, 12));
|
|
arylstParameters.add(new DBObject(4, 2, 12));
|
|
arylstParameters.add(new DBObject(5, 2, 4));
|
|
ArrayList arrayList = oBean.callProc(arylstParameters, "HRMLNAPPL.procSubmitLnAppln(?,?,?,?,?)");
|
|
}
|
|
return sHeaderPrimaryKey;
|
|
}
|
|
|
|
public String approveLnAppln(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParameters = new ArrayList();
|
|
DBUtilitiesBean oBean = null;
|
|
ArrayList arylstList = new ArrayList();
|
|
ArrayList arylstParam = new ArrayList();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
WflStatus status = null;
|
|
if (!EnrgiseUtil.checkString(oBaseHeaderBean.getWorkListId())) {
|
|
status = callWorkFlow(oBaseHeaderBean, arylstDetailBeanArray, "Approve", "Initiated");
|
|
} else {
|
|
status = callWorkFlow(oBaseHeaderBean, arylstDetailBeanArray, "Approve", (String)null);
|
|
}
|
|
if (status.getStatus().equalsIgnoreCase("FinallyApproved")) {
|
|
oBean = new DBUtilitiesBean();
|
|
arylstParameters = new ArrayList();
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 2, 12));
|
|
arylstParameters.add(new DBObject(3, 2, 12));
|
|
arylstParameters.add(new DBObject(4, 2, 4));
|
|
ArrayList arrayList = oBean.callProc(arylstParameters, "HRMLNAPPL.procApproveLnAppln(?,?,?,?)");
|
|
}
|
|
return sHeaderPrimaryKey;
|
|
}
|
|
|
|
public String rejectLnAppln(BaseHeaderBean oBaseHeaderBean, Timestamp oWhenPicked, String sScreenName, String sScreenMode, boolean bHeaderDataChanged, ArrayList arylstDetailBeanArray, boolean bDetailDataChanged, Timestamp oDetailPicked) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
ArrayList arylstParameters = new ArrayList();
|
|
DBUtilitiesBean oBean = null;
|
|
ArrayList arylstList = new ArrayList();
|
|
ArrayList arylstParam = new ArrayList();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)oBaseHeaderBean;
|
|
String sHeaderPrimaryKey = (null != oBaseHeaderBean) ? oBaseHeaderBean.getHeaderPrimaryKey() : "";
|
|
WflStatus status = null;
|
|
status = callWorkFlow(oBaseHeaderBean, arylstDetailBeanArray, "Reject", (String)null);
|
|
if (status.getStatus().equalsIgnoreCase("Rejected")) {
|
|
oBean = new DBUtilitiesBean();
|
|
arylstParameters = new ArrayList();
|
|
arylstParameters.add(new DBObject(1, 1, 12, sHeaderPrimaryKey));
|
|
arylstParameters.add(new DBObject(2, 2, 12));
|
|
arylstParameters.add(new DBObject(3, 2, 12));
|
|
arylstParameters.add(new DBObject(4, 2, 4));
|
|
ArrayList arrayList = oBean.callProc(arylstParameters, "HRMLNAPPL.procRejectLnAppln(?,?,?,?)");
|
|
}
|
|
return sHeaderPrimaryKey;
|
|
}
|
|
|
|
public WflStatus callWorkFlow(BaseHeaderBean oBaseHeaderBean, ArrayList arylstDetailBeanArray, String activity, String initiatedFlag) throws EnrgiseApplicationException, EnrgiseSystemException {
|
|
try {
|
|
WorkFlowFacadeHome oHome = (WorkFlowFacadeHome)WorkFlowServiceLocator.getLocator().getService("WorkFlowFacade");
|
|
WorkFlowFacade workFlowFacade = oHome.create();
|
|
HrmLnAppHdrBean oHrmLnAppHdrBean = (HrmLnAppHdrBean)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(oHrmLnAppHdrBean.getHeaderPrimaryKey());
|
|
wflDocumentInfoImpl.setDocumentType("Loan");
|
|
wflDocumentInfoImpl.setInitiatedFlag(initiatedFlag);
|
|
String documentTypeId = workFlowFacade.getDocumentTypeId("LoanAppln");
|
|
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("Loan Application No:").concat(String.valueOf(oHrmLnAppHdrBean.getHeaderPrimaryKey()))).concat(String.valueOf("is pending for approval")));
|
|
wflDocumentInfoImpl.setDocDesc(String.valueOf("The following document has been pending for approval:Loan Application No:").concat(String.valueOf(oHrmLnAppHdrBean.getHeaderPrimaryKey())));
|
|
} else if (!activity.equalsIgnoreCase("Approve")) {
|
|
wflDocumentInfoImpl.setDocumentNumber(String.valueOf(String.valueOf("Loan Application No:").concat(String.valueOf(oHrmLnAppHdrBean.getHeaderPrimaryKey()))).concat(String.valueOf("is pending for rejection")));
|
|
wflDocumentInfoImpl.setDocDesc(String.valueOf("The following document has been pending for rejection:Loan Application No:").concat(String.valueOf(oHrmLnAppHdrBean.getHeaderPrimaryKey())));
|
|
}
|
|
wflDocumentInfoImpl.setModuleId("8");
|
|
wflDocumentInfoImpl.setCreator((WflResource)wflResourceImpl);
|
|
wflDocumentInfoImpl.setRequesterAction(activityId);
|
|
String sLoanAmt = oHrmLnAppHdrBean.getAppliedAmount();
|
|
HashMap oProp = new HashMap();
|
|
oProp.put("Loan_Amt", sLoanAmt);
|
|
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) {
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oRtEx);
|
|
} catch (CreateException oCx) {
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oCx);
|
|
} catch (RemoveException oRx) {
|
|
throw new EnrgiseSystemException("wenrgise.workflow.connect", oRx);
|
|
}
|
|
}
|
|
}
|