Commit 1453055c authored by arawankar's avatar arawankar

Changes made in following :

1.Changes made in EmpLeaveConf.java
2.Added new component EmpLeaveCancel.java,EmpleaveCancelRemote.java,EmpLeaveCancelLocal.java
3.Added sql for EmpLeaveCancel component.[ADM-2017-09-12]

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@163175 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 48f7aab7
[Dolphin]
PreviewsShown=true
Timestamp=2017,9,14,17,38,0
Version=3
[Dolphin]
Timestamp=2017,9,14,17,38,16
Version=3
ViewMode=2
package ibase.webitm.ejb.adm.adv;
import ibase.system.config.AppConnectParm;
import ibase.utility.E12GenericUtility;
import ibase.webitm.bean.sys.ProteusDataSource;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessLocal;
import ibase.webitm.ejb.adm.AdmCommon;
import ibase.webitm.ejb.adm.AttdProcess;
import ibase.webitm.ejb.adm.LeaveEncase;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.print.attribute.standard.PresentationDirection;
@Stateless
public class EmpLeaveCancel extends ActionHandlerEJB implements EmpLeaveCancelLocal,EmpLeaveCancelRemote
{
private UtilMethods utilMethod = null ;
private AdmCommon admCommon = null;
private E12GenericUtility genericUtility = null;
private String errXml ="";
private String termId = "",loginEmpCode = "",userId = "";
private HashMap lveRuleList = null;
private ArrayList errList = null;
private ArrayList fldList = null;
private String leaveXmlData = "";
private ProteusDataSource proteusDataSource = null;
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
genericUtility = new E12GenericUtility();
String retString = "";
Connection conn = null;
try
{
conn = getConnection();
retString = confirm( tranId, xtraParams, forcedFlag, conn);
}
catch(Exception e)
{
System.out.println("Exception :EmpLeaveCancel :confirm():" + e.getMessage() + ":");
retString = genericUtility.createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
conn.close();
conn = null;
}
}
catch(Exception e1)
{
e1.printStackTrace();
}
}
return retString;
}
public String confirm( String tranId, String xtraParams, String forcedFlag, Connection conn) throws RemoteException, ITMException
{
System.out.println("--------------Confirm method for cancel Empleave -------------");
ResultSet rs=null;
PreparedStatement pstmt = null;
String retString = "";
String errString = "",errCode = "";
HashMap hMap = new HashMap();
AppConnectParm appConnect = null;
InitialContext initialCtx = null;
ITMDBAccessLocal itmDBAccess = null;
if (genericUtility == null)
{
genericUtility = new E12GenericUtility();
}
if (admCommon == null)
{
admCommon = new AdmCommon();
}
if (utilMethod == null)
{
utilMethod = new UtilMethods();
}
try
{
this.errXml ="";
this.errList = new ArrayList();
this.fldList = new ArrayList();
this.lveRuleList = admCommon.createLveRuleList();
this.userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
this.termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
this.loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
appConnect = new AppConnectParm();
initialCtx = new InitialContext(appConnect.getProperty());
itmDBAccess = (ITMDBAccessLocal)initialCtx.lookup("ibase/ITMDBAccessEJB/local");
if (this.leaveXmlData != null && this.leaveXmlData.trim().length() > 0)
{
this.proteusDataSource = new ProteusDataSource("empLeave", this.leaveXmlData, 1);
}
System.out.println("Calling Post Logic......");
retString = postLogic(tranId, tranId, 2, xtraParams, conn);
System.out.println("return Error List of Post Logic :: "+this.errList);
int cnt =0;
String errorCode = "";
String errFldName = null, errorType = "";
StringBuffer errStringXml = new StringBuffer();
if ( this.errList != null && this.errList.size() > 0 )
{
for (cnt = 0; cnt < this.errList.size(); cnt++ )
{
errCode = (String)this.errList.get(cnt);
errFldName = (String)this.fldList.get(cnt);
System.out.println("errCode .........."+errCode);
errString = itmDBAccess.getErrorString( errFldName, errCode, this.userId );
errorType = getErrorType( errCode , conn );
if ( errorType.equalsIgnoreCase("E"))
{
break;
}
errString = "";
}
this.errList.clear();
this.errList = null;
this.fldList.clear();
this.fldList = null;
}
if (errString == null || errString.trim().length() == 0)
{
conn.commit();
errString = itmDBAccess.getErrorString( "", "VTLVECAR01" , this.userId );
}
else
{
conn.rollback();
}
}
catch(Exception e)
{
System.out.println("Exception :EmpLeaveCancel :confirm():" + e.getMessage() + ":");
retString = genericUtility.createErrorString(e);
e.printStackTrace();
throw new ITMException(e);
}
finally
{
this.errXml ="";
this.leaveXmlData = "";
this.errList = null;
this.fldList = null;
this.lveRuleList = null;
this.proteusDataSource = null;
this.admCommon = null;
this.utilMethod = null;
}
System.out.println("Error String Returned from Cancellation of leave :: [" + errString + "]");
return errString;
}
private String postLogic (String tranidFr,String tranidTo,int commit,String xtraParms,Connection conn)
{
HashMap errCode = new HashMap<>();
String tranId = "" ,useFlag = "",tranidTrimmed = "",status = "",errCode1 = "";
int cnt = 0 , count = 0;
java.sql.Timestamp currDate = null;
LeaveEncase leaveEnc ;
String isError = "";
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("tranidFr :: ["+tranidFr+"]");
System.out.println("tranidTo :: ["+tranidTo+"]");
if(tranidFr == tranidTo)
{
tranId = tranidFr;
tranidTrimmed = tranId.trim();
errCode = cancelLeave(tranId,commit,conn);
sql = "select status,use_flag from empleave where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
status = checkNull(rs.getString("status"));
useFlag = checkNull(rs.getString("use_flag"));
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(status.equals("C") && utilMethod.pos("CVE" ,useFlag.trim()) > 0)
{
currDate = utilMethod.dateTime(utilMethod.today() , utilMethod.stringToTime("00:00"));
sql = "select count(1) as cnt from wf_prc_status where ref_ser in ('E-LVE','E-LVF','E-LVN') and ref_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranidTrimmed);
rs = pstmt.executeQuery();
while(rs.next())
{
cnt = rs.getInt("cnt");
}
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (cnt > 0)
{
sql = "";
sql = "update obj_sign_trans set SIGN_DATE = ? , SIGN_STATUS = 'S' , SIGN_REMARKS = 'Application Canceled'"+
"where ref_ser in ('E-LVE','E-LVF','E-LVN') and ref_id = ? and sign_status = 'U'";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, currDate);
pstmt.setString(2,tranidTrimmed);
rs = pstmt.executeQuery();
count = pstmt.executeUpdate();
if(count == 0)
{
count = 0;
sql = "";
sql = "update wf_prc_status set process_status = 9 , status_remarks = 'Leave application is canceled from ERP'" +
"where ref_ser in ('E-LVE','E-LVF','E-LVN') and ref_id = ? and process_status < 3";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranidTrimmed);
rs = pstmt.executeQuery();
count = pstmt.executeUpdate();
if(count == 0)
{
sql = "";
sql = "update empleave set WRKFLW_STATUS = 'Z' where tran_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
count = pstmt.executeUpdate();
}
else
{
errCode1 = "DS000";
}
}
else
{
errCode1 = "DS000";
}
if(errCode1.trim().length() > 0)
{
conn.rollback();
}
else
{
conn.commit();
}
}
}
}
if(errCode.size() > 0)
{
conn.rollback();
}
else
{
errCode1 = "VTLVCANC01";
errList.add(errCode1);
fldList.add("");
conn.commit();
}
}
catch(Exception e)
{
e.printStackTrace();
}
return errCode1;
}
private HashMap cancelLve(String tranId,int commit, Connection connectionObject) throws RemoteException,ITMException
{
HashMap hmap = new HashMap();
/*ArrayList this.errList = new ArrayList();
ArrayList this.fldList = new ArrayList();*/
String useFlag = "" , val1 = "", val2 = "", status = "" , errCode = "";
double val5 = 0 , lveDays = 0;
java.sql.Timestamp val3 = null , val4 = null , date3 = null;
String empCode = "" , lveCode = "", extraArg = "",empCodeAprv = "";
java.sql.Timestamp lveDateFr = null, lveDateTo = null;
java.sql.Timestamp cfDate = null, cfDateList[] = null, effDate = null;
long row = 0;
int noRows = 0;
String sql = "",sql1 = "",sql2 = "";
PreparedStatement pstmt = null,pstmt1 = null,pstmt2 = null;
ResultSet resultSet = null ,resultSet1 = null,resultSet2 = null;
AttdProcess attdProc;
try
{
do
{
sql = "SELECT EMP_CODE, LVE_CODE, LVE_DATE_FR , LVE_DATE_TO ,STATUS , NO_DAYS , USE_FLAG FROM EMPLEAVE_CANCEL WHERE TRAN_ID = ? ";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
empCode = checkNull(resultSet.getString("EMP_CODE"));
lveCode = checkNull(resultSet.getString("LVE_CODE"));
lveDateFr = resultSet.getTimestamp("LVE_DATE_FR");
lveDateTo = resultSet.getTimestamp("LVE_DATE_TO");
status = checkNull(resultSet.getString("STATUS"));
lveDays = resultSet.getDouble("NO_DAYS");
useFlag = checkNull(resultSet.getString("USE_FLAG"));
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(status.equals("C"))
{
errCode = "VTEMPLVE13";
break;
}
noRows = 0;
sql1 = "SELECT EFF_DATE , UPTO_DATE , LVES_ALLOC FROM EMPLVE_TRACE WHERE TRAN_ID = ? ORDER BY EFF_DATE ";
pstmt1 = connectionObject.prepareStatement(sql1);
pstmt1.setString(1, tranId);
resultSet1 = pstmt1.executeQuery();
while(resultSet1.next())
{
noRows++;
val3 = resultSet1.getTimestamp("EFF_DATE");
val4 = resultSet1.getTimestamp("UPTO_DATE");
val5 = resultSet1.getDouble("LVES_ALLOC");
}
if(cfDate == null)
{
cfDate = lveDateFr;
}
if(noRows > 0)
{
if(val3.before(cfDate))
{
cfDate = val3;
}
sql2 = "";
sql2 = "UPDATE LEAVEBAL SET BAL_DAYS = BAL_DAYS + ?,CONS_DAYS = CONS_DAYS -? WHERE EMP_CODE = ? AND LVE_CODE = ? AND EFF_DATE = ? AND UPTO_DATE <= ?";
pstmt2 = connectionObject.prepareStatement(sql2);
pstmt2.setDouble(1, val5);
pstmt2.setDouble(2, val5);
pstmt2.setString(3, empCode);
pstmt2.setString(4, lveCode);
pstmt2.setTimestamp(5, val3);
pstmt2.setTimestamp(6, val4);
noRows = pstmt2.executeUpdate();
System.out.println("noRows updated in leavebal::["+noRows+"]");
if(pstmt2 != null)
{
pstmt2.close();
pstmt2 = null;
}
sql1 = "";
sql1 = "DELETE FROM EMPLVE_TRACE WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt2 = connectionObject.prepareStatement(sql1);
pstmt2.setString(1, tranId);
pstmt2.setTimestamp(2, val3);
pstmt2.setTimestamp(3, val4);
noRows = pstmt2.executeUpdate();
System.out.println("noRows deleted from emplve_trace::["+noRows+"]");
if(pstmt2 != null)
{
pstmt2.close();
pstmt2 = null;
}
}
if(errCode.trim().length() != 0)
{
break;
}
date3 = utilMethod.dateTime(utilMethod.todaySqlDate(),utilMethod.now());
sql = "";
noRows = 0;
sql = "update empleave_cancel set chg_term = ?, chg_user = ?,chg_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, this.termId);
pstmt.setString(2, this.userId);
pstmt.setTimestamp(3, date3);
pstmt.setString(4, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
noRows = 0;
sql = "";
sql = "DELETE FROM EMPLEAVE_SUMMARY WHERE TRAN_ID = ? AND USE_FLAG = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, useFlag);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
noRows = 0;
sql = "";
sql = "update empleave set status = 'C' , status_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setTimestamp(1, date3);
pstmt.setString(2, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
break;
}
while(true);
if(errCode != null && errCode.trim().length() != 0)
{
this.errList.add(errCode);
this.fldList.add("");
if(commit == 2)
{
connectionObject.rollback();
}
}
else
{
this.errXml = "";
if(status.equals("A") && useFlag.equals("C"))
{
attdProc = new AttdProcess();
//errCode = attdProc.attdProcess(empCode, lveDateFr,lveDateTo ,1 , connectionObject);
}
/*addGlobArgs(extraArg);
attdProc.setGlobals(extraArg);*/
//errCode = attdProc.autoAttdProc(empCode , lveDateFr , lveDateTo , 1);
//$$$$$$$$$$$$$$$$$$$$$$$$$$$//errCode = attdProc.attdProcess( lveDateFr , lveDateTo ,empCode , "1",connectionObject);
}
if(commit == 2)
{
if(utilMethod.pos(errCode , "<error") > 0 )
{
this.errXml = errCode;
this.errList.add(errCode);
this.fldList.add("");
connectionObject.rollback();
}
else
{
this.errXml = "";
connectionObject.commit();
/*if(status.equals("A"))
{
int count1 = 0;
noRows = 0;
sql = "";
sql = "SELECT EFF_DATE FROM LEAVEBAL WHERE EMP_CODE = ? AND EFF_DATE > ? AND LVE_CODE = ? ORDER BY EFF_DATE";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, empCode);
pstmt.setTimestamp(2, cfDate);
pstmt.setString(3, lveCode);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
effDate = resultSet.getTimestamp("EFF_DATE");
}
if(noRows > 0)
{
count1 = utilMethod.upperBound(cfDateList);
count1 = count1 + 1;
cfDateList[count1] = effDate;
System.out.println("effDate ::::"+effDate);
if(cfDateList.length > 0)
{
// BoLeaveOpenBalance leaveBal = new BoLeaveOpenBalance();
StringBuffer leaveOpenBal = new StringBuffer();
leaveOpenBal.dataobject = "d_lve_open_bal";
leaveOpenBal.SetTransObject(sqlca);
leaveOpenBal.reset();
leaveOpenBal.insertrow(0);
for(row = 1;row <= cfDateList.length;row++)
{
leaveOpenBal.append("<emp_code__fr>").append(empCode).append("</emp_code__fr>");
leaveOpenBal.append("<emp_code__to>").append(empCode).append("</emp_code__to>");
leaveOpenBal.append("<leave_type__fr>").append(lveCode).append("</leave_type__fr>");
leaveOpenBal.append("<leave_type__to>").append(lveCode).append("</leave_type__to>");
leaveOpenBal.append("<resign_emp>").append("N").append("</resign_emp>");
leaveOpenBal.append("<proc_date>").append(cfDateList[(int) row]).append("</proc_date>");
//errCode = leaveBal.process(leaveOpenBal.describe("datawindow.data"), "",extraArg);
errCode = "";
}
}
}
}*/
}
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
//buildErrxml();
return hmap;
}
private HashMap cancelLeave (String tranId, int commit, Connection connectionObject) throws RemoteException,ITMException
{
String useFlag = "" , val1 = "", val2 = "", status = "" , errCode = "";
double val5 = 0 , lveDays = 0 ;
int ediOption = 0;
java.sql.Timestamp val3 = null , val4 = null , date3 = null;
String empCode = "" , lveCode = "" , sql1 = "";
String empStatus = "",empCodeApprv = "";
java.sql.Timestamp lveDateFr = null , lveDateTo = null, statusDate = null;
StringBuffer empLveCancel ;//DataStore empLveCancel;
//AEDFunctionsAdv functionsAdv = new AEDFunctionsAdv();
String sql = "";
PreparedStatement pstmt = null;
ResultSet resultSet = null;
int noRows = 0;
int count = 0;
HashMap hmap = new HashMap();
E12GenericUtility genericUtility;
/*ArrayList this.errList = new ArrayList();
ArrayList this.fldList = new ArrayList();*/
try
{
genericUtility = new E12GenericUtility();
do
{
sql = "SELECT EMP_CODE, LVE_CODE, LVE_DATE_FR , LVE_DATE_TO ,STATUS , NO_DAYS , USE_FLAG FROM EMPLEAVE WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
empCode = checkNull(resultSet.getString("EMP_CODE"));
lveCode = checkNull(resultSet.getString("LVE_CODE"));
lveDateFr = resultSet.getTimestamp("LVE_DATE_FR");
lveDateTo = resultSet.getTimestamp("LVE_DATE_TO");
status = checkNull(resultSet.getString("STATUS"));
lveDays = resultSet.getDouble("NO_DAYS");
useFlag = checkNull(resultSet.getString("USE_FLAG"));
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(status.equals("C"))
{
errCode = "VTEMPLVE13";
this.errList.add(errCode);
this.fldList.add("");
break;
}
else if(useFlag.equals("E"))
{
if(status.equals("A"))
{
errCode = "VTEMPLVE21";
this.errList.add(errCode);
this.fldList.add("");
break;
}
}
else if(useFlag.equals("L"))
{
errCode = "VTLVE16";
this.errList.add(errCode);
this.fldList.add("");
break;
}
else if(useFlag.equals("V") && status.equals("A"))
{
errCode ="VTLVE16";
this.errList.add(errCode);
this.fldList.add("");
break;
}
sql = "select case when status is null then '' else status end as status from employee where emp_code = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,empCode);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
empStatus = checkNull(resultSet.getString("status"));
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(empStatus.equals("S"))
{
errCode = "VTEMPSEP1";
this.errList.add(errCode);
this.fldList.add("");
break;
}
String empCodeAprv = "",lveType = "",prdCode = "",remarks = "",tranIdPayr="",
authEmp = "",applDate = "",authEmpAlternate = "",chgdate = "",chguser = "",chgterm = "",
leaveStarts = "",leaveEnds = "",lvefrdate1 = "",lvetodate1 = "",statusDate1 = "",aprvDate1= "";
String startTime = "",endTime = "",aprvDate = "";
double enchAmt = 0,noDays = 0,noDaysAdv = 0;
PreparedStatement ps = null;String txt = "";ResultSet rs1 = null;int cnt1 = 0;
txt = " Select TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,"+
" USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,"+
" AUTH_EMP,AUTH_EMP_ALTERNATE,DBSYSDATE(),?,?,LEAVE_STARTS, LEAVE_ENDS, START_TIME, END_TIME "+
" FROM EMPLEAVE WHERE TRAN_ID = ?";
ps = connectionObject.prepareStatement(txt);
ps.setString(1, userId);
ps.setString(2, termId);
ps.setString(3, tranId);
rs1 = ps.executeQuery();
while(rs1.next())
{
cnt1++;
tranId = checkNull(rs1.getString("TRAN_ID"));
empCode = checkNull(rs1.getString("EMP_CODE"));
lvefrdate1 = checkNull(rs1.getString("LVE_DATE_FR"));
lvetodate1 = checkNull(rs1.getString("LVE_DATE_TO"));
lveCode = checkNull(rs1.getString("LVE_CODE"));
empCodeAprv = checkNull(rs1.getString("EMP_CODE__APRV"));
aprvDate1 = checkNull(rs1.getString("APRV_DATE"));
lveType = checkNull(rs1.getString("LVE_TYPE"));
useFlag = checkNull(rs1.getString("USE_FLAG"));
enchAmt = rs1.getDouble("ENCH_AMT");
noDays = rs1.getDouble("NO_DAYS");
status = checkNull(rs1.getString("STATUS"));
statusDate1 = checkNull(rs1.getString("STATUS_DATE"));
prdCode = checkNull(rs1.getString("PRD_CODE"));
remarks = checkNull(rs1.getString("REMARKS"));
tranIdPayr = checkNull(rs1.getString("TRAN_ID__PAYR"));
noDaysAdv = rs1.getDouble("NO_DAYS_ADV");
applDate = checkNull(rs1.getString("APPL_DATE"));
authEmp = checkNull(rs1.getString("AUTH_EMP"));
authEmpAlternate = checkNull(rs1.getString("AUTH_EMP_ALTERNATE"));
leaveStarts = checkNull(rs1.getString("LEAVE_STARTS"));
leaveEnds = checkNull(rs1.getString("LEAVE_ENDS"));
startTime = checkNull(rs1.getString("START_TIME"));
endTime = checkNull(rs1.getString("END_TIME"));
}
if(rs1 != null)
{
rs1.close();
rs1 = null;
}
if(ps != null)
{
ps.close();
ps = null;
}
count = 0;
int rowsUpdate = 0;String newSql = "";
PreparedStatement ps2 = null;
newSql = "INSERT INTO EMPLEAVE_CANCEL(TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,"+
" USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,"+
" AUTH_EMP,AUTH_EMP_ALTERNATE,CHG_DATE,CHG_USER,CHG_TERM,LEAVE_STARTS,LEAVE_ENDS,START_TIME,END_TIME) "+
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,DBSYSDATE(),?,?,?,?,?,? )";
ps2 = connectionObject.prepareStatement(newSql);
ps2.setString(1, tranId);
ps2.setString(2, empCode);
ps2.setString(3, lvefrdate1.length() > 0?genericUtility.getValidDateString(lvefrdate1, genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat()):null);
ps2.setString(4, lvetodate1.length() > 0?genericUtility.getValidDateString(lvetodate1, genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat()):null);
ps2.setString(5, lveCode);
ps2.setString(6, empCodeAprv);
ps2.setString(7,aprvDate1.length() > 0?genericUtility.getValidDateString(aprvDate1, genericUtility.getDBDateFormat(),genericUtility.getApplDateFormat()):null);
ps2.setString(8, lveType);
ps2.setString(9, useFlag);
ps2.setDouble(10, enchAmt);
ps2.setDouble(11, noDays);
ps2.setString(12, status);
ps2.setString(13, statusDate1.length() > 0?genericUtility.getValidDateString(statusDate1,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat()):null);
ps2.setString(14, prdCode);
ps2.setString(15, remarks);
ps2.setString(16, tranIdPayr);
ps2.setDouble(17, noDaysAdv);
ps2.setString(18, applDate.length() > 0?genericUtility.getValidDateString(applDate, genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat()):null);
ps2.setString(19, authEmp);
ps2.setString(20, authEmpAlternate);
ps2.setString(21, userId);
ps2.setString(22, termId);
ps2.setString(23, leaveStarts);
ps2.setString(24, leaveEnds);
ps2.setString(25,startTime.length() > 0?genericUtility.getValidDateString(startTime, genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat()):null);
ps2.setString(26,endTime.length() > 0?genericUtility.getValidDateString(endTime,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat()):null);
rowsUpdate = ps2.executeUpdate();
if(ps2 != null)
{
ps2.close();
ps2 = null;
}
if(rowsUpdate > 0)
{
if(status.equals("A"))
{
hmap = cancelLve(tranId , 2 , connectionObject);
if(errCode != null && errCode.trim().length() > 0 &&utilMethod.pos(errCode , "<Errors>") > 0)
{
break;
}
else
{
noRows = 0;
sql = "select edi_option from transetup where tran_window = 'w_empleave_cancel'";
pstmt = connectionObject.prepareStatement(sql);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
ediOption = resultSet.getInt("edi_option");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
/*if(noRows == 0)
{
errCode = "DS000";
this.errList.add(errCode);
this.fldList.add("");
break;
}*/
if(ediOption > 0 )
{
empLveCancel = new StringBuffer();
/*empLveCancel.dataobject = "d_empleave_cancel_edit";
empLveCancel.settransobject(sqlca);
empLveCancel.retrieve(tranId);
*/
if(ediOption == 2)
{
//To be done later on
//functionsAdv.post nf_create_edi_multi("w_empleave_cancel",empLveCancel.describe("datawindow.syntax") +"\r"+empLveCancel.describe("datawindow.syntax.data"),'E',ediOption, 1, "","","","","","");
}
else
{
//To be done later on
//functionsAdv.nf_create_edi_multi("w_empleave_cancel",empLveCancel.describe("datawindow.syntax") +"\r"+empLveCancel.describe("datawindow.syntax.data"),'E',ediOption, 1, "","","","","","");
}
}
}
}
else if(status.equals("R"))
{
statusDate = utilMethod.dateTime(utilMethod.todaySqlDate(),utilMethod.now());
sql = "";
noRows = 0;
sql = "update empleave set status = 'C' , status_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setTimestamp(1,statusDate);
pstmt.setString(2, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
break;
}while(true);
if(errCode != null && errCode.trim().length() > 0 )
{
if(utilMethod.pos(errCode , "<Errors>") == 0)
{
this.errList.add(errCode);
this.fldList.add("");
}
else
{
this.errXml = errCode;
}
if(commit == 2)
{
connectionObject.rollback();
}
}
else if(commit == 2)
{
connectionObject.commit();
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
hmap.put("ERRORCODE",this.errList);
hmap.put("FLDLIST", this.fldList);
return hmap;
}
private String getErrorType(String errorCode , Connection conn) throws RemoteException, ITMException
{
String errorType = "";
String sqlStr = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
sqlStr = "SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ?";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1, errorCode);
rs = pstmt.executeQuery();
while (rs.next())
{
errorType = checkNull(rs.getString("MSG_TYPE"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(errorType == null || errorType.trim().length() == 0)
{
errorType = "E";
}
}
catch (Exception e)
{
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
return errorType;
}
private String checkNull(String input)
{
if(input == null)
{
input = "";
}
return input;
}
}
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface EmpLeaveCancelLocal extends ActionHandlerLocal
{
@Override
public String confirm(String arg0, String arg1, String arg2, Connection arg3)
throws RemoteException, ITMException;
@Override
public String confirm(String arg0, String arg1, String arg2)
throws RemoteException, ITMException;
}
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ActionHandlerRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface EmpLeaveCancelRemote extends ActionHandlerRemote
{
@Override
public String confirm(String arg0, String arg1, String arg2)
throws RemoteException, ITMException;
@Override
public String confirm(String arg0, String arg1, String arg2,
Connection arg3, UserInfoBean arg4) throws RemoteException,
ITMException;
}
/*
--leavesApprove
--checkEffectiveBalRecord
cancelLve
cancelLeave
*/
package ibase.webitm.ejb.adm.adv;
import ibase.system.config.AppConnectParm;//Added by Anjali Rawankar on[21/08/2017][For ITMDBACCESS]
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessLocal;//Added by Anjali Rawankar on[21/08/2017][For ITMDBACCESS]
import ibase.webitm.ejb.adm.AdmCommon;
import ibase.webitm.ejb.adm.AttdProcess;
import ibase.webitm.ejb.adm.LeaveEncase;
......@@ -36,6 +31,7 @@ import java.util.HashMap;
import java.util.List;
import javax.ejb.Stateless;
import javax.naming.InitialContext;//Added by Anjali Rawankar on[21/08/2017][For ITMDBACCESS]
import org.w3c.dom.Document;
import org.w3c.dom.Node;
......@@ -102,6 +98,16 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
String retString = "";
String errString = "",errCode = "";
HashMap hMap = new HashMap();
/*Modified by Anjali Rawankar on[22/08/2017][Start]
*[Added for itmDbAccess]
*/
AppConnectParm appConnect = null;
InitialContext initialCtx = null;
ITMDBAccessLocal itmDBAccess = null;
/*[Added for itmDbAccess]
* Modified by Anjali Rawankar on[22/08/2017][End]
*/
if (genericUtility == null)
{
genericUtility = new E12GenericUtility();
......@@ -114,7 +120,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
{
utilMethod = new UtilMethods();
}
try
{
......@@ -128,6 +133,16 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
this.termId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
this.loginEmpCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
this.leaveXmlData = getXMLFromDBForEdit("empleave","2",1,tranId, "String","E-LVE",getUserInfo(this.userId));
/*Modified by Anjali Rawankar on[22/08/2017][Start]
*[Added for itmDbAccess]
*/
appConnect = new AppConnectParm();
initialCtx = new InitialContext(appConnect.getProperty());
itmDBAccess = (ITMDBAccessLocal)initialCtx.lookup("ibase/ITMDBAccessEJB/local");
/*[Added for itmDbAccess]
* Modified by Anjali Rawankar on[22/08/2017][End]
*/
if (this.leaveXmlData != null && this.leaveXmlData.trim().length() > 0)
{
this.proteusDataSource = new ProteusDataSource("empLeave", this.leaveXmlData, 1);
......@@ -149,7 +164,14 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
errCode = (String)this.errList.get(cnt);
errFldName = (String)this.fldList.get(cnt);
System.out.println("errCode .........."+errCode);
errString = getErrorString( errFldName, errCode, this.userId );
/*Modified by Anjali Rawankar on[22/08/2017][Start]
*[Added for itmDbAccess]*/
//errString = getErrorString( errFldName, errCode, this.userId );
errString = itmDBAccess.getErrorString( errFldName, errCode, this.userId );
/*[Added for itmDbAccess]
*Modified by Anjali Rawankar on[22/08/2017][End]*/
errorType = getErrorType( errCode , conn );
if ( errorType.equalsIgnoreCase("E"))
{
......@@ -166,7 +188,12 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
if (errString == null || errString.trim().length() == 0)
{
conn.commit();
errString = getErrorString( "", "VTSUCC1" , this.userId );
/*Modified by Anjali Rawankar on[22/08/2017][Start]
*[Added for itmDbAccess]*/
//errString = getErrorString( "", "VTSUCC1" , this.userId );
errString = itmDBAccess.getErrorString( "", "VTSUCC1" , this.userId );
/*[Added for itmDbAccess]
*Modified by Anjali Rawankar on[22/08/2017][End]*/
}
else
{
......@@ -208,6 +235,12 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
int returnValue = 0;
String allowAdvLeave = "N" , lveTblno = "", balOpt = "";
//String tranidTrimmed = "",status = "",errCode1 = "";
int cnt = 0 ;
//java.sql.Timestamp currDate = null;
ResultSet rs = null;
String sql = "";
PreparedStatement pstmt = null;
ResultSet resultSet = null;
......@@ -262,11 +295,8 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
{
noRows = 0;
sql = "SELECT EMP_CODE,LVE_CODE,PRD_CODE,NO_DAYS,LVE_DATE_FR,LVE_DATE_TO,USE_FLAG,STATUS,ENCASH_MODE,PRD_CODE__PAYROLL FROM EMPLEAVE WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
......@@ -316,7 +346,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
noRows = 0;
sql = "SELECT WORK_SITE, CADRE, GRADE FROM EMPLOYEE WHERE EMP_CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
......@@ -347,9 +376,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
noRows = 0;
if(ruleValidation.equalsIgnoreCase("Y"))
{
errCode = leaveChkGeneral(empCode,lveCode,prdCode,noDays,lveDateFr,lveDateTo,useFlag,tranId,connectionObject);
......@@ -382,8 +409,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
noRows++;
balOpt = resultSet.getString("BAL_OPT");
}
if(resultSet != null)
{
resultSet.close();
......@@ -428,7 +453,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt.close();
pstmt = null;
}
if (lveTblno == null || lveTblno.trim().length() == 0)
{
noRows = 0;
......@@ -529,7 +553,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
else
{
int cnt = 0;
cnt = 0;
sql = "SELECT COUNT(1) AS COUNT FROM PERIOD WHERE CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, payrollPeriod);
......@@ -577,6 +601,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
}
}
break;
}while (true);
if (!isError)
......@@ -707,7 +732,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
do
{
sql = "SELECT HOL_TBLNO,WORK_SITE, GRADE, CADRE, RELIEVE_dATE FROM EMPLOYEE WHERE EMP_CODE = ?";
sql = "SELECT HOL_TBLNO,WORK_SITE, GRADE, CADRE, RELIEVE_DATE FROM EMPLOYEE WHERE EMP_CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, memp);
......@@ -2741,6 +2766,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
try
{
System.out.println("=============Inside getLvetbl==========");
sql = "SELECT LVE_TBLNO FROM GRADE_SITE_LVETBL WHERE SITE_CODE = ? AND GRADE_CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, workSite);
......@@ -2971,7 +2997,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
java.sql.Timestamp var2 = null,dVar6 = null , mDate1 = null , mDate2 = null ;
java.sql.Timestamp chgTime = null,tempToDt = null,tempFrDt = null,mDate = null, date = null, aprvDate = null, effDate = null;
double nVar1 = 0 , mDays = 0, mAmt = 0;
double mConDays = 0, mEnchDays = 0, fVal6 = 0, updBal = 0, nextBal = 0;
double mConDays = 0, mEnchDays = 0, fVal6 = 0, updBal = 0, nextBal = 0d;
int mCnt = 0 ,times = 0;
boolean advFlag = false;
double noDays = 0, days = 0 ,noDays1 = 0;
......@@ -2985,7 +3011,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
String sql = "", sql1 = "", sql2 = "", sql3 = "" , sql4 = "", sql5 = "", sql6 = "", sql7 = "";
PreparedStatement pstmt = null, pstmt1 = null, pstmt2 = null, pstmt3 = null, pstmt4 = null, pstmt5 = null, pstmt6 = null, pstmt7 = null;
ResultSet resultSet = null, resultSet1 = null, resultSet2 = null, resultSet3 = null, resultSet4 = null, resultSet5 = null, resultSet6 = null, resultSet7 = null ;
int noRows = 0;
//$$$$$$$$$$$$$$$$$$$$$ START $$$$$$$$$$$$$$$$$$$$$$$$$$
/*PayVoucherData voucData;
FuncReturn funcReturn;
......@@ -2996,6 +3022,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
//$$$$$$$$$$$$$$$$$$$$$ END $$$$$$$$$$$$$$$$$$$$$$$$$$
try
{
System.out.println("================Inside Leaves approve==============");
//connectionObject = getConnection();
chgTime = utilMethod.dateTime(utilMethod.todaySqlDate(),utilMethod.now());
mDate3 = utilMethod.dateTime(utilMethod.todaySqlDate());
......@@ -3003,39 +3030,16 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
mAmt = 0;
this.errXml = "";
cfDate = null;
sql1 = "SELECT LVE_DATE_FR,LVE_DATE_TO,NO_DAYS,LEAVE_STARTS,LEAVE_ENDS "+
" FROM EMPLEAVE WHERE EMP_CODE = ? AND ? BETWEEN LVE_DATE_FR AND LVE_DATE_TO AND TRAN_ID <> ? "+
" AND USE_FLAG = 'C' AND STATUS <> 'C'";
pstmt1 = connectionObject.prepareStatement(sql1);
sql2 = "UPDATE LEAVEBAL SET BAL_DAYS= BAL_DAYS - ?,CONS_DAYS = CONS_DAYS + ?,ENCH_DAYS = ENCH_DAYS + ? WHERE EMP_CODE = ? AND LVE_CODE = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt2 = connectionObject.prepareStatement(sql2);
sql3 = "SELECT COUNT(*) AS COUNT FROM EMPLVE_TRACE WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt3 = connectionObject.prepareStatement(sql3);
sql4 = "INSERT INTO EMPLVE_TRACE (TRAN_ID , EMP_CODE, LVE_DATE_FR, LVE_DATE_TO, LVE_CODE,EFF_DATE, UPTO_DATE, LVES_ALLOC) VALUES (?,?,?,?,?,?, ?, ?)";
pstmt4 = connectionObject.prepareStatement(sql4);
sql5 = "UPDATE EMPLVE_TRACE SET LVES_ALLOC = (CASE WHEN LVES_ALLOC IS NULL THEN 0 ELSE LVES_ALLOC END) + ? "
+" WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt5 = connectionObject.prepareStatement(sql5);
sql6 = "SELECT CODE, FR_DATE, TO_DATE FROM PERIOD WHERE FR_DATE <= ? AND TO_DATE >= ?";
pstmt6 = connectionObject.prepareStatement(sql6);
sql7 = "INSERT INTO EMPLEAVE_SUMMARY (TRAN_ID , EMP_CODE, LVE_DATE_FR, LVE_DATE_TO, LVE_CODE, NO_DAYS,PRD_CODE,USE_FLAG ) VALUES(?,?,?,?,?,?,?,?)";
pstmt7 = connectionObject.prepareStatement(sql7);
do
{
noRows = 0;
sql = "SELECT EMP_CODE,LVE_CODE,LVE_DATE_FR,LVE_DATE_TO,STATUS, NO_DAYS, USE_FLAG, ENCH_AMT, PRD_CODE, APRV_DATE, LEAVE_STARTS,LEAVE_ENDS FROM EMPLEAVE WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,tranId );
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
mEmp = resultSet.getString("EMP_CODE");
mLveCode = resultSet.getString("LVE_CODE");
mDate1 = resultSet.getTimestamp("LVE_DATE_FR");
......@@ -3075,8 +3079,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
int noRows = 0;
noRows = 0;
sql = "SELECT PAYABLE, BAL_OPT FROM LEAVES WHERE LVE_CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, mLveCode);
......@@ -3087,6 +3090,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
payable = resultSet.getString("PAYABLE");
balOpt = resultSet.getString("BAL_OPT");
}
if(resultSet != null)
{
resultSet.close();
......@@ -3105,10 +3109,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
else
{
noRows = 0;
}
if(museFlag.equalsIgnoreCase("C"))
{
lveTempDate1 = mDate1;
......@@ -3116,19 +3116,36 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
leaveEnd = lveEnd;
do
{
pstmt1.clearParameters();
noRows = 0;
sql1 = "SELECT LVE_DATE_FR,LVE_DATE_TO,NO_DAYS,LEAVE_STARTS,LEAVE_ENDS "+
" FROM EMPLEAVE WHERE EMP_CODE = ? AND ? BETWEEN LVE_DATE_FR AND LVE_DATE_TO AND TRAN_ID <> ? "+
" AND USE_FLAG = 'C' AND STATUS <> 'C'";
pstmt1 = connectionObject.prepareStatement(sql1);
pstmt1.setString(1, mEmp);
pstmt1.setTimestamp(2,lveTempDate1);
pstmt1.setString(3, tranId);
resultSet1 = pstmt1.executeQuery();
while(resultSet1.next())
{
noRows++;
pmDate1 = resultSet1.getTimestamp("LVE_DATE_FR");
pmDate2 = resultSet1.getTimestamp("LVE_DATE_TO");
noDays = resultSet1.getDouble("NO_DAYS");
plStart = resultSet1.getString("LEAVE_STARTS");
plEnd = resultSet1.getString("LEAVE_ENDS");
}
if(resultSet1 != null)
{
resultSet1.close();
resultSet1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(noRows > 0)
{
if((lveTempDate1.after(pmDate1) && lveTempDate1.before(pmDate2)) || (plStart.equals("B") && plEnd.equals("E")))
{
errCd = "VTLVEDATE2";
......@@ -3154,12 +3171,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
break;
}
}
if(resultSet1 != null)
{
resultSet1.close();
resultSet1 = null;
}
pstmt1.clearParameters();
noRows = 0;
if(errCd.trim().length() > 0)
{
......@@ -3186,8 +3197,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
leaveEnd = "E";
}
}
}
while((lveTempDate1.before(mDate2)) || (lveTempDate1.equals(mDate2)));//ld_dt <= mdate2
}while(((lveTempDate1.before(mDate2)) || (lveTempDate1.equals(mDate2))));
}
if(errCode != null && errCode.trim().length() > 0)
{
......@@ -3196,17 +3206,9 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
if(balOpt.equals("Y"))
{
//$$$$$$$$$$$$$$$$$$$$$$$$$ Start $$$$$$$$$$$$$$$$$$$$$$//
//boolean allowUpdateNegLeave = (boolean) this.lveRuleList.get("allow_update_negative_leave");
boolean allowUpdateNegLeave = (Boolean)this.lveRuleList.get("allow_update_negative_leave");
/*if istr_lve_rule_list.allow_update_negative_leave = true and museflag = "C" then
*/
if(allowUpdateNegLeave == true && museFlag.equals("C"));
{
//$$$$$$$$$$$$$$$$$$$$$$$$$ End $$$$$$$$$$$$$$$$$$$$$$//
errCode = "";
errCode = checkEffectiveBalRecord(tranId,mEmp,mLveCode,mDate1,mDate2 , connectionObject);
if((errCode != null) && errCode.trim().length() > 0)
......@@ -3216,6 +3218,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
}
nextBal = mDays;
noRows = 0;
sql = "SELECT EMP_CODE, LVE_CODE,EFF_DATE, UPTO_DATE,EXP_DATE, BAL_DAYS FROM LEAVEBAL WHERE EMP_CODE = ? AND LVE_CODE = ? AND EXP_DATE >= ? ORDER BY EXP_DATE";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, mEmp);
......@@ -3224,13 +3227,16 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
fVal1 = resultSet.getString("EMP_CODE");
fVal2 = resultSet.getString("LVE_CODE");
fVal3 = resultSet.getTimestamp("EFF_DATE");
fVal4 = resultSet.getTimestamp("UPTO_DATE");
fVal5 = resultSet.getTimestamp("EXP_DATE");
fVal6 = resultSet.getDouble("BAL_DAYS");
}
if(noRows > 0)
{
if( ((fVal6 < 0) || (fVal6 == 0 && (fVal3.before(mDate1) || fVal3.equals(mDate1)))))
{
continue;
......@@ -3245,13 +3251,14 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
mConDays = updBal;
mEnchDays = 0;
if((museFlag.toUpperCase()).equals("E"))
if(museFlag.equals("E"))
{
mConDays = 0;
mEnchDays = updBal;
}
sql2 = "UPDATE LEAVEBAL SET BAL_DAYS= BAL_DAYS - ?,CONS_DAYS = CONS_DAYS + ?,ENCH_DAYS = ENCH_DAYS + ? WHERE EMP_CODE = ? AND LVE_CODE = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt2 = connectionObject.prepareStatement(sql2);
pstmt2.clearParameters();
pstmt2.setDouble(1,updBal );
pstmt2.setDouble(2, mConDays);
pstmt2.setDouble(3,mEnchDays);
......@@ -3260,18 +3267,10 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt2.setTimestamp(6, fVal3);
pstmt2.setTimestamp(7, fVal4);
noRows = pstmt2.executeUpdate();
pstmt2.clearParameters();
if(noRows != 1)
{
errCode = "DS000NR";
this.errList.add(errCode);
this.fldList.add("");
isError = true;
break;
}
noRows = 0;
pstmt3.clearParameters();
sql3 = "SELECT COUNT(*) AS COUNT FROM EMPLVE_TRACE WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt3 = connectionObject.prepareStatement(sql3);
pstmt3.setString(1, tranId);
pstmt3.setTimestamp(2, fVal3);
pstmt3.setTimestamp(3, fVal4);
......@@ -3285,7 +3284,11 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
resultSet3.close();
resultSet3 = null;
}
pstmt3.clearParameters();
if(pstmt3 != null)
{
pstmt3.close();
pstmt3 = null;
}
if(cfDate == null)
{
cfDate = mDate1;
......@@ -3296,7 +3299,9 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
if(mCnt == 0)
{
pstmt4.clearParameters();
sql4 = "INSERT INTO EMPLVE_TRACE (TRAN_ID , EMP_CODE, LVE_DATE_FR, LVE_DATE_TO, LVE_CODE,EFF_DATE, UPTO_DATE, LVES_ALLOC) VALUES (?,?,?,?,?,?, ?, ?)";
pstmt4 = connectionObject.prepareStatement(sql4);
pstmt4.setString(1, tranId);
pstmt4.setString(2, mEmp);
pstmt4.setTimestamp(3, mDate1);
......@@ -3319,13 +3324,14 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
else
{
noRows = 0;
pstmt5.clearParameters();
sql5 = "UPDATE EMPLVE_TRACE SET LVES_ALLOC = (CASE WHEN LVES_ALLOC IS NULL THEN 0 ELSE LVES_ALLOC END) + ? "
+" WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt5 = connectionObject.prepareStatement(sql5);
pstmt5.setDouble(1, updBal);
pstmt5.setString(2, tranId);
pstmt5.setTimestamp(3, fVal3);
pstmt5.setTimestamp(4, fVal4);
noRows = pstmt5.executeUpdate();
pstmt5.clearParameters();
if(noRows != 1)
{
errCode = "DS000NR";
......@@ -3338,18 +3344,8 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
nextBal = nextBal - updBal;
if(nextBal == 0)
{
break;
}
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
//break;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if((errCode != null) && errCode.trim().length() > 0)
{
......@@ -3358,7 +3354,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
else if(nextBal > 0)
{
//allowUpdateNegLeave = (boolean) this.lveRuleList.get("allow_update_negative_leave");
allowUpdateNegLeave = (Boolean)this.lveRuleList.get("allow_update_negative_leave");
//if istr_lve_rule_list.allow_update_negative_leave = true and museFlag = "C" then
......@@ -3366,7 +3361,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
{
fVal3 = null;
fVal4 = null;
noRows = 0;
sql = "SELECT MAX(EFF_DATE) AS EFF_DATE FROM LEAVEBAL WHERE EMP_CODE = ? AND LVE_CODE = ? AND EXP_DATE >= ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, mEmp);
......@@ -3387,9 +3382,9 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt.close();
pstmt = null;
}
if(fVal3 != null)
{
noRows = 0;
sql = "SELECT EFF_DATE, UPTO_DATE FROM LEAVEBAL WHERE EMP_CODE = ? AND LVE_CODE = ? AND EFF_DATE = ? AND EXP_DATE >= ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, mEmp);
......@@ -3399,6 +3394,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
fVal3 = resultSet.getTimestamp("EFF_DATE");
fVal4 = resultSet.getTimestamp("UPTO_DATE");
}
......@@ -3534,15 +3530,16 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
}
}
mDate = mDate1;
days = 0;
do
{
noRows = 0;
pstmt6.clearParameters();
sql6 = "SELECT CODE, FR_DATE, TO_DATE FROM PERIOD WHERE FR_DATE <= ? AND TO_DATE >= ?";
pstmt6 = connectionObject.prepareStatement(sql6);
pstmt6.setTimestamp(1, mDate);
pstmt6.setTimestamp(2, mDate);
resultSet6 = pstmt6.executeQuery();
......@@ -3558,7 +3555,11 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
resultSet6.close();
resultSet6 = null;
}
pstmt6.clearParameters();
if(pstmt6 != null)
{
pstmt6.close();
pstmt6 = null;
}
if(noRows == 0)
{
errCode = "VTPRD1";
......@@ -3569,7 +3570,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
if(utilMethod.pos("ELVA",museFlag ) == 0)
{
if(tempToDt.after(mDate2))
{
tempToDt = mDate2;
......@@ -3595,7 +3595,8 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
noDays = mDays;
}
noRows = 0;
pstmt7.clearParameters();
sql7 = "INSERT INTO EMPLEAVE_SUMMARY (TRAN_ID , EMP_CODE, LVE_DATE_FR, LVE_DATE_TO, LVE_CODE, NO_DAYS,PRD_CODE,USE_FLAG ) VALUES(?,?,?,?,?,?,?,?)";
pstmt7 = connectionObject.prepareStatement(sql7);
pstmt7.setString(1, tranId);
pstmt7.setString(2, mEmp);
pstmt7.setTimestamp(3, mDate1);
......@@ -3605,7 +3606,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt7.setString(7, period);
pstmt7.setString(8, museFlag);
noRows = pstmt7.executeUpdate();
pstmt7.clearParameters();
if(noRows != 1)
{
errCode = "DS000NR";
......@@ -3614,19 +3614,21 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
isError = true;
break;
}
if (utilMethod.pos("ELVA" , museFlag) > 0)
{
break;
}
mDate = utilMethod.dateTime(utilMethod.RelativeDate(tempToDt,1));
}
while( (mDate.before(mDate2)) ||(mDate.equals(mDate2)));
while((mDate.before(mDate2)) ||(mDate.equals(mDate2)));
if(errCode != null && errCode.trim().length() > 0)
{
break;
}
if(museFlag.equals("V"))
{
sql = "";
sql = "SELECT LVE_CODE__CONVERT FROM LEAVES WHERE LVE_CODE = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,mLveCode);
......@@ -3735,6 +3737,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
if(saveFlag == 2)
{
noRows = 0;
sql = "UPDATE EMPLEAVE SET STATUS = 'A', ENCH_AMT = ?,STATUS_DATE = ?,EMP_CODE__APRV = ?,TRAN_ID__PAYR = ?,APRV_DATE = ? WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
......@@ -3745,6 +3748,11 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt.setTimestamp(5,chgTime);
pstmt.setString(6, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
......@@ -3753,12 +3761,12 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, tranId);
noRows = pstmt.executeUpdate();
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if(noRows != 1)
{
errCode = "DS000NR";
......@@ -3768,9 +3776,151 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
break;
}
break;
}while(true);//Main Do
/******************To be done after migrating all component*****************/
/*if(errCode == null || errCode.trim().length() == 0)
{
if(museFlag.equals("C"))
{
attdProc = new AttdProcess();
//gf_add_glob_args(ls_extra_arg);
//nvo_attd_proc.gbf_set_globals(ls_extra_arg);
//ls_errcode = nvo_attd_proc.gbf_auto_attdproc(memp , mdate1 , mdate2 , 1);
if(errCode == null || utilMethod.pos(errCode, "<error") == 0)
{
errCode = "";
}
while(true);
}
}*/
/*System.out.println("ERRCode:::-----["+errCode+"]");
if(errCode == null || errCode.trim().length() == 0)
{
sql = "";
noRows = 0;
sql = "select edi_option from transetup where tran_window = 'w_empleave'";
pstmt = connectionObject.prepareStatement(sql);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
ediOption = resultSet.getString("edi_option");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("edi option::["+ediOption+"]");
if((Integer.parseInt(ediOption)) > 0)
{
StringBuffer xmlString = new StringBuffer();
xmlString.dataobject = 'd_empleave_edit';
xmlString.settransobject(sqlca);
xmlString.retrieve(as_tranid)
xmlString.append("<status>").append("A").append("<status>");
xmlString.append("<aprv_date>").append(mDate3).append("<aprv_date>");
xmlString.append("<emp_code__aprv>").append(loginEmpCode).append("<emp_code__aprv>");
xmlString.append("<status>").append("A").append("<status>");
if((Integer.parseInt(ediOption)) == 2)
{
System.out.println("Migration done on later...");
nvo_functions_adv.post nf_create_edi_multi('w_empleave', &
lds_leaveapprv.describe("datawindow.syntax") &
+ '~r' + lds_leaveapprv.describe("datawindow.syntax.data"), &
'E', ls_edi_option, 1, '', '', '', '', '', '')
}
else
{
System.out.println("Migration done on later...");
s_errcode = nvo_functions_adv.nf_create_edi_multi('w_empleave', &
lds_leaveapprv.describe("datawindow.syntax") &
+ '~r' + lds_leaveapprv.describe("datawindow.syntax.data"), &
'E', ls_edi_option, 1, '', '', '', '', '', '')
}
}
}
errList.add(errCode);
fldList.add("");*/
/******************To be done after migrating all component*****************/
System.out.println("Is error:::::::["+isError+"]");
if (isError)
{
System.out.println("If err is true");
errCode = "ERROR";
if (commit == 2)
{
connectionObject.rollback();
}
}
else if (commit == 2)
{
connectionObject.commit();
errCode = "";
}
/******************To be done after migrating all component*****************/
/*noRows = 0;
sql = "";
sql = "select eff_date from leavebal where emp_code = ? and eff_date > ? " +
"and lve_code = ? order by eff_date";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, mEmp);
pstmt.setTimestamp(2, cfDate);
pstmt.setString(3, mLveCode);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
effDate = resultSet.getTimestamp("eff_date");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
System.out.println("No rows in edi option::::::::");
if(noRows > 0)
{
count1 = utilMethod.upperBound(cfDateList);
count1 = count1 + 1;
cfDateList[count1] = effDate;
System.out.println("effDate ::::"+effDate);
if(cfDateList.length > 0)
{
// BoLeaveOpenBalance leaveBal = new BoLeaveOpenBalance();
StringBuffer leaveOpenBal = new StringBuffer();
leaveOpenBal.dataobject = "d_lve_open_bal";
leaveOpenBal.SetTransObject(sqlca);
leaveOpenBal.reset();
leaveOpenBal.insertrow(0);
for(row = 1;row <= cfDateList.length;row++)
{
leaveOpenBal.append("<emp_code__fr>").append(empCode).append("</emp_code__fr>");
leaveOpenBal.append("<emp_code__to>").append(empCode).append("</emp_code__to>");
leaveOpenBal.append("<leave_type__fr>").append(lveCode).append("</leave_type__fr>");
leaveOpenBal.append("<leave_type__to>").append(lveCode).append("</leave_type__to>");
leaveOpenBal.append("<resign_emp>").append("N").append("</resign_emp>");
leaveOpenBal.append("<proc_date>").append(cfDateList[(int) row]).append("</proc_date>");
//errCode = leaveBal.process(leaveOpenBal.describe("datawindow.data"), "",extraArg);
errCode = "";
}
}
}*/
/******************To be done after migrating all component*****************/
/* to be done after migrating all components
// for attendance processing
......@@ -3829,21 +3979,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
destroy nvo_aed_functions_adv
*/
if (isError)
{
errCode = "ERROR";
if (commit == 2)
{
connectionObject.rollback();
}
}
else if (commit == 2)
{
connectionObject.commit();
errCode = "";
}
}
catch(Exception e)
{
......@@ -4079,6 +4214,7 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
}
HashMap hmap = getLvetbl(workSite,grade,cadre,lveTblNo, connectionObject);
System.out.println("from get lve tble:::["+hmap+"]");
errCode = (String)hmap.get("ERRORCODE");
if (errCode != null && errCode.trim().length() > 0)
{
......@@ -4407,515 +4543,6 @@ public class EmpLeaveConf extends ActionHandlerEJB implements EmpLeaveConfLocal,
return errCode;
}
private HashMap cancelLve(String tranId,int commit, Connection connectionObject) throws RemoteException,ITMException
{
HashMap hmap = new HashMap();
/*ArrayList this.errList = new ArrayList();
ArrayList this.fldList = new ArrayList();*/
String useFlag = "" , val1 = "", val2 = "", status = "" , errCode = "";
double val5 = 0 , lveDays = 0;
java.sql.Timestamp val3 = null , val4 = null , date3 = null;
String empCode = "" , lveCode = "", extraArg = "";
java.sql.Timestamp lveDateFr = null, lveDateTo = null;
java.sql.Timestamp cfDate = null, cfDateList[] = null, effDate;
long row = 0;
int noRows = 0;
String sql = "",sql1 = "",sql2 = "";
PreparedStatement pstmt = null,pstmt1 = null,pstmt2 = null;
ResultSet resultSet = null ,resultSet1 = null,resultSet2 = null;
//Connection connectionObject = null;
AttdProcess attdProc;
try
{
do
{
//connectionObject = getConnection();
sql = "SELECT EMP_CODE, LVE_CODE, LVE_DATE_FR , LVE_DATE_TO ,STATUS , NO_DAYS , USE_FLAG FROM EMPLEAVE_CANCEL WHERE TRAN_ID = ? ";
pstmt = connectionObject.prepareStatement(sql);
sql1 = "SELECT EFF_DATE , UPTO_DATE , LVES_ALLOC FROM EMPLVE_TRACE WHERE TRAN_ID = ? ORDER BY EFF_DATE ";
pstmt1 = connectionObject.prepareStatement(sql1);
sql2 = "UPDATE LEAVEBAL SET BAL_DAYS = BAL_DAYS + ?,CONS_DAYS = CONS_DAYS -? WHERE EMP_CODE = ? AND LVE_CODE = ? AND EFF_DATE = ? AND UPTO_DATE <= ?";
pstmt2 = connectionObject.prepareStatement(sql2);
sql1 = "";
sql = "DELETE FROM EMPLVE_TRACE WHERE TRAN_ID = ? AND EFF_DATE = ? AND UPTO_DATE = ?";
pstmt.setString(1, tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
empCode = resultSet.getString("EMP_CODE");
lveCode = resultSet.getString("LVE_CODE");
lveDateFr = resultSet.getTimestamp("LVE_DATE_FR");
lveDateTo = resultSet.getTimestamp("LVE_DATE_TO");
status = resultSet.getString("STATUS");
lveDays = resultSet.getDouble("NO_DAYS");
useFlag = resultSet.getString("USE_FLAG");
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(status.equals("C"))
{
errCode = "VTEMPLVE13";
break;
}
pstmt1.setString(1, tranId);
resultSet1 = pstmt1.executeQuery();
while(resultSet1.next())
{
val3 = resultSet1.getTimestamp("EFF_DATE");
val4 = resultSet1.getTimestamp("UPTO_DATE");
val5 = resultSet1.getDouble("LVES_ALLOC");
if(cfDate == null)
{
cfDate = lveDateFr;
}
if(val3.before(cfDate))
{
cfDate = val3;
}
pstmt2.setDouble(1, val5);
pstmt2.setDouble(2, val5);
pstmt2.setString(3, empCode);
pstmt2.setString(4, lveCode);
pstmt2.setTimestamp(5, val3);
pstmt2.setTimestamp(6, val3);
noRows = pstmt2.executeUpdate();
pstmt2.clearParameters();
if(pstmt2 != null)
{
pstmt2.close();
pstmt2 = null;
}
if(noRows != 1)
{
errCode = "DS000NR";
break;
}
}
pstmt1.clearParameters();
if(resultSet1 != null)
{
resultSet1.close();
resultSet1 = null;
}
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
}
pstmt.clearParameters();
if(errCode.trim().length() != 0)
{
break;
}
date3 = utilMethod.dateTime(utilMethod.todaySqlDate(),utilMethod.now());
sql = "";
noRows = 0;
sql = "update empleave_cancel set chg_term = ?, chg_user = ?,chg_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, this.termId);
pstmt.setString(2, this.userId);
pstmt.setTimestamp(3, date3);
pstmt.setString(4, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(noRows != 1)
{
errCode = "DS000NR";
this.errList.add(errCode);
this.fldList.add("");
break;
}
noRows = 0;
sql = "";
sql = "DELETE FROM EMPLEAVE_SUMMARY WHERE TRAN_ID = ? AND USE_FLAG = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, useFlag);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
noRows = 0;
sql = "";
sql = "update empleave set status = 'C' , status_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setTimestamp(1, date3);
pstmt.setString(2, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
break;
}
while(true);
if(errCode != null && errCode.trim().length() != 0)
{
this.errList.add(errCode);
this.fldList.add("");
/*insertErr(errCode,"");*/
if(commit == 2)
{
connectionObject.rollback();
}
}
else
{
this.errXml = "";
if(status.equals("A") && useFlag.equals("C"))
{
attdProc = new AttdProcess();
}
/*addGlobArgs(extraArg);
attdProc.setGlobals(extraArg);*/
//errCode = attdProc.autoAttdProc(empCode , lveDateFr , lveDateTo , 1);
//$$$$$$$$$$$$$$$$$$$$$$$$$$$//errCode = attdProc.attdProcess( lveDateFr , lveDateTo ,empCode , "1",connectionObject);
}
if(commit == 2)
{
if(utilMethod.pos(errCode , "<error") > 0 )
{
this.errXml = errCode;
this.errList.add(errCode);
this.fldList.add("");
connectionObject.rollback();
}
else
{
this.errXml = "";
connectionObject.commit();
if(status.equals("A"))
{
/*SELECT EFF_DATE FROM LEAVEBAL
WHERE EMP_CODE = :AS_EMPCODE AND EFF_DATE > :LD_CF_DATE AND LVE_CODE = :AS_LVECODE ORDER BY EFF_DATE;*/
sql = "";
sql = "SELECT EFF_DATE FROM LEAVEBAL WHERE EMP_CODE = ? AND EFF_DATE > ? AND LVE_CODE = ? ORDER BY EFF_DATE";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, empCode);
pstmt.setTimestamp(2, cfDate);
pstmt.setString(3, lveCode);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
effDate = resultSet.getTimestamp("EFF_DATE");
//cfDateList[utilMethod.upperBound(cfDateList[]) + 1] = effDate;
}
if(cfDateList.length > 0)
{
// BoLeaveOpenBalance leaveBal = new BoLeaveOpenBalance();
StringBuffer leaveOpenBal = new StringBuffer();
/*leaveOpenBal.dataobject = "d_lve_open_bal";
leaveOpenBal.SetTransObject(sqlca);
leaveOpenBal.reset();
leaveOpenBal.insertrow(0);*/
for(row = 1;row <= cfDateList.length;row++)
{
leaveOpenBal.append("<emp_code__fr>").append(empCode).append("</emp_code__fr>");
leaveOpenBal.append("<emp_code__to>").append(empCode).append("</emp_code__to>");
leaveOpenBal.append("<leave_type__fr>").append(lveCode).append("</leave_type__fr>");
leaveOpenBal.append("<leave_type__to>").append(lveCode).append("</leave_type__to>");
leaveOpenBal.append("<resign_emp>").append("N").append("</resign_emp>");
leaveOpenBal.append("<proc_date>").append(cfDateList[(int) row]).append("</proc_date>");
//errCode = leaveBal.process(leaveOpenBal.describe("datawindow.data"), "",extraArg);
errCode = "";
}
}
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
//buildErrxml();
return hmap;
}
private HashMap cancelLeave (String tranId, int commit, Connection connectionObject) throws RemoteException,ITMException
{
String useFlag = "" , val1 = "", val2 = "", status = "" , errCode = "";
double val5 = 0 , lveDays = 0;
java.sql.Timestamp val3 = null , val4 = null , date3 = null;
String empCode = "" , lveCode = "" , ediOption = "" , sql1 = "";
String empStatus = "";
java.sql.Timestamp lveDateFr = null , lveDateTo = null, statusDate = null;
StringBuffer empLveCancel ;//DataStore empLveCancel;
//AEDFunctionsAdv functionsAdv = new AEDFunctionsAdv();
String sql = "";
PreparedStatement pstmt = null;
ResultSet resultSet = null;
//Connection connectionObject = null;
int noRows = 0;
HashMap hmap = new HashMap();
/*ArrayList this.errList = new ArrayList();
ArrayList this.fldList = new ArrayList();*/
try
{
do
{
//connectionObject = getConnection();
sql = "SELECT EMP_CODE, LVE_CODE, LVE_DATE_FR , LVE_DATE_TO ,STATUS , NO_DAYS , USE_FLAG FROM EMPLEAVE WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
empCode = resultSet.getString("EMP_CODE");
lveCode = resultSet.getString("LVE_CODE");
lveDateFr = resultSet.getTimestamp("LVE_DATE_FR");
lveDateTo = resultSet.getTimestamp("LVE_DATE_TO");
status = resultSet.getString("STATUS");
lveDays = resultSet.getDouble("NO_DAYS");
useFlag = resultSet.getString("USE_FLAG");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(status.equals("C"))
{
errCode = "VTEMPLVE13";
this.errList.add(errCode);
this.fldList.add("");
break;
}
else if(useFlag.equals("E"))
{
if(status.equals("A"))
{
errCode = "VTEMPLVE21";
this.errList.add(errCode);
this.fldList.add("");
break;
}
}
else if(useFlag.equals("L"))
{
errCode = "VTLVE16";
this.errList.add(errCode);
this.fldList.add("");
break;
}
else if(useFlag.equals("V") && status.equals("A"))
{
errCode ="VTLVE16";
this.errList.add(errCode);
this.fldList.add("");
break;
}
/*select case when status is null then '' else status end into :ls_emp_status
from employee where emp_code = :as_empcode;*/
sql = "select case when status is null then '' else status end as status from employee where emp_code = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1,empCode);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
empStatus = resultSet.getString("status");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(empStatus.equals("S"))
{
errCode = "VTEMPSEP1";
this.errList.add(errCode);
this.fldList.add("");
break;
}
//$$$$$$$$$$$$$$$$$$$$$ START $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
/*INSERT INTO EMPLEAVE_CANCEL(TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,
USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,
AUTH_EMP,AUTH_EMP_ALTERNATE,CHG_DATE,CHG_USER,CHG_TERM,LEAVE_STARTS,LEAVE_ENDS,START_TIME,END_TIME) */
sql = "INSERT INTO EMPLEAVE_CANCEL(TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,"+
"USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,"+
"AUTH_EMP,AUTH_EMP_ALTERNATE,CHG_DATE,CHG_USER,CHG_TERM,LEAVE_STARTS,LEAVE_ENDS,START_TIME,END_TIME) ";
/*Select TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,
USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,
AUTH_EMP,AUTH_EMP_ALTERNATE,DBSYSDATE(), :userid , :TERMID , LEAVE_STARTS, LEAVE_ENDS, START_TIME, END_TIME
+; */
// Do the Changes
sql = "Select TRAN_ID ,EMP_CODE, LVE_DATE_FR, LVE_DATE_TO,LVE_CODE,EMP_CODE__APRV,APRV_DATE,LVE_TYPE,"+
"USE_FLAG,ENCH_AMT,NO_DAYS,STATUS,STATUS_DATE,PRD_CODE,REMARKS,TRAN_ID__PAYR,NO_DAYS_ADV,APPL_DATE,"+
"AUTH_EMP,AUTH_EMP_ALTERNATE,DBSYSDATE(),?,?,LEAVE_STARTS, LEAVE_ENDS, START_TIME, END_TIME"+
"FROM EMPLEAVE WHERE TRAN_ID = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setString(1, this.userId);
pstmt.setString(2, this.termId);
pstmt.setString(3, tranId);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
//into
//$$$$$$$$$$$$$$$$$$$$$ END $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$//
if(status.equals("A"))
{
hmap = cancelLve(tranId , 2 , connectionObject);
if(errCode != null && errCode.trim().length() > 0 &&utilMethod.pos(errCode , "<Errors>") > 0)
{
break;
}
else
{
noRows = 0;
sql = "select edi_option from transetup where tran_window = 'w_empleave_cancel'";
pstmt = connectionObject.prepareStatement(sql);
resultSet = pstmt.executeQuery();
while(resultSet.next())
{
noRows++;
ediOption = resultSet.getString("edi_option");
}
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(noRows == 0)
{
errCode = "DS000";
this.errList.add(errCode);
this.fldList.add("");
break;
}
if(Integer.parseInt(ediOption) > 0)
{
empLveCancel = new StringBuffer();
/*empLveCancel.dataobject = "d_empleave_cancel_edit";
empLveCancel.settransobject(sqlca);
empLveCancel.retrieve(tranId);
*/
if(Integer.parseInt(ediOption) == 2)
{
//To be done later on
//functionsAdv.post nf_create_edi_multi("w_empleave_cancel",empLveCancel.describe("datawindow.syntax") +"\r"+empLveCancel.describe("datawindow.syntax.data"),'E',ediOption, 1, "","","","","","");
}
else
{
//To be done later on
//functionsAdv.nf_create_edi_multi("w_empleave_cancel",empLveCancel.describe("datawindow.syntax") +"\r"+empLveCancel.describe("datawindow.syntax.data"),'E',ediOption, 1, "","","","","","");
}
}
}
}
else if(status.equals("R"))
{
statusDate = utilMethod.dateTime(utilMethod.todaySqlDate(),utilMethod.now());
sql = "";
noRows = 0;
sql = "update empleave set status = 'C' , status_date = ? where tran_id = ?";
pstmt = connectionObject.prepareStatement(sql);
pstmt.setTimestamp(1,statusDate);
pstmt.setString(2, tranId);
noRows = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
}
while(true);
if(errCode != null && errCode.trim().length() > 0 )
{
if(utilMethod.pos(errCode , "<Errors>") == 0)
{
/*insertErr(errCode , "");*/
this.errList.add(errCode);
this.fldList.add("");
}
else
{
this.errXml = errCode;
}
if(commit == 2)
{
connectionObject.rollback();
}
}
else if(commit == 2)
{
connectionObject.commit();
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
//buildErrxml( );//$$$$$$$$$$$$$$$$$$$$$$
hmap.put("ERRORCODE",this.errList);
hmap.put("FLDLIST", this.fldList);
return hmap;
}
private String getErrorType(String errorCode , Connection conn) throws RemoteException, ITMException
{
String errorType = "";
......
----------SYSTEM ENTRIES FOR.OBJ_NAME :hrleave[For cancel button].[2017-09-12][START]---------------
SET DEFINE OFF;
Insert into OBJ_ACTIONS (OBJ_NAME,LINE_NO,IMAGE,DESCRIPTION,SERVICE_CODE,INTERACTIVE,RIGHTS_CHAR,TITLE,FORM_NO,SERVICE_HANDLER,PLACEMENT,ACTION_TYPE,TRAN_TYPE,CHG_DATE,CHG_TERM,CHG_USER,IS_CONFIRMATION_REQ,SEP_DUTY_OPT,RE_AUTH_OPT,SHOW_IN_PANEL,MULTI_ROW_OPT,ACTION_ID,SWIPE_POSITION,ACTION_ARG,TYPE,PAGE_CONTEXT) values ('hrleave',2,null,'Cancel',null,null,'C','Cancel','1',null,null,'U',null,to_date('21-NOV-16','DD-MON-RR'),'BASE','BASE',null,null,null,null,null,null,null,null,null,null);
Insert into SYSTEM_EVENTS
(OBJ_NAME,EVENT_CODE,EVENT_CONTEXT,SERVICE_CODE,METHOD_RULE,OVERWRITE_CORE,CHG_DATE,CHG_USER,CHG_TERM,RESULT_HANDLE,COMP_NAME,COMP_TYPE,COMM_FORMAT)
values
('hrleave','hrleave_cancel','1','hrleave_cancel',null,'0',sysdate,'BASE','BASE','2','EmpLeaveCancel','EJB',null);
Insert into SYSTEM_EVENT_SERVICES
(SERVICE_CODE,SERVICE_DESCR,SERVICE_URI,SERVICE_PROVIDER,METHOD_NAME,RETURN_VALUE,RETURN_TYPE,RETURN_DESCR,
RETURN_XFRM,CHG_DATE,CHG_USER,CHG_TERM) values
('hrleave_cancel','Action To CANCEL','http://localhost:9090/axis/services/ValidatorService','Base Information','confirm','String','S',null,null,SYSDATE,'BASE','BASE');
Insert into SYSTEM_SERVICE_ARGS (SERVICE_CODE,LINE_NO,ARG_NAME,ARG_MODE,DESCR,ARG_TYPE,ARG_XFRM,CHG_DATE,CHG_USER,CHG_TERM,ARG_VALUE) values ('hrleave_cancel',1,'COMPONENT_TYPE','I','Component Type','S',null,to_date('10-JUL-17','DD-MON-RR'),'BASE','BASE','EJB');
Insert into SYSTEM_SERVICE_ARGS (SERVICE_CODE,LINE_NO,ARG_NAME,ARG_MODE,DESCR,ARG_TYPE,ARG_XFRM,CHG_DATE,CHG_USER,CHG_TERM,ARG_VALUE) values ('hrleave_cancel',2,'COMPONENT_NAME','I','Component Name','S',null,to_date('10-JUL-17','DD-MON-RR'),'BASE','BASE',null);
Insert into SYSTEM_SERVICE_ARGS (SERVICE_CODE,LINE_NO,ARG_NAME,ARG_MODE,DESCR,ARG_TYPE,ARG_XFRM,CHG_DATE,CHG_USER,CHG_TERM,ARG_VALUE) values ('hrleave_cancel',3,'<tran_id>','I','tranid','B.String',null,to_date('10-JUL-17','DD-MON-RR'),'BASE','BASE',null);
Insert into SYSTEM_SERVICE_ARGS (SERVICE_CODE,LINE_NO,ARG_NAME,ARG_MODE,DESCR,ARG_TYPE,ARG_XFRM,CHG_DATE,CHG_USER,CHG_TERM,ARG_VALUE) values ('hrleave_cancel',4,'XTRA_PARAMS','I','Extra Arguments','S',null,to_date('10-JUL-17','DD-MON-RR'),'BASE','BASE',null);
Insert into SYSTEM_SERVICE_ARGS (SERVICE_CODE,LINE_NO,ARG_NAME,ARG_MODE,DESCR,ARG_TYPE,ARG_XFRM,CHG_DATE,CHG_USER,CHG_TERM,ARG_VALUE) values ('hrleave_cancel',5,'FORCED_FLAG','I','Forced Flag','S',null,to_date('10-JUL-17','DD-MON-RR'),'BASE','BASE',null);
----------SYSTEM ENTRIES FOR.OBJ_NAME :hrleave[For cancel button].[2017-09-12][END]--------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment