Commit e44c7739 authored by sanashaikh's avatar sanashaikh

Sana S : Added on 07/11/19

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@211504 ce508802-f39f-4f6c-b175-0d175dae99d5
parent d056695f
package ibase.webitm.ejb.adm;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ProcessEJB;
import ibase.webitm.ejb.adm.adv.EmpLeaveConf;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.reports.sun.receiptCoupon;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
//Created by Sana S on 03/10/2019 [start]
public class LeaveConvertPrc extends ProcessEJB implements LeaveConvertPrcLocal,LeaveConvertPrcRemote
{
E12GenericUtility genericUtility= new E12GenericUtility();
AdmCommon admCommon = new AdmCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
UtilMethods utilMethod = new UtilMethods();
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException, ITMException
{
Document detailDom = null;
Document headerDom = null;
String retStr = "";
Connection conn = null;
Connection logConn = null;
String userId = "";
HRLogWriter logWriter = new HRLogWriter();
String objName = "", currentProcess = "", processId = "", activity = "", fileNameStartWith = "";
String jobId = "", loginSite = "";
String termId = "";
try
{
conn = getConnection();
System.out.println("Conn ["+conn+"]");
System.out.println("logConn ["+logConn+"]");
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
if (xmlString != null && xmlString.trim().length() > 0)
{
headerDom = genericUtility.parseString(xmlString);
System.out.println("headerDom ["+headerDom+"]");
}
if (xmlString2 != null && xmlString2.trim().length() > 0)
{
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom ["+detailDom+"]");
}
logConn = getConnection();
////////initialize log writer////
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
System.out.println("userId ["+userId+"]");
termId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
System.out.println("termId ["+termId+"]");
loginSite = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode"));
System.out.println("loginSite ["+loginSite+"]");
jobId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "job_id"));
System.out.println("jobId ["+jobId+"]");
objName = getObjNameFromDom(headerDom, "objName");
System.out.println("objName ["+objName+"]");
logWriter.setTotalRows(0);
logWriter.setRowsProcessed(0);
logWriter.setRowsIgnored(0);
logWriter.setRowsRejected(0);
//logWriter.setCurrentProcess("LeaveConvert");
logWriter.setActivity("LeaveConvertProcess");
logWriter.setProcessId("LeaveConvertProcess");
logWriter.setFileNameStartWith("");
currentProcess = logWriter.getCurrentProcess();
activity = logWriter.getActivity();
System.out.println("activity ["+activity+"]");
processId = logWriter.getProcessId();
fileNameStartWith = logWriter.getFileNameStartWith();
System.out.println("fileNameStartWith ["+fileNameStartWith+"]");
logWriter.initializeHRLogWriter(objName, jobId, userId, termId, activity, "leaveConvert", loginSite, logConn);
////////
retStr = process(headerDom, detailDom, windowName, xtraParams, conn,logConn);
System.out.println("Process for LeaveConvertPrc :::: " + retStr);
if(retStr == null || retStr.trim().length() == 0)
{
retStr = itmDBAccessEJB.getErrorString("","VTPRCSUCC ", userId, "", conn);
}
}
catch (Exception e)
{
System.out.println("Exception :LeaveConvertPrc :process(String xmlString, String xmlString2, String windowName, String xtraParams):"
+ e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
conn.close();
conn = null;
}
if(logConn != null)
{
logConn.close();
logConn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return retStr;
}
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams, Connection conn, Connection logConn) throws RemoteException, ITMException
{
HRLogWriter logWriter = new HRLogWriter();
EmpLeaveConf empLeaveConf=new EmpLeaveConf();
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yy");
ResultSet rs = null, rs1 = null, rs2 = null, rs3 = null ,rs4 = null;
PreparedStatement pstmt = null, pstmt1 = null, pstmt2 = null,pstmt3 = null;
String sql = "",sql1 = "" ,sql2 = "",sql3 = "",payrollOrVoucher="",payrollPeriod="";
String errString = "";
String empCodeFr = "";
String empCodeTo = "";
String siteCodeFr = "";
String siteCodeTo = "";
String leaveTypeFr = "";
String leaveTypeTo = "";
String deptCodeFr = "";
String deptCodeTo = "";
String procGroupFr ="";
String procGroupTo = "";
String lsProcResEmp = "";
String procDate ="";
String keyString = "";
String tranId = "";
String userId = "";
String frDateStr = "",balDays="";
Date expDate=null;
Timestamp ldRelieveDate=null;
Timestamp frDate = null;
Timestamp ldProcess = null,nextEff=null,nextEff1=null;
Timestamp ldEffDate = null;
Timestamp ldUptoDate = null;
Map dwDataMap = null;
Map dataMap = null;
int rowCnt = 0,rejected=0;
Map rowMap = null;
int llRowCnt = 0,confirmed=0;
String lsEmpCode = "";
String workSite = "",lsDescr="";
double lcPrevBal = 0.0;
int cnt = 0;
String errCode = "",lveCodeConvert="",lveCodeOf="";
String lsLogText = "";
String lsEmpSite = "";
String lsWorkSite = "";
String xmlValues = "";
String jobId = "", loginSite = "",lveCodeoff=null;
StringBuffer valueXmlString = null;
try
{
userId=genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
System.out.println("User Id in Process:"+userId);
conn = getConnection();
System.out.println("::::::::::::Inside Process::::::::::::");
int liRet = logWriter.getLogWriterFlag();
if(liRet == -1)
{
return errString;
}
logWriter.gbfErrWrite("", "", "", "Processing Started" , "I", logConn);
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n");
valueXmlString.append("</Header>\r\n");
valueXmlString.append("<Detail1>\r\n");
valueXmlString.append("<noof_confirmed><![CDATA[").append("0").append("]]></noof_confirmed>\r\n");
valueXmlString.append("<noof_rejected><![CDATA[").append("0").append("]]></noof_rejected>\r\n");
lveCodeoff = checkNull(genericUtility.getColumnValue("lve_code_of", headerDom));
if((lveCodeoff.trim()) == null)
{
lveCodeoff = "0";
}
sql="select lve_code__convert from leaves where lve_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lveCodeoff);
rs = pstmt.executeQuery();
if (rs.next())
{
lveCodeConvert = checkNull(rs.getString("lve_code__convert"));
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
Timestamp chg_time=utilMethod.dateTime(utilMethod.today(), utilMethod.now());
Timestamp mtrandate=utilMethod.dateTime(utilMethod.today(), utilMethod.now());
sql="select key_string from transetup where upper(tran_window) = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "W_EMPLEAVE");
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = checkNull(rs.getString("key_string"));
System.out.print("keyString:["+keyString+"]");
}
else
{
errString = itmDBAccessEJB.getErrorString("","VTSEQ", userId, "", conn);
logWriter.gbfErrWrite("", "", "", "VTSEQ", "E", logConn);
gbfReleaseLogWriter(headerDom, logWriter, logConn);
return errString;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
empCodeFr = genericUtility.getColumnValue("emp_code__fr",headerDom);
empCodeTo =genericUtility.getColumnValue("emp_code__to",headerDom);
if ( empCodeFr == null )
{
empCodeFr = "0";
System.out.println("Employee Code From is Null................");
}
if ( empCodeTo == null)
{
empCodeTo = "z";
System.out.println("Employee Code To is Null..........");
}
deptCodeFr = checkNull(genericUtility.getColumnValue("dept_code__fr", headerDom));
deptCodeTo = checkNull(genericUtility.getColumnValue("dept_code__to", headerDom));
if((deptCodeFr.trim()) == null)
{
deptCodeFr = "0";
}
if((deptCodeTo.trim()) == null)
{
deptCodeTo = "ZZ";
}
siteCodeFr = checkNull(genericUtility.getColumnValue("site_code__fr", headerDom));
siteCodeTo = checkNull(genericUtility.getColumnValue("site_code__to", headerDom));
if((siteCodeFr.trim()) == null)
{
siteCodeFr = "0";
}
if((siteCodeTo.trim()) == null)
{
siteCodeTo = "z";
}
leaveTypeFr = checkNull(genericUtility.getColumnValue("leave_type__fr", headerDom));
leaveTypeTo = checkNull(genericUtility.getColumnValue("leave_type__to", headerDom));
if((leaveTypeFr.trim()) == null)
{
leaveTypeFr = "0";
}
if((leaveTypeTo.trim()) == null)
{
leaveTypeTo = "z";
}
procDate = checkNull(genericUtility.getColumnValue("proc_date", headerDom));
ldProcess = Timestamp.valueOf(genericUtility.getValidDateString(procDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.print("procDate:["+procDate+"]");
System.out.print("ldProcess:["+ldProcess+"]");
procGroupFr = checkNull(genericUtility.getColumnValue("proc_group__fr", headerDom));
procGroupTo = checkNull(genericUtility.getColumnValue("proc_group__to", headerDom));
if((procGroupFr.trim()) == null)
{
procGroupFr = "0";
}
if((procGroupTo.trim()) == null)
{
procGroupTo = "ZZ";
}
lveCodeOf= genericUtility.getColumnValue("lve_code_of",headerDom);
if ( lveCodeOf == null )
{
lveCodeOf = "0";
System.out.println("Lve Code Of is Null...........");
}
lsProcResEmp = checkNull(genericUtility.getColumnValue("resign_emp", headerDom));
dataMap = new HashMap<>();
sql = " SELECT leavebal.emp_code,employee.emp_fname,employee.emp_mname,employee.emp_lname,"
+ "employee.relieve_date,leavebal.lve_code,leavebal.eff_date,leavebal.upto_date,"
+ "leavebal.exp_date,leavebal.bal_days,employee.grade,employee.cadre,employee.work_site,"
+ "employee.pay_site, ' ' as temp FROM leavebal, employee WHERE "
+ "( employee.emp_code = leavebal.emp_code ) AND"
+ " ( ( leavebal.emp_code between ? and ? ) AND "
+ " ( leavebal.lve_code = ? ) AND"
+ " ( employee.work_site between ? and ? ) AND "
+ " ( leavebal.exp_date = ? ) AND"
+ " ( leavebal.bal_days > 0 ) AND "
+ "( employee.dept_code >= ? ) AND"
+ " ( employee.dept_code <= ? ) AND"
+ " ( employee.proc_group >= ? ) AND "
+ " ( employee.proc_group <= ? ) AND "
+ "(employee.relieve_date is NULL OR "
+ "(? = 'Y' AND employee.relieve_date > ? )) )";
System.out.println("Get Data Sql:::::::::::["+sql+"]");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, empCodeFr);
pstmt.setString(2, empCodeTo);
pstmt.setString(3, lveCodeOf);
pstmt.setString(4, siteCodeFr);
pstmt.setString(5, siteCodeTo);
pstmt.setString(6, procDate);
pstmt.setString(7, deptCodeFr);
pstmt.setString(8, deptCodeTo);
pstmt.setString(9, procGroupFr);
pstmt.setString(10, procGroupTo);
pstmt.setString(11, lsProcResEmp);
pstmt.setString(12, procDate);
rs = pstmt.executeQuery();
while(rs.next())
{
rowCnt++;
dwDataMap = new HashMap<>();
dwDataMap.put("emp_code", checkNull(rs.getString("emp_code")));
dwDataMap.put("lve_code", checkNull(rs.getString("lve_code")));
dwDataMap.put("exp_date", rs.getDate("exp_date"));
dwDataMap.put("eff_date",rs.getDate("eff_date"));
dwDataMap.put("upto_date",rs.getDate("upto_date"));
dwDataMap.put("bal_days", checkNull(rs.getString("bal_days")));
expDate=rs.getDate("exp_date");
nextEff=utilMethod.dateTime(utilMethod.RelativeDate(utilMethod.date(expDate), 1));
dwDataMap.put("work_site", checkNull(rs.getString("work_site")));
nextEff1=utilMethod.dateTime(utilMethod.RelativeDate(utilMethod.date(nextEff), 365));
chg_time=utilMethod.dateTime(utilMethod.today(), utilMethod.now());
String a=sdf.format(chg_time);
System.out.print("chg_time:"+a);
dataMap.put(rowCnt, dwDataMap);
dwDataMap = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
String lveCode=null;
System.out.println("ldProcess ===> "+ldProcess+"\n expDate: "+sdf.format(expDate));
llRowCnt=dataMap.size();
for(int i = 1; i <= llRowCnt; i++)
{
rowMap = (Map) dataMap.get(i);
System.out.println("Data inside rowMap = "+rowMap);
lsEmpCode = (String) rowMap.get("emp_code");
workSite = (String) rowMap.get("work_site");
lveCode = (String) rowMap.get("lve_code");
balDays = (String) rowMap.get("bal_days");
System.out.println("lcPrevBal = "+lcPrevBal+"\nlsEmpCode = "+lsEmpCode+"\nlsLveCode = "+workSite);
xmlValues = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<lve_date_fr>" + sdf.format(expDate) + "</lve_date_fr>";
xmlValues = xmlValues + "<lve_date_to>" + sdf.format(expDate) + "</lve_date_to>";
xmlValues = xmlValues + "<emp_code>" + lsEmpCode + "</emp_code>";
xmlValues = xmlValues + "<work_site>" + workSite + "</work_site>";
xmlValues = xmlValues + "<lve_code>" + lveCode + "</lve_code>";
xmlValues = xmlValues + "<lve_type>" + "ALC" + "</lve_type>";
xmlValues = xmlValues + "<use_flag>" + "L" + "</use_flag>";
xmlValues = xmlValues + "<appl_date>" + mtrandate + "</appl_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :[" + xmlValues + "]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID("E-LVE", "tran_id", keyString, conn);
tg = null;
System.out.println("Generated Tran ID ::[" + tranId + "]");
if ("ERROR".equalsIgnoreCase(tranId))
{
errCode="VTTRANID";
errString = itmDBAccessEJB.getErrorString("", errCode, userId, "", conn);
logWriter.gbfErrWrite("", lsEmpCode, "", errCode, "E", 2, logConn);
return errString;
}
sql="insert into empleave(tran_id,emp_code,lve_date_fr,lve_date_to,lve_code,use_flag,no_days,chg_date,chg_term,chg_user,status,status_date,aprv_date,leave_starts,leave_ends) "
+ "values (?, ?, ?, ?, ? ,? ,? , ? , ? , ? , ? , ? , ? , ? , ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
pstmt.setString(2, lsEmpCode);
pstmt.setString(3, sdf.format(expDate));
pstmt.setString(4, sdf.format(expDate));
pstmt.setString(5, lveCode);
pstmt.setString(6, "V");
pstmt.setString(7, balDays);
pstmt.setString(8, sdf.format(chg_time));
pstmt.setString(9, "SYSTEM");
pstmt.setString(10, userId);
pstmt.setString(11, "R");
pstmt.setString(12, sdf.format(chg_time));
pstmt.setString(13, sdf.format(chg_time));
pstmt.setString(14, "B");
pstmt.setString(15, "E");
int insertcount=pstmt.executeUpdate();
System.out.print("insertcount:"+insertcount);
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
errCode=empLeaveConf.leavesApprove(tranId, 2, checkNull(payrollOrVoucher), checkNull(payrollPeriod), 2, conn);
if(!errCode.equals(null) || errCode.trim().length()>0)
{
logWriter.gbfErrWrite("", lsEmpCode, "", errCode, "E", 2, logConn);
return errString;
}
}
if(errCode.trim().length() > 0)
{
conn.rollback();
errString = itmDBAccessEJB.getErrorString("", errCode, userId, "", conn);
rejected=rejected+1;
return errString;
}
else
{
conn.commit();
confirmed=confirmed+1;
logWriter.gbfErrWrite("", lsEmpCode, "", "Process successfully", "I", 1, logConn);
}
valueXmlString.append("<noof_rejected><![CDATA[").append(rejected).append("]]></noof_rejected>\r\n");
valueXmlString.append("<noof_confirmed><![CDATA[").append(confirmed).append("]]></noof_confirmed>\r\n");
if( utilMethod.pos(errString, "<error") == 0)
{
errString = itmDBAccessEJB.getErrorString("", "VPALVECNV9", userId, "", conn);
return errString;
}
gbfReleaseLogWriter(detailDom, logWriter, logConn);
}
catch (Exception e)
{
System.out.println("Exception :LeaveConvertPrc :process(String xmlString, String xmlString2, String xtraParams):"
+ e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
conn.commit();
}
catch (Exception e)
{
errString = e.getMessage();
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
public String getData(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
{
String rtrStr = "";
Document headerDom = null;
Document detailDom = null;
System.out.println("xmlString:::::::::"+xmlString);
System.out.println("xmlString2:::::::::"+xmlString2);
System.out.println("windowName:::::::::"+windowName);
System.out.println("xtraParams:::::::::"+xtraParams);
try
{
if(xmlString != null && xmlString.trim().length()!=0)
{
headerDom = genericUtility.parseString(xmlString);
}
if(xmlString2 != null && xmlString2.trim().length()!=0)
{
detailDom = genericUtility.parseString(xmlString2);
}
rtrStr = getData(headerDom, detailDom, windowName, xtraParams);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return rtrStr;
}
public String getData(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
String lveTableNo=null,encashable=null;
ResultSet rs = null,rs1=null,rs2=null,rs3=null;
PreparedStatement pstmt = null,pstmt1 = null,pstmt2 = null,pstmt3 = null;
String resultString="";
StringBuffer valueXmlString = null;
String cadre=null,grade=null,workSite=null,empCode=null,lveCodeConvert=null;
String sql =null,retriveSql=null,sql1 =null,sql3 =null;
Connection conn = null;
int rowCount=0;
String siteCodeTo = null;
String siteCodeFrom = null;
String deptCodeTo = null;
String deptCodeFrom = null;
String lveCodeOf= null;
String resignEmp = null;
String procGroupTo = null;
String procGroupFrom = null;
String relieveDate= null;
String expDate= null;
String upToDate=null;
String effDate= null;
String empCodeFrom = null;
String empCodeTo = null,lveCode=null;
String fName= null,lName= null,mName= null,balDays= null,paySite= null,temp= null,procDate = null;
SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yy");
Map dwDataMap = null;
Map dataMap = null;
int rowCnt = 0,rejected=0;
Map<Object, Object> rowMap = null;
int llRowCnt = 0,confirmed=0;
try
{
StringBuffer valueXmlString1 = new StringBuffer("<?xml version = \"1.0\"?>");
valueXmlString1.append("<DocumentRoot>");
valueXmlString1.append("<description>").append("Datawindow Root").append("</description>");
valueXmlString1.append("<group0>");
valueXmlString1.append("<description>").append("Group0 description").append("</description>");
valueXmlString1.append("<Header0>");
conn=getConnection();
String userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
empCodeFrom = genericUtility.getColumnValue("emp_code__fr",headerDom);
empCodeTo =genericUtility.getColumnValue("emp_code__to",headerDom);
if ( empCodeFrom == null )
{
empCodeFrom = "0";
System.out.println("Employee Code From is Null................");
}
if ( empCodeTo == null)
{
empCodeTo = "z";
System.out.println("Employee Code To is Null..........");
}
deptCodeTo = genericUtility.getColumnValue("dept_code__to",headerDom);
deptCodeFrom = genericUtility.getColumnValue("dept_code__fr",headerDom);
if ( deptCodeFrom == null )
{
deptCodeFrom = "0";
System.out.println("DepartMent Code To is Null............");
}
if ( deptCodeTo == null )
{
deptCodeTo = "ZZ";
System.out.println("DepartMent Code From is Null.......");
}
siteCodeTo = genericUtility.getColumnValue("site_code__to",headerDom);;
siteCodeFrom = genericUtility.getColumnValue("site_code__fr",headerDom);
if ( siteCodeFrom == null || siteCodeTo.trim().length() == 0 )
{
siteCodeFrom = "0";
System.out.println("Site Code To is Null............");
}
if ( siteCodeTo == null || siteCodeFrom.trim().length() == 0 )
{
siteCodeTo = "z";
System.out.println("Site Code From is Null................");
}
lveCodeOf= genericUtility.getColumnValue("lve_code_of",headerDom);
if ( lveCodeOf == null )
{
lveCodeOf = "0";
System.out.println("Lve Code Of is Null...........");
}
procDate = genericUtility.getColumnValue("proc_date",headerDom);
if ( procDate == null )
{
procDate = String.valueOf(utilMethod.dateTime(utilMethod.today()));
System.out.println("Process Date :"+procDate);
}
procGroupTo = genericUtility.getColumnValue("proc_group__to",headerDom);
procGroupFrom = genericUtility.getColumnValue("proc_group__fr",headerDom);
if ( procGroupFrom == null )
{
procGroupFrom = "0";
System.out.println("Process Group To Code To is Null.............");
}
if ( procGroupTo == null || procGroupFrom.trim().length() == 0 )
{
procGroupTo = "z";
System.out.println("Process Group From Code From is Null............");
}
resignEmp = genericUtility.getColumnValue("resign_emp",headerDom);
sql="select lve_code__convert from leaves where lve_code = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lveCodeOf);
rs = pstmt.executeQuery();
if (rs.next())
{
lveCodeConvert=rs.getString(1);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
dataMap = new HashMap<>();
sql = " SELECT leavebal.emp_code,employee.emp_fname,employee.emp_mname,employee.emp_lname,"
+ "employee.relieve_date,leavebal.lve_code,leavebal.eff_date,leavebal.upto_date,"
+ "leavebal.exp_date,leavebal.bal_days,employee.grade,employee.cadre,employee.work_site,"
+ "employee.pay_site, ' ' as temp FROM leavebal, employee WHERE "
+ "( employee.emp_code = leavebal.emp_code ) AND"
+ " ( ( leavebal.emp_code between ? and ? ) AND "
+ " ( leavebal.lve_code = ? ) AND"
+ " ( employee.work_site between ? and ? ) AND "
+ " ( leavebal.exp_date = ? ) AND"
+ " ( leavebal.bal_days > 0 ) AND "
+ "( employee.dept_code >= ? ) AND"
+ " ( employee.dept_code <= ? ) AND"
+ " ( employee.proc_group >= ? ) AND "
+ " ( employee.proc_group <= ? ) AND "
+ "(employee.relieve_date is NULL OR "
+ "(? = 'Y' AND employee.relieve_date > ? )) )";
System.out.println("Get Data Sql:::::::::::["+sql+"]");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, empCodeFrom);
pstmt.setString(2, empCodeTo);
pstmt.setString(3, lveCodeOf);
pstmt.setString(4, siteCodeFrom);
pstmt.setString(5, siteCodeTo);
pstmt.setString(6, procDate);
pstmt.setString(7, deptCodeFrom);
pstmt.setString(8, deptCodeTo);
pstmt.setString(9, procGroupFrom);
pstmt.setString(10, procGroupTo);
pstmt.setString(11,resignEmp );
pstmt.setString(12, procDate);
rs = pstmt.executeQuery();
while(rs.next())
{
rowCnt++;
dwDataMap = new HashMap<>();
dwDataMap.put("emp_code", checkNull(rs.getString("emp_code")));
dwDataMap.put("lve_code", checkNull(rs.getString("lve_code")));
dwDataMap.put("grade", checkNull(rs.getString("grade")));
dwDataMap.put("cadre", checkNull(rs.getString("cadre")));
dwDataMap.put("work_site", checkNull(rs.getString("work_site")));
dwDataMap.put("emp_fname", checkNull(rs.getString("emp_fname")));
dwDataMap.put("emp_mname", checkNull(rs.getString("emp_mname")));
dwDataMap.put("emp_lname", checkNull(rs.getString("emp_lname")));
dwDataMap.put("relieve_date", rs.getDate("relieve_date"));
System.out.print("Relieve Date:"+rs.getString("relieve_date"));
dwDataMap.put("eff_date", rs.getDate("eff_date"));
dwDataMap.put("upto_date", rs.getDate("upto_date"));
dwDataMap.put("exp_date", rs.getDate("exp_date"));
dwDataMap.put("bal_days", checkNull(rs.getString("bal_days")));
dwDataMap.put("pay_site", checkNull(rs.getString("pay_site")));
//dwDataMap.put("temp"," ");
dataMap.put(rowCnt, dwDataMap);
dwDataMap = null;
System.out.println("MAP Data :::::::::::"+dataMap);
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
sql="select lve_tblno from grade_site_lvetbl where site_code = ? and grade_code= ? ";
pstmt1 = conn.prepareStatement(sql);
for(int i=1; i <= dataMap.size(); i++)
{
rowMap=(Map) dataMap.get(i);
empCode=(String)rowMap.get("emp_code");
grade = (String) rowMap.get("grade");
cadre = (String) rowMap.get("cadre");
workSite = (String) rowMap.get("work_site");
lveCode = (String) rowMap.get("lve_code");
fName = (String) rowMap.get("emp_fname");
mName = (String) rowMap.get("emp_mname");
lName = (String) rowMap.get("emp_lname");
relieveDate = sdf.format(rowMap.get("relieve_date"));
System.out.print("relieveDate:"+relieveDate);
//Date rDate=sdf.parse(relieveDate);
effDate = sdf.format(rowMap.get("eff_date"));
expDate = sdf.format(rowMap.get("exp_date"));
balDays = (String) rowMap.get("bal_days");
paySite = (String) rowMap.get("pay_site");
upToDate =sdf.format(rowMap.get("upto_date"));
//temp = (String) rowMap.get("temp");
System.out.println("effDate:["+effDate+"]");
pstmt1.setString(1, workSite);
pstmt1.setString(2, grade);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
lveTableNo = checkNull(rs1.getString("lve_tblno"));
}
if (rs1 != null)
{
rs1.close();
rs1 = null;
}
if (pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(lveTableNo == null || lveTableNo.trim().length() == 0)
{
sql1="select lve_tblno from cadre_site_lvetbl where site_code = ? and cadre_code= ? ";
pstmt2 = conn.prepareStatement(sql1);
pstmt2.setString(1, workSite);
pstmt2.setString(2, cadre);
rs2 = pstmt2.executeQuery();
if (rs2.next())
{
lveTableNo = checkNull(rs2.getString("lve_tblno"));
}
if (rs2 != null)
{
rs2.close();
rs2 = null;
}
if (pstmt2 != null)
{
pstmt2.close();
pstmt2 = null;
}
}
sql3="select encashable from lvetable where lve_tblno = ? and lve_code= ? ";
pstmt3 = conn.prepareStatement(sql3);
pstmt3.setString(1, lveTableNo);
pstmt3.setString(2, lveCode);
rs3 = pstmt3.executeQuery();
if (rs3.next())
{
encashable = checkNull(rs3.getString("encashable"));
}
if (rs3 != null)
{
rs3.close();
rs3 = null;
}
if (pstmt3 != null)
{
pstmt3.close();
pstmt3 = null;
}
if(!"C".equals(encashable))
{
dwDataMap = new HashMap<>();
dwDataMap.put("temp", "D");
dataMap.put(i, dwDataMap);
System.out.println("MAP Data after encashable:::::::::::"+dataMap);
}
//////////////xml///////
valueXmlString1.append("<Detail2>\r\n");
valueXmlString1.append("<attribute updateFlag='N' selected='N' />\r\n");
valueXmlString1.append("<emp_code><![CDATA[").append((empCode == null ) ? " ":empCode).append("]]></emp_code>\r\n");
valueXmlString1.append("<emp_fname><![CDATA[").append((fName == null) ? " ":fName).append("]]></emp_fname>\r\n");
valueXmlString1.append("<emp_mname><![CDATA[").append((mName == null ) ? " ":mName).append("]]></emp_mname>\r\n");
valueXmlString1.append("<emp_lname><![CDATA[").append((lName == null ) ? " ":lName).append("]]></emp_lname>\r\n");
valueXmlString1.append("<relieve_date><![CDATA[").append((relieveDate == null ) ? " ":relieveDate).append("]]></relieve_date>\r\n");
//valueXmlString1.append("<relieve_date><![CDATA[").append((relieveDate == null ) ? " ":genericUtility.getValidDateString(relieveDate,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat())).append("]]></relieve_date>\r\n");
valueXmlString1.append("<lve_code><![CDATA[").append((lveCode == null ) ? " ":lveCode).append("]]></lve_code>\r\n");
//valueXmlString1.append("<eff_date><![CDATA[").append((effDate == null ) ? " ":genericUtility.getValidDateString(effDate,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat())).append("]]></eff_date>\r\n");
//valueXmlString1.append("<upto_date><![CDATA[").append((upToDate == null ) ? " ":genericUtility.getValidDateString(upToDate,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat())).append("]]></upto_date>\r\n");
//valueXmlString1.append("<exp_date><![CDATA[").append((expDate == null ) ? " ":genericUtility.getValidDateString(expDate,genericUtility.getDBDateFormat(), genericUtility.getApplDateFormat())).append("]]></exp_date>\r\n");
valueXmlString1.append("<eff_date><![CDATA[").append((effDate == null ) ? " ":effDate).append("]]></eff_date>\r\n");
valueXmlString1.append("<upto_date><![CDATA[").append((upToDate == null ) ? " ":upToDate).append("]]></upto_date>\r\n");
valueXmlString1.append("<exp_date><![CDATA[").append((expDate == null ) ? " ":expDate).append("]]></exp_date>\r\n");
valueXmlString1.append("<bal_days><![CDATA[").append((balDays == null ) ? " ":balDays).append("]]></bal_days>\r\n");
valueXmlString1.append("<grade><![CDATA[").append((grade == null ) ? " ":grade).append("]]></grade>\r\n");
valueXmlString1.append("<cadre><![CDATA[").append((cadre == null ) ? " ":cadre).append("]]></cadre>\r\n");
valueXmlString1.append("<work_site><![CDATA[").append((workSite == null ) ? " ":workSite).append("]]></work_site>\r\n");
valueXmlString1.append("<pay_site><![CDATA[").append((paySite == null ) ? " ":paySite).append("]]></pay_site>\r\n");
valueXmlString1.append("<temp><![CDATA[").append((temp == null ) ? " ":temp).append("]]></temp>\r\n");
valueXmlString1.append("</Detail2>\r\n");
///////////////////////
}
valueXmlString1.append("</Header0>\r\n");
valueXmlString1.append("</group0>\r\n");
valueXmlString1.append("</DocumentRoot>\r\n");
resultString = valueXmlString1.toString();
System.out.println("ResultString....." + resultString);
System.out.println("ResultString....." + valueXmlString1);
////
if(dataMap.size() <= 0)
{
resultString = itmDBAccessEJB.getErrorString("","VTPOST0", userId, "", conn);
return resultString;
}
}
catch (SQLException e)
{
e.printStackTrace();
throw new ITMException(e);
}
catch (Exception e)
{
e.printStackTrace();
System.out.println("Exception :LeaveEncasePrcEJB :getData(Document headerDom, Document detailDom, String windowName, String xtraParams):" + e.getMessage() + ":");
throw new ITMException(e);
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
}
if(rs != null)
{
rs.close();
}
if(conn != null)
{conn.close();
conn=null;}
}
catch(Exception e)
{
e.printStackTrace();
}
}
System.out.println("Return String From Application Server --->>>");
System.out.println("["+resultString+"]");
return resultString;
}
public int getPeriods (String frPeriod, String toPeriod,Connection conn) throws SQLException,ITMException
{
Date ndate;
int totprds=0;
String prdcode[]=null,prdcoden[]=null;
Date frdate[]=null, todate[]=null;
String sql=null,code=null,frDate=null,toDate=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try
{
conn=getConnection();
sql="select code, fr_date, to_date from period where code >= ? and code <= ? order by code";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, frPeriod);
pstmt.setString(2, toPeriod);
rs = pstmt.executeQuery();
while(rs.next())
{
totprds++;
code = checkNull(rs.getString(1));
frDate = checkNull(rs.getString(2));
toDate = checkNull(rs.getString(3));
prdcode[totprds]=code;
frdate[totprds]=Date.valueOf(frDate);
todate[totprds]=Date.valueOf(toDate);
}
if(totprds==0)
{
prdcoden[totprds] = prdcode[totprds];
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
ndate = (Date) utilMethod.RelativeDate(utilMethod.date(todate[totprds]), 1);
System.out.print("ndate:["+ndate+"]");
sql="select code from period where fr_date = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setDate(1, ndate);
rs = pstmt.executeQuery();
while(rs.next())
{
prdcoden[totprds] = rs.getString("code");
}
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
} catch (RemoteException | ITMException e) {
e.printStackTrace();
throw new ITMException(e);
}
return totprds;
}
public int gbfReleaseLogWriter(Document headerDom, HRLogWriter logWriter, Connection logConn) throws ITMException
{
int liRet = 1;
String lsLogStr ="";
try
{
lsLogStr = "Total Employees: "+ String.valueOf(logWriter.getRowsProcessed()+logWriter.getRowsRejected()).trim() + "Processed: " + String.valueOf(logWriter.getRowsProcessed()).trim() + "Rejected: " + String.valueOf(logWriter.getRowsRejected()).trim();
logWriter.gbfErrWrite("", "", "", lsLogStr, "I",logConn);
lsLogStr = "Processing Over";
logWriter.gbfErrWrite("", "", "", lsLogStr, "I",logConn);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return liRet;
}
private String getObjNameFromDom(Document dom, String attribute) throws RemoteException, ITMException
{
String objName = "";
try
{
NodeList detailList = null;
Node currDetail = null;
int detailListLength = 0;
detailList = dom.getElementsByTagName("Detail1");
detailListLength = detailList.getLength();
for (int ctr = 0; ctr < detailListLength; ctr++)
{
currDetail = detailList.item(ctr);
objName = currDetail.getAttributes().getNamedItem(attribute).getNodeValue();
}
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return objName;
}
private String checkNull(String input)
{
if (input == null)
{
input = "";
}
return input.trim();
}
}
//Created by Sana S on 10/10/2019 [end]
\ No newline at end of file
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