Commit cf18288f authored by akhokar's avatar akhokar

Changes done in existing component as per new framework and add new components of loan schedule

LoanOpeningCnc.java
AdmCommon.java
LoanOpeningConf.java
LoanscheduleCnc.java
LoanscheduleStDedn.java
LoanOpeningIC.java
LoanChk.java
LoanChkLocal.java
LoanChkRemote.java
LoanScheduleConf.java
LoanScheduleConfLocal.java
LoanScheduleConfRemote.java
LoanScheduleIC.java
LoanScheduleICLocal.java
LoanScheduleICRemote.java
loanschedule.sql


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@203198 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 8ef732cd
......@@ -3378,5 +3378,125 @@ public class AdmCommon
}
return ret;
}
//Added by Azhar K. on[08-07-2019][Start]
public Timestamp gfLastDate(Timestamp mdate) throws ITMException
{
Timestamp retDate = null;
java.util.Date nDate = null;
SimpleDateFormat sdf = null;
UtilMethods utilMethod = new UtilMethods();
try
{
System.out.println("*************Inside gfLastDate Method*******************");
sdf = new SimpleDateFormat("dd/MM/yyyy");
String formatDate = sdf.format(mdate);
System.out.println("formatDate:::[" + formatDate +"]");
if(mdate == null || ("01/01/1900".equalsIgnoreCase(formatDate)))
{
return mdate;
}
nDate = utilMethod.date(utilMethod.year(mdate), utilMethod.month(mdate), 01);
//nDate = utilMethod.year(utilMethod.date(mdate)), utilMethod.month(mdate)), 01);
nDate = utilMethod.RelativeDate(nDate, 31);
System.out.println("nDate ::[" + nDate + "]" );
do
{
if(utilMethod.month(nDate) == utilMethod.month(mdate))
{
break;
}
nDate = utilMethod.RelativeDate(nDate, -1);
System.out.println("nDate ::[" + nDate + "]" );
}
while(true);
retDate = new Timestamp(nDate.getTime());
System.out.println("retDate::[" + retDate + "]");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return retDate;
}
public double gfGetRndAmt(double unrAmt, String rndOff, double rndTo) throws ITMException
{
double rndAmt = 0;
double lcMultiply = 1;
UtilMethods utilMethod = new UtilMethods();
try
{
System.out.println("Inside gfGetRndAmt Method:::::::");
char c = rndOff.charAt(0);
if(unrAmt < 0)
{
lcMultiply = -1;
unrAmt = utilMethod.abs(unrAmt);
}
else if(unrAmt == 0)
{
return unrAmt;
}
else if("N".equalsIgnoreCase(rndOff))
{
return unrAmt;
}
else if(rndTo == 0)
{
return unrAmt;
}
switch(c)
{
case 'X':
{
if(utilMethod.mod(unrAmt, rndTo) > 0)
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo) + rndTo;
}
else
{
rndAmt = unrAmt;
}
}
break;
case 'P':
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo);
}
break;
case 'R':
{
if(utilMethod.mod(unrAmt, rndTo) < rndTo/2)
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo);
}
else
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo) + rndTo;
}
}
break;
default:
{
rndAmt = unrAmt;
}
break;
}
rndAmt = rndAmt * lcMultiply;
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return rndAmt;
}
//Added by Azhar K. on[08-07-2019][End]
}
......@@ -15,6 +15,7 @@ import org.w3c.dom.NodeList;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.adm.adv.LoanChk;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
......@@ -23,8 +24,10 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
{
E12GenericUtility genericUtility = new E12GenericUtility();
AdmCommon admCommon= new AdmCommon();
LoanChk loanChk = new LoanChk();
UtilMethods utilMethod = new UtilMethods();
FinCommon finCommon = new FinCommon();
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
......@@ -552,7 +555,7 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
}
if(!("NULLFOUND".equalsIgnoreCase(lsRndOff)))
{
mAmt1 = gfGetRndAmt(mAmt1, lsRndOff, lcRndTo);
mAmt1 = admCommon.gfGetRndAmt(mAmt1, lsRndOff, lcRndTo);
}
if(loanAmt == null)
{
......@@ -571,7 +574,7 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
if(utilMethod.mod(mAmt2, mAmt1) != 0)
{
lcTerm = lcTerm + 1;
lcTerm = gfGetRndAmt(lcTerm, "P", 1);
lcTerm = admCommon.gfGetRndAmt(lcTerm, "P", 1);
}
}
valueXmlString.append("<term>").append("<![CDATA["+lcTerm+"]]>").append("</term>");
......@@ -588,7 +591,7 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
if(utilMethod.mod(mAmt2, mAmt1) != 0)
{
lcTerm = lcTerm + 1;
lcTerm = gfGetRndAmt(lcTerm, "P", 1);
lcTerm = admCommon.gfGetRndAmt(lcTerm, "P", 1);
}
valueXmlString.append("<term>").append("<![CDATA["+lcTerm+"]]>").append("</term>");
}
......@@ -883,7 +886,7 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
lcLoanAmt = Double.parseDouble(lcLoanAmtStr);
issueDateStr = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(issueDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
errString = gbfLoanchkGeneral(mVal1, lsEmp, mVal2, lcLoanAmt, mdate1,conn);
errString = checkNull(loanChk.gbfLoanchkGeneral(mVal1, lsEmp, mVal2, lcLoanAmt, mdate1,conn));
if(errString != null && errString.trim().length() > 0)
{
......@@ -1017,7 +1020,7 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
close(pstmt, rs);
errString = checkNull(finCommon.nfCheckPeriod("ADM",mdate1,lsSite,conn));
if(errCode != null && errCode.trim().length() > 0)
if(errString != null && errString.trim().length() > 0)
{
errCode = errString;
errList.add(errCode);
......@@ -1741,174 +1744,6 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
return errString;
}//END OF VALIDATION
public String gbfLoanchkGeneral(String asSchemeNo, String asEmpCode, String asGrade, double acLoanAmt, Timestamp adLoanDate,Connection conn) throws ITMException
{
String lsErrcode = "", lsEligchk = "";
int liNvoNo = 0,cnt = 0;
double lcMinAmt = 0.00, lcMaxAmt = 0.00, lcAccrual = 0.00;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("*************Inside gbfLoanchkGeneral Method********************");
do
{ // check for loan_scheme_grade and eligibility if required and amount limit
sql = "select count(*) as count from loan_scheme_grade where scheme_no = ? and grade_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
pstmt.setString(2, asGrade);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
lsErrcode = "VMSCHGRA1";
break;
}
// check if eligibility check is reqd. for this loan scheme
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lsEligchk = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
sql = "select min_amt, max_amt, nvo_no from loan_scheme_grade where scheme_no = ? and grade_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
pstmt.setString(2, asGrade);
rs = pstmt.executeQuery();
if(rs.next())
{
lcMinAmt = rs.getDouble("min_amt");
lcMaxAmt = rs.getDouble("max_amt");
liNvoNo = rs.getInt("nvo_no");
}
close(pstmt, rs);
if(lcMinAmt > 0)
{
if(acLoanAmt < lcMinAmt)
{
lsErrcode = "VTLOAN1"; // loan amount not in range
break;
}
}
if(lcMaxAmt > 0)
{
if(acLoanAmt > lcMaxAmt)
{
lsErrcode = "VTLOAN1"; // loan amount not in range
break;
}
}
// if elig. check is required then call function as per nvo no.
if("Y".equalsIgnoreCase(lsEligchk))
{
switch(liNvoNo)
{
case 1:
//lc_accrual = gbf_loan_rules_1(as_emp_code, as_scheme_no, ac_loanamt, ad_loandate)
lsErrcode = gbfLoanRules1(asEmpCode, asSchemeNo, acLoanAmt, adLoanDate,conn);
}
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return lsErrcode;
}
public String gbfLoanRules1(String asEmpCode, String asSchemeNo, double acLoanamt, Timestamp adLoanDate,Connection conn) throws ITMException
{
Timestamp ldJoinDate = null, ldDate = null;
String lsErrCode = "", lsCadre = "", lsSite = "";
double lcAccAmount = 0.00, lcAccrual = 0.00, lcTotElig = 0.00, lcBasic = 0.00;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("*************Inside gbfLoanRules1 Method********************");
do
{
sql = "select cadre, basic, date_join, pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsCadre = checkNull(rs.getString("cadre"));
lcBasic = rs.getDouble("basic");
ldJoinDate = rs.getTimestamp("date_join");
lsSite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
lsCadre = lsCadre.trim();
if(ldJoinDate != null && adLoanDate != null)
{
if(utilMethod.DaysAfter(ldJoinDate, adLoanDate) < 365)
{
lsErrCode = "VTLOAN2"; // one year not completed from joining date
break;
}
}
sql = "select max(date__balance) as dateBalance from loans where emp_code = ? and scheme_no = ? and balance_amt = 0";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, asSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
ldDate = rs.getTimestamp("dateBalance");
}
close(pstmt, rs);
if((ldDate != null && adLoanDate != null) && utilMethod.DaysAfter(ldDate, adLoanDate) < 365)
{
lsErrCode = "VTLOAN10"; // one year not completed since repayment of last loan against this scheme
break;
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return lsErrCode;
}
public void close(PreparedStatement pstmt,ResultSet rs)
{
try
......@@ -1930,80 +1765,6 @@ public class LoanOpeningIC extends ValidatorEJB implements LoanOpeningICLocal,Lo
}
}
public double gfGetRndAmt(double unrAmt, String rndOff, double rndTo) throws ITMException
{
double rndAmt = 0;
double lcMultiply = 1;
try
{
System.out.println("Inside gfGetRndAmt Method:::::::");
char c = rndOff.charAt(0);
if(unrAmt < 0)
{
lcMultiply = -1;
unrAmt = utilMethod.abs(unrAmt);
}
else if(unrAmt == 0)
{
return unrAmt;
}
else if("N".equalsIgnoreCase(rndOff))
{
return unrAmt;
}
else if(rndTo == 0)
{
return unrAmt;
}
switch(c)
{
case 'X':
{
if(utilMethod.mod(unrAmt, rndTo) > 0)
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo) + rndTo;
}
else
{
rndAmt = unrAmt;
}
}
break;
case 'P':
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo);
}
break;
case 'R':
{
if(utilMethod.mod(unrAmt, rndTo) < rndTo/2)
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo);
}
else
{
rndAmt = unrAmt - utilMethod.mod(unrAmt, rndTo) + rndTo;
}
}
break;
default:
{
rndAmt = unrAmt;
}
break;
}
rndAmt = rndAmt * lcMultiply;
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return rndAmt;
}
private String errorType(Connection conn, String errorCode) throws ITMException
{
String msgType = "E";
......
package ibase.webitm.ejb.adm;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.adm.adv.LoanChk;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
public class LoanScheduleIC extends ValidatorEJB implements LoanScheduleICLocal,LoanScheduleICRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
AdmCommon admCommon= new AdmCommon();
UtilMethods utilMethod = new UtilMethods();
FinCommon finCommon = new FinCommon();
LoanChk loanChk = new LoanChk();
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document domhr = null;
Document domAll = null;
String retString="";
try
{
System.out.println("************** Inside LoanScheduleIC itemChanged method ****************");
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
domhr = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
domAll = genericUtility.parseString(xmlString2);
}
retString = itemChanged(dom,domhr,domAll,objContext,currentColumn,editFlag,xtraParams);
System.out.println("retString::::::::::"+retString);
}
catch(Exception e)
{
System.out.println(":::" + getClass().getSimpleName() + "::"+ e.getMessage());
e.getMessage();
}
return retString;
}
public String itemChanged(Document dom, Document dom1, Document dom2,String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException
{
long cnt = 0;
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
int childNodeListLength = 0;
String mCode = "", descr = "", descr1 = "", descr2 = "", lsIntTerm = "",lsEmpAprv = "",
lsStatus = "",lsSchemeNo = "",lsSchemeDescr = "", lsAcctPay = "",lsCctrPay = "",
lsReportTo = "",lsSite = "", lsElig = "", mVal1 = "", mVal2 = "",loanAmt = "",
lsAcct = "", lsCctr = "", lsRndOff = "", lsBank = "", lsPayMode = "", lsAdjustable = "";
String lsGrade = "",lsCadre = "",lsPaytblno = "",lsPrdCode = "",lsPrdCodefr = "",lsPaySite = "";
String mDescr = "",mprdCode = "",madCode = "",modStr = "",lsLoanNo = "",lsEmp = "",mdt1Str = "";
String mAmtStr = "", mAmt3Str = "",adjPerc = "",monInst = "",amount = "",lcRndToStr = "";
String lsEmpFnameLong = "",lsEmpLnameLong = "";
String lsRights = "" , lsObjName = "",interestAmt = "",lcAdjStr = "",ldFrStr = "",ldToStr = "";
String profileId = "";
long llCycleSt = 0,llCycleEnd = 0,llCycleTime = 0;
Timestamp mdt1 = null, mdt2 = null,mdate1 = null,ldFr = null,ldTo = null;
double mAmt =0.00, mAmt1 = 0.00, mAmt2 = 0.00, mAmt3 = 0.00, lcIntPerc = 0.00,lcSanctionAmt = 0.00,
lcAcc = 0.00,lcSanctionBal = 0.00, lcLoanAmt = 0.00,lcAccAmt = 0.00, lcRndTo = 0.00,
lcAccSub = 0.00,lcAdj = 0.00, lcTerm = 0.00, lcAdjPerc = 0.00;
double accAmtTot = 0.00 , accAmt1 = 0.00 , accAmt2 = 0.00;
String todayDate = "";
String sql = "";
double adjPercInt = 0;
int currentFormNo=0,ctr=0;
StringBuffer valueXmlString = new StringBuffer();
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String childNodeName = null, columnValue = "", loginSiteCode = "",loginEmpCode="";
SimpleDateFormat sdf = null;
try
{
conn = getConnection();
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
System.out.println("todayDate::: "+ todayDate);
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("mdate1::: "+ mdate1);
lsRndOff = checkInt(admCommon.getEnv("999999", "LOAN_RND_OFF", conn));
lcRndToStr = checkInt(admCommon.getEnv("999999", "LOAN_RND_TO", conn));
lcRndTo = Double.parseDouble(lcRndToStr);
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
loginSiteCode = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
loginEmpCode = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode");
profileId = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "profileId");
System.out.println("[LoanOpeningIC] [itemChanged] :currentFormNo ....." +currentFormNo+" currentColumn: "+currentColumn);
valueXmlString = new StringBuffer("<?xml version=\"1.0\"?><Root><header><editFlag>");
valueXmlString.append(editFlag).append("</editFlag></header>");
switch (currentFormNo)
{
case 1:
{
System.out.println("****************Inside Case 1 of ItemChange*********************");
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail1>\r\n");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
ctr++;
}
while ((ctr < childNodeListLength) && (!childNodeName.equals(currentColumn)));
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
System.out.println("Inside itm_default::::");
valueXmlString.append("<issue_date>").append("<![CDATA["+todayDate+"]]>").append("</issue_date>");
valueXmlString.append("<appr_date>").append("<![CDATA["+todayDate+"]]>").append("</appr_date>");
valueXmlString.append("<loanentry_window>").append("<![CDATA[S]]>").append("</loanentry_window>");
sql = "select fr_date from period where ? between fr_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, mdate1);
rs = pstmt.executeQuery();
if(rs.next())
{
mdt1 = rs.getTimestamp("fr_date");
}
close(pstmt, rs);
mdt1Str = genericUtility.getValidDateString(mdt1, genericUtility.getApplDateFormat());
valueXmlString.append("<start_reco>").append("<![CDATA["+mdt1Str+"]]>").append("</start_reco>");
valueXmlString.append("<accrual_amt>").append("<![CDATA["+0.00+"]]>").append("</accrual_amt>");
}
else if(currentColumn.trim().equalsIgnoreCase("itm_defaultedit"))
{
System.out.println("Inside itm_defaultedit::::");
lsObjName = utilMethod.mid("w_loanschedule" , 3);
mVal1 = checkNull(genericUtility.getColumnValue("loan_no", dom));
sql = "select status , nvl(loanentry_window , 'S') as loanentryWindow from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsStatus = checkNull(rs.getString("status"));
mVal2 = checkNull(rs.getString("loanentryWindow"));
}
close(pstmt, rs);
if(lsStatus == null || lsStatus.trim().length() == 0)
{
lsStatus = "U";
}
sql = "select rights from user_rights where profile_id = ? and obj_name = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, profileId);
pstmt.setString(2, lsObjName);
rs = pstmt.executeQuery();
if(rs.next())
{
lsRights = checkNull(rs.getString("rights"));
}
close(pstmt, rs);
if(lsRights == null || lsRights.trim().length() == 0)
{
lsRights = "";
}
if("A".equalsIgnoreCase(lsStatus))
{
if("*".equalsIgnoreCase(lsRights) || utilMethod.pos(lsRights, "L") > 0)
{
valueXmlString.append("<loan_no protect=\"1\" >").append("</loan_no>");
valueXmlString.append("<issue_date protect=\"1\" >").append("</issue_date>");
valueXmlString.append("<sanction_no protect=\"1\" >").append("</sanction_no>");
valueXmlString.append("<scheme_no protect=\"1\" >").append("</scheme_no>");
valueXmlString.append("<start_reco protect=\"1\" >").append("</start_reco>");
valueXmlString.append("<emp_code protect=\"1\" >").append("</emp_code>");
valueXmlString.append("<adjustable protect=\"1\" >").append("</adjustable>");
valueXmlString.append("<adj_perc protect=\"1\" >").append("</adj_perc>");
valueXmlString.append("<appl_amt protect=\"1\" >").append("</appl_amt>");
valueXmlString.append("<loan_amt protect=\"1\" >").append("</loan_amt>");
valueXmlString.append("<act_term protect=\"1\" >").append("</act_term>");
valueXmlString.append("<int_term protect=\"1\" >").append("</int_term>");
valueXmlString.append("<interest protect=\"1\" >").append("</interest>");
valueXmlString.append("<mon_inst protect=\"1\" >").append("</mon_inst>");
valueXmlString.append("<bank_code protect=\"1\" >").append("</bank_code>");
valueXmlString.append("<pay_mode protect=\"1\" >").append("</pay_mode>");
valueXmlString.append("<acct_code__loan protect=\"1\" >").append("</acct_code__loan>");
valueXmlString.append("<cctr_code__loan protect=\"1\" >").append("</cctr_code__loan>");
valueXmlString.append("<remarks protect=\"1\" >").append("</remarks>");
}
else
{
valueXmlString.append("<emp_code>").append("<![CDATA[]]>").append("</emp_code>");
valueXmlString.append("<loan_no protect=\"1\" >").append("</loan_no>");
valueXmlString.append("<issue_date protect=\"1\" >").append("</issue_date>");
valueXmlString.append("<sanction_no protect=\"1\" >").append("</sanction_no>");
valueXmlString.append("<scheme_no protect=\"1\" >").append("</scheme_no>");
valueXmlString.append("<start_reco protect=\"1\" >").append("</start_reco>");
valueXmlString.append("<emp_code protect=\"1\" >").append("</emp_code>");
valueXmlString.append("<adjustable protect=\"1\" >").append("</adjustable>");
valueXmlString.append("<adj_perc protect=\"1\" >").append("</adj_perc>");
valueXmlString.append("<appl_amt protect=\"1\" >").append("</appl_amt>");
valueXmlString.append("<loan_amt protect=\"1\" >").append("</loan_amt>");
valueXmlString.append("<act_term protect=\"1\" >").append("</act_term>");
valueXmlString.append("<int_term protect=\"1\" >").append("</int_term>");
valueXmlString.append("<interest protect=\"1\" >").append("</interest>");
valueXmlString.append("<mon_inst protect=\"1\" >").append("</mon_inst>");
valueXmlString.append("<bank_code protect=\"1\" >").append("</bank_code>");
valueXmlString.append("<pay_mode protect=\"1\" >").append("</pay_mode>");
valueXmlString.append("<acct_code__loan protect=\"1\" >").append("</acct_code__loan>");
valueXmlString.append("<cctr_code__loan protect=\"1\" >").append("</cctr_code__loan>");
valueXmlString.append("<remarks protect=\"1\" >").append("</remarks>");
}
}
else if(!("U".equalsIgnoreCase(lsStatus)))
{
valueXmlString.append("<emp_code>").append("<![CDATA[]]>").append("</emp_code>");
valueXmlString.append("<loan_no protect=\"1\" >").append("</loan_no>");
valueXmlString.append("<issue_date protect=\"1\" >").append("</issue_date>");
valueXmlString.append("<sanction_no protect=\"1\" >").append("</sanction_no>");
valueXmlString.append("<scheme_no protect=\"1\" >").append("</scheme_no>");
valueXmlString.append("<start_reco protect=\"1\" >").append("</start_reco>");
valueXmlString.append("<emp_code protect=\"1\" >").append("</emp_code>");
valueXmlString.append("<adjustable protect=\"1\" >").append("</adjustable>");
valueXmlString.append("<adj_perc protect=\"1\" >").append("</adj_perc>");
valueXmlString.append("<appl_amt protect=\"1\" >").append("</appl_amt>");
valueXmlString.append("<loan_amt protect=\"1\" >").append("</loan_amt>");
valueXmlString.append("<act_term protect=\"1\" >").append("</act_term>");
valueXmlString.append("<int_term protect=\"1\" >").append("</int_term>");
valueXmlString.append("<interest protect=\"1\" >").append("</interest>");
valueXmlString.append("<mon_inst protect=\"1\" >").append("</mon_inst>");
valueXmlString.append("<bank_code protect=\"1\" >").append("</bank_code>");
valueXmlString.append("<pay_mode protect=\"1\" >").append("</pay_mode>");
valueXmlString.append("<acct_code__loan protect=\"1\" >").append("</acct_code__loan>");
valueXmlString.append("<cctr_code__loan protect=\"1\" >").append("</cctr_code__loan>");
valueXmlString.append("<remarks protect=\"1\" >").append("</remarks>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("sanction_no"))
{
System.out.println("Inside sanction_no itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("sanction_no", dom));
if(mCode.trim().length() > 0)
{
sql = "select emp_code, scheme_no, int_term, int_perc, accrual_amt " +
"from emploan_sanction where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsEmp = checkNull(rs.getString("emp_code"));
lsSchemeNo = checkNull(rs.getString("scheme_no"));
lsIntTerm = checkNull(rs.getString("int_term"));
lcIntPerc = rs.getDouble("int_perc");
lcAcc = rs.getDouble("accrual_amt");
}
close(pstmt, rs);
valueXmlString.append("<emp_code>").append("<![CDATA["+lsEmp+"]]>").append("</emp_code>");
valueXmlString.append("<scheme_no>").append("<![CDATA["+lsSchemeNo+"]]>").append("</scheme_no>");
valueXmlString.append("<interest>").append("<![CDATA["+lcIntPerc+"]]>").append("</interest>");
valueXmlString.append("<int_term>").append("<![CDATA["+lsIntTerm+"]]>").append("</int_term>");
valueXmlString.append("<accrual_amt>").append("<![CDATA["+lcAcc+"]]>").append("</accrual_amt>");
sql = "select emp_fname, emp_lname, grade, pay_site, emp_fname_long, emp_lname_long " +
" from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmp);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("emp_lname"));
descr1 = checkNull(rs.getString("emp_fname"));
lsGrade = checkNull(rs.getString("grade"));
lsSite = checkNull(rs.getString("pay_site"));
lsEmpFnameLong = checkNull(rs.getString("emp_fname_long"));
lsEmpLnameLong = checkNull(rs.getString("emp_lname_long"));
}
close(pstmt, rs);
if(lsEmpFnameLong != null && lsEmpFnameLong.trim().length() > 0)
{
descr = lsEmpFnameLong;
}
if(lsEmpLnameLong != null && lsEmpLnameLong.trim().length() > 0)
{
descr1 = lsEmpLnameLong;
}
valueXmlString.append("<lname1>").append("<![CDATA["+descr+"]]>").append("</lname1>");
valueXmlString.append("<fname1>").append("<![CDATA["+descr1+"]]>").append("</fname1>");
valueXmlString.append("<grade>").append("<![CDATA["+lsGrade+"]]>").append("</grade>");
valueXmlString.append("<pay_site>").append("<![CDATA["+lsSite+"]]>").append("</pay_site>");
sql = "select descr, acct_code__pay, cctr_code__pay from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSchemeDescr = checkNull(rs.getString("descr"));
lsAcctPay = checkNull(rs.getString("acct_code__pay"));
lsCctrPay = checkNull(rs.getString("cctr_code__pay"));
}
close(pstmt, rs);
valueXmlString.append("<scheme_descr>").append("<![CDATA["+lsSchemeDescr+"]]>").append("</scheme_descr>");
valueXmlString.append("<acct_code__pay>").append("<![CDATA["+lsAcctPay+"]]>").append("</acct_code__pay>");
valueXmlString.append("<cctr_code__pay>").append("<![CDATA["+lsCctrPay+"]]>").append("</cctr_code__pay>");
valueXmlString.append("<scheme_no protect=\"1\" >").append("<![CDATA["+lsSchemeNo+"]]>").append("</scheme_no>");
valueXmlString.append("<interest protect=\"1\" >").append("<![CDATA["+lcIntPerc+"]]>").append("</interest>");
valueXmlString.append("<int_term protect=\"1\" >").append("<![CDATA["+lsIntTerm+"]]>").append("</int_term>");
valueXmlString.append("<emp_code protect=\"1\" >").append("<![CDATA["+lsEmp+"]]>").append("</emp_code>");
}
else
{
valueXmlString.append("<scheme_no protect=\"0\" >").append("<![CDATA["+lsSchemeNo+"]]>").append("</scheme_no>");
valueXmlString.append("<interest protect=\"0\" >").append("<![CDATA["+lcIntPerc+"]]>").append("</interest>");
valueXmlString.append("<int_term protect=\"0\" >").append("<![CDATA["+lsIntTerm+"]]>").append("</int_term>");
valueXmlString.append("<emp_code protect=\"0\" >").append("<![CDATA["+lsEmp+"]]>").append("</emp_code>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("scheme_no"))
{
System.out.println("Inside scheme_no itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("scheme_no", dom));
sql= "select descr, interest, term, acct_code__pay, cctr_code__pay,"+
"int_term, acct_code__loan, cctr_code__loan, adjustable, adj_perc "+
"from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("descr"));
mAmt = rs.getDouble("interest");
mAmt1 = rs.getDouble("term");
descr1 = checkNull(rs.getString("acct_code__pay"));
descr2 = checkNull(rs.getString("cctr_code__pay"));
lsIntTerm = checkNull(rs.getString("int_term"));
lsAcct = checkNull(rs.getString("acct_code__loan"));
lsCctr = checkNull(rs.getString("cctr_code__loan"));
lsAdjustable = checkNull(rs.getString("adjustable"));
lcAdjPerc = rs.getDouble("adj_perc");
}
close(pstmt, rs);
valueXmlString.append("<scheme_descr>").append("<![CDATA["+descr+"]]>").append("</scheme_descr>");
valueXmlString.append("<interest>").append("<![CDATA["+mAmt+"]]>").append("</interest>");
valueXmlString.append("<act_term>").append("<![CDATA["+mAmt1+"]]>").append("</act_term>");
valueXmlString.append("<acct_code__pay>").append("<![CDATA["+descr1+"]]>").append("</acct_code__pay>");
valueXmlString.append("<cctr_code__pay>").append("<![CDATA["+descr2+"]]>").append("</cctr_code__pay>");
valueXmlString.append("<acct_code__loan>").append("<![CDATA["+lsAcct+"]]>").append("</acct_code__loan>");
valueXmlString.append("<cctr_code__loan>").append("<![CDATA["+lsCctr+"]]>").append("</cctr_code__loan>");
valueXmlString.append("<int_term>").append("<![CDATA["+lsIntTerm+"]]>").append("</int_term>");
valueXmlString.append("<adjustable>").append("<![CDATA["+lsAdjustable+"]]>").append("</adjustable>");
valueXmlString.append("<adj_perc>").append("<![CDATA["+lcAdjPerc+"]]>").append("</adj_perc>");
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
mVal2 = checkNull(genericUtility.getColumnValue("grade", dom));
loanAmt = checkNull(genericUtility.getColumnValue("loan_amt", dom));
mdt1Str = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(mdt1Str, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsElig = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
if ("Y".equalsIgnoreCase(lsElig))
{
lcAccAmt = loanChk.gbfCalcLoanAccrual(lsEmp, mdate1, mVal1, mVal2,conn);
}
if(lcAccAmt == -1)
{
lcAccAmt = 0;
}
valueXmlString.append("<accrual_amt>").append("<![CDATA["+lcAccAmt+"]]>").append("</accrual_amt>");
if("Y".equalsIgnoreCase(lsAdjustable))
{
valueXmlString.append("<adj_perc protect=\"0\" >").append("<![CDATA["+lcAdjPerc+"]]>").append("</adj_perc>");
}
else
{
valueXmlString.append("<adj_perc protect=\"1\" >").append("<![CDATA["+lcAdjPerc+"]]>").append("</adj_perc>");
}
}
else if(currentColumn.trim().equalsIgnoreCase("emp_code"))
{
System.out.println("Inside emp_code itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("emp_code", dom));
sql = "select emp_fname, emp_lname,report_to, grade, pay_site, bank_code, pay_mode, "+
"emp_fname_long, emp_lname_long from employee where emp_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("emp_fname"));
descr1 = checkNull(rs.getString("emp_lname"));
lsReportTo = checkNull(rs.getString("report_to"));
lsGrade = checkNull(rs.getString("grade"));
lsSite = checkNull(rs.getString("pay_site"));
lsBank = checkNull(rs.getString("bank_code"));
lsPayMode = checkNull(rs.getString("pay_mode"));
lsEmpFnameLong = checkNull(rs.getString("emp_fname_long"));
lsEmpLnameLong = checkNull(rs.getString("emp_lname_long"));
}
close(pstmt, rs);
if(lsEmpFnameLong != null && lsEmpFnameLong.trim().length() > 0)
{
descr = lsEmpFnameLong;
}
if(lsEmpLnameLong != null && lsEmpLnameLong.trim().length() > 0)
{
descr1 = lsEmpLnameLong;
}
valueXmlString.append("<fname1>").append("<![CDATA["+descr+"]]>").append("</fname1>");
valueXmlString.append("<lname1>").append("<![CDATA["+descr1+"]]>").append("</lname1>");
valueXmlString.append("<grade>").append("<![CDATA["+lsGrade+"]]>").append("</grade>");
valueXmlString.append("<pay_site>").append("<![CDATA["+lsSite+"]]>").append("</pay_site>");
valueXmlString.append("<bank_code>").append("<![CDATA["+lsBank+"]]>").append("</bank_code>");
valueXmlString.append("<pay_mode>").append("<![CDATA["+lsPayMode+"]]>").append("</pay_mode>");
sql = "select bank_name from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsBank);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("bank_name"));
}
close(pstmt, rs);
valueXmlString.append("<bank_name>").append("<![CDATA["+descr+"]]>").append("</bank_name>");
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
mVal2 = checkNull(genericUtility.getColumnValue("grade", dom));
loanAmt = checkInt(genericUtility.getColumnValue("loan_amt", dom));
mdt1Str = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(mdt1Str, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsElig = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
if ("Y".equalsIgnoreCase(lsElig))
{
lcAccAmt = loanChk.gbfCalcLoanAccrual(lsEmp, mdate1, mVal1, mVal2,conn);
}
if(lcAccAmt == -1)
{
lcAccAmt = 0;
}
valueXmlString.append("<accrual_amt>").append("<![CDATA["+lcAccAmt+"]]>").append("</accrual_amt>");
}
else if(currentColumn.trim().equalsIgnoreCase("emp_code__appr"))
{
System.out.println("Inside emp_code__appr itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("emp_code__appr", dom));
sql = "select emp_fname, emp_lname, emp_fname_long, emp_lname_long from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("emp_fname"));
descr1 = checkNull(rs.getString("emp_lname"));
lsEmpFnameLong = checkNull(rs.getString("emp_fname_long"));
lsEmpLnameLong = checkNull(rs.getString("emp_lname_long"));
}
close(pstmt, rs);
if(lsEmpFnameLong != null && lsEmpFnameLong.trim().length() > 0)
{
descr = lsEmpFnameLong;
}
if(lsEmpLnameLong != null && lsEmpLnameLong.trim().length() > 0)
{
descr1 = lsEmpLnameLong;
}
valueXmlString.append("<emp_fname>").append("<![CDATA["+descr+"]]>").append("</emp_fname>");
valueXmlString.append("<emp_lname>").append("<![CDATA["+descr1+"]]>").append("</emp_lname>");
}
else if(currentColumn.trim().equalsIgnoreCase("bank_code"))
{
System.out.println("Inside bank_code itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("bank_code", dom));
sql= "select bank_name from bank where bank_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
descr = checkNull(rs.getString("bank_name"));
}
close(pstmt, rs);
valueXmlString.append("<bank_name>").append("<![CDATA["+descr+"]]>").append("</bank_name>");
}
else if(currentColumn.trim().equalsIgnoreCase("all_months"))
{
System.out.println("Inside all_months itemChange::::");
mCode = checkNull(genericUtility.getColumnValue("all_months", dom));
if("Y".equalsIgnoreCase(mCode))
{
descr = "N";
}
else
{
descr = "Y";
}
}
else if(currentColumn.trim().equalsIgnoreCase("issue_date"))
{
System.out.println("Inside issue_date itemChange::::");
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
mVal2 = checkNull(genericUtility.getColumnValue("grade", dom));
loanAmt = checkNull(genericUtility.getColumnValue("loan_amt", dom));
mdt1Str = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(mdt1Str, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsElig = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
if ("Y".equalsIgnoreCase(lsElig))
{
lcAccAmt = loanChk.gbfCalcLoanAccrual(lsEmp, mdate1, mVal1, mVal2,conn);
}
if(lcAccAmt == -1)
{
lcAccAmt = 0;
}
valueXmlString.append("<accrual_amt>").append("<![CDATA["+lcAccAmt+"]]>").append("</accrual_amt>");
sql = "select fr_date from period where ? between fr_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, mdate1);
rs = pstmt.executeQuery();
if(rs.next())
{
mdt1 = rs.getTimestamp("fr_date");
}
close(pstmt, rs);
mdt1Str = genericUtility.getValidDateString(mdt1, genericUtility.getApplDateFormat());
valueXmlString.append("<start_reco>").append("<![CDATA["+mdt1Str+"]]>").append("</start_reco>");
}
else if(currentColumn.trim().equalsIgnoreCase("loan_amt") || currentColumn.trim().equalsIgnoreCase("act_term") ||
currentColumn.trim().equalsIgnoreCase("adjustable") || currentColumn.trim().equalsIgnoreCase("adj_perc"))
{
System.out.println("Inside (loan_amt,act_term,adjustable,adj_perc) itemChange::::");
loanAmt = checkInt(genericUtility.getColumnValue("loan_amt", dom));
mAmt2 = Double.parseDouble(loanAmt);
mAmtStr = checkInt(genericUtility.getColumnValue("act_term", dom));
mAmt = Double.parseDouble(mAmtStr);
mAmt3Str = checkInt(genericUtility.getColumnValue("interest_amt", dom));
mAmt3 = Double.parseDouble(mAmt3Str);
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
mVal2 = checkNull(genericUtility.getColumnValue("grade", dom));
mdt1Str = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(mdt1Str, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsElig = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
mCode = checkNull(genericUtility.getColumnValue("adjustable", dom));
adjPerc = checkInt(genericUtility.getColumnValue("adj_perc", dom));
adjPercInt = Double.parseDouble(adjPerc);
if("Y".equalsIgnoreCase(mCode))
{
if(adjPerc == null || adjPercInt == 0)
{
adjPercInt = 100;
valueXmlString.append("<adj_perc>").append("<![CDATA["+adjPercInt+"]]>").append("</adj_perc>");
}
valueXmlString.append("<adj_perc protect=\"0\" >").append("<![CDATA["+adjPercInt+"]]>").append("</adj_perc>");
}
else
{
adjPercInt = 0;
valueXmlString.append("<adj_perc>").append("<![CDATA["+adjPercInt+"]]>").append("</adj_perc>");
valueXmlString.append("<adj_perc protect=\"1\" >").append("<![CDATA["+adjPercInt+"]]>").append("</adj_perc>");
}
if("Y".equalsIgnoreCase(lsElig))
{
lcAccAmt = loanChk.gbfGetAdjustablePerkamt(lsEmp, mdate1, mVal1, mVal2,conn);
if(lcAccAmt == -1)
{
lcAccAmt = 0;
}
/*s_acc_loan.acc_amt_tot = lc_accamt
s_acc_loan.acc_amt_1 = lc_accamt
s_acc_loan.acc_amt_2 = 0*/
accAmtTot = lcAccAmt;
accAmt1 = lcAccAmt;
accAmt2 = 0;
if(accAmtTot > 0)
{
if("Y".equalsIgnoreCase(mCode))
{
lcAdjStr = checkInt(genericUtility.getColumnValue("adj_perc", dom));
lcAdj = Double.parseDouble(lcAdjStr);
}
else
{
lcAdj = 0;
}
lcAccSub = (accAmt1 + accAmt2) / 100 * lcAdj;
System.out.println("lcAccSub ::::[" + lcAccSub + "]");
if(mAmt2 - lcAccSub > 0)
{
if(mAmt != 0 && mAmtStr != null)
{
double d = (mAmt2 - lcAccSub) / mAmt;
DecimalFormat f = new DecimalFormat("##.00");
mAmt1 = Double.valueOf(f.format(d)); //round((mAmt2 - lcAccSub) / mamt, 2)
System.out.println("mAmt1::::[" + mAmt1 + "]" );
}
}
else
{
if(mAmt != 0 && mAmtStr != null)
{
double d = mAmt2 / mAmt;
DecimalFormat f = new DecimalFormat("##.00");
mAmt1 = Double.valueOf(f.format(d)); //round(mamt2 / mamt, 2)
System.out.println("mAmt1::::[" + mAmt1 + "]" );
}
}
}
else
{
if(mAmt != 0 && mAmtStr != null)
{
double d = mAmt2 / mAmt;
DecimalFormat f = new DecimalFormat("##.00");
mAmt1 = Double.valueOf(f.format(d)); //round(mamt2 / mamt, 2)
System.out.println("mAmt1::::[" + mAmt1 + "]" );
}
}
}
else
{
if(mAmt != 0 && mAmtStr != null)
{
double d = mAmt2 / mAmt;
DecimalFormat f = new DecimalFormat("##.00");
mAmt1 = Double.valueOf(f.format(d)); //round(mamt2 / mamt, 2)
System.out.println("mAmt1::::[" + mAmt1 + "]" );
}
}
if(!("NULLFOUND".equalsIgnoreCase(lsRndOff)))
{
mAmt1 = admCommon.gfGetRndAmt(mAmt1, lsRndOff, lcRndTo);
}
valueXmlString.append("<recover_amt>").append("<![CDATA["+(mAmt2 + mAmt3)+"]]>").append("</recover_amt>");
valueXmlString.append("<mon_inst>").append("<![CDATA["+mAmt1+"]]>").append("</mon_inst>");
if(mAmt1 != 0)
{
lcTerm = mAmt2 / mAmt1;
if(utilMethod.mod(mAmt2, mAmt1) != 0)
{
lcTerm = lcTerm + 1;
lcTerm = admCommon.gfGetRndAmt(lcTerm, "P", 1);
}
}
valueXmlString.append("<term>").append("<![CDATA["+lcTerm+"]]>").append("</term>");
}
else if(currentColumn.trim().equalsIgnoreCase("mon_inst"))
{
System.out.println("Inside mon_inst itemChange::::");
loanAmt = checkInt(genericUtility.getColumnValue("loan_amt", dom));
mAmt2 = Double.parseDouble(loanAmt);
monInst = checkInt(genericUtility.getColumnValue("mon_inst", dom));
mAmt1 = Double.parseDouble(monInst);
lcTerm = mAmt2 / mAmt1;
if(utilMethod.mod(mAmt2, mAmt1) != 0)
{
lcTerm = lcTerm + 1;
lcTerm = admCommon.gfGetRndAmt(lcTerm, "P", 1);
}
valueXmlString.append("<term>").append("<![CDATA["+lcTerm+"]]>").append("</term>");
}
else if(currentColumn.trim().equalsIgnoreCase("interest"))
{
System.out.println("Inside interest itemChange::::");
interestAmt = checkInt(genericUtility.getColumnValue("interest", dom));
mAmt2 = Double.parseDouble(interestAmt);
if(interestAmt == null || interestAmt.trim().length() == 0)
{
mAmt2 = 0;
valueXmlString.append("<interest>").append("<![CDATA["+mAmt2+"]]>").append("</interest>");
}
}
valueXmlString.append ("</Detail1>\r\n");
}
break;
case 2:
{
System.out.println("****************Inside Case 2 of ItemChange*********************");
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail2>\r\n");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
ctr++;
}
while ((ctr < childNodeListLength) && (!childNodeName.equals(currentColumn)));
if(currentColumn.trim().equalsIgnoreCase("prd_code"))
{
System.out.println("Inside prd_code itemChange::::");
mprdCode = checkNull(genericUtility.getColumnValue("prd_code", dom));
sql = "select descr from period where code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mprdCode);
rs = pstmt.executeQuery();
if(rs.next())
{
mDescr = checkNull(rs.getString("descr"));
}
close(pstmt, rs);
valueXmlString.append("<period_descr>").append("<![CDATA["+mDescr+"]]>").append("</period_descr>");
}
else if(currentColumn.trim().equalsIgnoreCase("ad_code"))
{
System.out.println("Inside ad_code itemChange::::");
madCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
sql = "select descr from allwdedn where ad_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, madCode);
rs = pstmt.executeQuery();
if(rs.next())
{
mDescr = checkNull(rs.getString("descr"));
}
close(pstmt, rs);
valueXmlString.append("<allwdedn_descr>").append("<![CDATA["+mDescr+"]]>").append("</allwdedn_descr>");
}
else if(currentColumn.trim().equalsIgnoreCase("amount"))
{
System.out.println("Inside amount itemChange::::");
amount = checkInt(genericUtility.getColumnValue("amount", dom));
mAmt1 = Double.valueOf(amount);
if(amount == null)
{
mAmt1 = 0;
}
valueXmlString.append("<amount>").append("<![CDATA["+mAmt1+"]]>").append("</amount>");
}
valueXmlString.append ("</Detail2>\r\n");
}
break;
case 3:
{
System.out.println("****************Inside Case 3 of ItemChange*********************");
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
valueXmlString.append("<Detail3>\r\n");
childNodeListLength = childNodeList.getLength();
do
{
childNode = childNodeList.item(ctr);
childNodeName = childNode.getNodeName();
ctr++;
}
while ((ctr < childNodeListLength) && (!childNodeName.equals(currentColumn)));
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
System.out.println("Inside case 3 itm_default::::");
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
valueXmlString.append("<loan_no>").append("<![CDATA["+lsLoanNo+"]]>").append("</loan_no>");
}
else if(currentColumn.trim().equalsIgnoreCase("ad_code"))
{
System.out.println("Inside ad_code itemChange::::");
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
valueXmlString.append("<loan_no>").append("<![CDATA["+lsLoanNo+"]]>").append("</loan_no>");
mCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
sql = "select sh_descr from allwdedn where ad_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
mDescr = checkNull(rs.getString("sh_descr"));
}
close(pstmt, rs);
valueXmlString.append("<allwdedn_sh_descr>").append("<![CDATA["+mDescr+"]]>").append("</allwdedn_sh_descr>");
}
else if(currentColumn.trim().equalsIgnoreCase("prd_code"))
{
System.out.println("Inside prd_code itemChange::::");
lsPrdCode = checkNull(genericUtility.getColumnValue("prd_code", dom));
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
sql = "select grade,cadre ,pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmp);
rs = pstmt.executeQuery();
if(rs.next())
{
lsGrade = checkNull(rs.getString("grade"));
lsCadre = checkNull(rs.getString("cadre"));
lsPaySite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
sql = "select pay_table from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsPaySite);
rs = pstmt.executeQuery();
if(rs.next())
{
lsPaytblno = checkNull(rs.getString("pay_table"));
}
close(pstmt, rs);
mCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
sql = "select cycle_start,cycle_end,cycle_time from cadre_perk where pay_table = ? and cadre_code = ? and ad_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsPaytblno);
pstmt.setString(2, lsCadre);
pstmt.setString(3, mCode);
rs = pstmt.executeQuery();
if(rs.next())
{
llCycleSt = rs.getLong("cycle_start");
llCycleEnd = rs.getLong("cycle_end");
llCycleTime = rs.getLong("cycle_time");
}
close(pstmt, rs);
llCycleTime = llCycleTime - 1;
lsPrdCodefr = utilMethod.mid(lsPrdCode, 1, 4) + utilMethod.right("00" + String.valueOf(llCycleSt), 2);
System.out.println("lsPrdCodefr::[" + lsPrdCodefr + "]");
sql = "select fr_date ,last_day(add_months(fr_date,?)) as to_date "+
" from period where code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setLong(1, llCycleTime);
pstmt.setString(2, lsPrdCodefr);
rs = pstmt.executeQuery();
if(rs.next())
{
ldFr = rs.getTimestamp("fr_date");
ldTo = rs.getTimestamp("to_date");
}
close(pstmt, rs);
ldFrStr = genericUtility.getValidDateString(ldFr, genericUtility.getApplDateFormat());
ldToStr = genericUtility.getValidDateString(ldTo, genericUtility.getApplDateFormat());
valueXmlString.append("<eff_date>").append("<![CDATA["+ldFrStr+"]]>").append("</eff_date>");
valueXmlString.append("<exp_date>").append("<![CDATA["+ldToStr+"]]>").append("</exp_date>");
}
valueXmlString.append ("</Detail3>\r\n");
}
break;
}
valueXmlString.append("</Root>");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (conn != null)
{
conn.close();
conn = null;
}
close(pstmt, rs);
}
catch(Exception ex)
{
System.out.println("Exception in EJB[LoanScheduleIC]::itemChanged::["+ ex.getMessage() + "]");
}
}
System.out.println("valueXmlString::::"+ valueXmlString);
return valueXmlString.toString();
}
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
Document dom = null;
Document dom1 = null;
Document dom2 = null;
String retString = "";
try
{
if(xmlString != null && xmlString.trim().length() > 0)
{
dom = genericUtility.parseString(xmlString);
}
if(xmlString1 != null && xmlString1.trim().length() > 0)
{
dom1 = genericUtility.parseString(xmlString1);
}
if(xmlString2 != null && xmlString2.trim().length() > 0)
{
dom2 = genericUtility.parseString(xmlString2);
}
retString = wfValData(dom,dom1,dom2,objContext,editFlag,xtraParams);
System.out.println("retString:::"+retString);
}
catch(Exception e)
{
System.out.println("::: LoanScheduleIC ::"+ e.getMessage());
throw new ITMException(e);
}
return retString;
}
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException
{
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
String userId="";
String errString = "" , mVal = "", mVal1 = "", mVal2 = "", fldNm = "",lsStatus = "",lsEmp = "",
lsSchemeNo = "",lsSite = "", lsStart = "", lsIssue = "", lsElig = "",lsLoanNo = "",lsProcessStat = "";
String lsPrdCode = "",lsAdCode = "",lcAccAmtStr = "";
String ldEffDateStr = "",ldExpDateStr = "";
String childNodeName = null,childNodeValue = null;
Timestamp mdate1 = null, mdate2 = null, ldRelieveDate = null,ldEffDate = null ,ldExpDate = null;
double lcSanctionBal = 0.00,lcLoanAmt = 0.00, lcAccAmt = 0.00, lcAdj = 0.00,lcTerm = 0.00,
lcMonInst = 0.00, lcTermA = 0.00, lcAmount = 0.00, lcAmountAct = 0.00,lcAdjPerc = 0.00, lcVal = 0.00;
Long llNoInst, llNoInstAct, llInstDed;
int cnt = 0,currentFormNo = 0,childNodeListLength = 0,ctr=0,liLineNo = 0;
String lsRights = "" , lsObjName = "";
String profileId = "";
String lcLoanAmtStr = "",issueDateStr = "",startRecoStr = "",liLineNoStr = "";
String sql= "";
String errCode = "",msgType= "";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
String errorType = "";
String errFldName="";
String loginSiteCode = "";
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
conn = getConnection();
loginSiteCode = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginSiteCode");
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
if(objContext != null && objContext.trim().length()>0)
{
currentFormNo = Integer.parseInt(objContext);
}
System.out.println(" ***********Validation for Loans Schedule Detail "+currentFormNo + " ***********");
if("E".equalsIgnoreCase(editFlag))
{
lsObjName = utilMethod.mid("w_loanschedule" , 3);
mVal1 = checkNull(genericUtility.getColumnValue("loan_no", dom));
sql = "select status , nvl(loanentry_window , 'S') as loanentryWindow from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsStatus = checkNull(rs.getString("status"));
mVal2 = checkNull(rs.getString("loanentryWindow"));
}
close(pstmt, rs);
if(lsStatus == null || lsStatus.trim().length() == 0)
{
lsStatus = "U";
}
sql = "select rights from user_rights where profile_id = ? and obj_name = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, profileId);
pstmt.setString(2, lsObjName);
rs = pstmt.executeQuery();
if(rs.next())
{
lsRights = checkNull(rs.getString("rights"));
}
close(pstmt, rs);
if(lsRights == null || lsRights.trim().length() == 0)
{
lsRights = "";
}
if("A".equalsIgnoreCase(lsStatus))
{
if("*".equalsIgnoreCase(lsRights) || utilMethod.pos(lsRights, "L") > 0)
{
errString = "VTLNSCHD01"; // Not Authorized to modify Approved loan
return errString;
}
}
else if("E".equalsIgnoreCase(lsStatus))
{
errString = "VTLNSCHD02"; // Can not modify as loan is Expired
return errString;
}
else if("R".equalsIgnoreCase(lsStatus))
{
errString = "VTLNSCHD03"; // Can not modify as loan is Repayed
return errString;
}
else if("X".equalsIgnoreCase(lsStatus))
{
errString = "VTLNSCHD04"; // Can not modify as loan is Cancelled
return errString;
}
}
switch(currentFormNo)
{
case 1 :
{
System.out.println("Validation for Detail 1 Loans Schedule..........");
parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
System.out.println("child Node List Length::::::"+childNodeListLength);
for(ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
System.out.println("childNode"+childNode);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
childNodeName = childNode.getNodeName();
if(childNode.getFirstChild()!= null)
{
childNodeValue = childNode.getFirstChild().getNodeValue();
}
if(childNodeName.equalsIgnoreCase("sanction_no"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("sanction_no", dom));
lcLoanAmtStr = checkInt(genericUtility.getColumnValue("loan_amt", dom));
lcLoanAmt = Double.parseDouble(lcLoanAmtStr);
lsEmp = checkNull(genericUtility.getColumnValue("emp_code", dom));
if(mVal != null && mVal.trim().length() > 0)
{
sql = "select Status ,sanction_bal from emploan_sanction where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
lsStatus = checkNull(rs.getString("Status"));
lcSanctionBal = rs.getDouble("sanction_bal");
}
close(pstmt, rs);
if("A".equalsIgnoreCase(lsStatus) && lcLoanAmt > lcSanctionBal)
{
errCode = "VTSANC1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else
{
sql = "select count(*) as count from emploan_sanction where emp_code = ? " +
" and scheme_no = ? and status in ('A', 'R')";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmp);
pstmt.setString(2, lsSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt > 0)
{
errCode = "VTSANC2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else
{
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
mVal2 = checkNull(genericUtility.getColumnValue("grade", dom));
lcLoanAmtStr = checkInt(genericUtility.getColumnValue("loan_amt", dom));
lcLoanAmt = Double.parseDouble(lcLoanAmtStr);
issueDateStr = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(issueDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
errString = checkNull(loanChk.gbfLoanchkGeneral(mVal1, lsEmp, mVal2, lcLoanAmt, mdate1,conn));
if(errString != null && errString.trim().length() > 0)
{
errCode = errString;
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
if(errString.trim().length() == 0)
{
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsElig = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
if("Y".equalsIgnoreCase(lsElig))
{
//lcLoanAmt = dw_edit.getitemnumber(1, "loan_amt")
lcAccAmtStr = checkInt(genericUtility.getColumnValue("accrual_amt", dom));
lcAccAmt = Double.parseDouble(lcAccAmtStr);
if(lcLoanAmt > lcAccAmt)
{
errCode = "VTLOAN4"; // loan amt. exceeds accrual
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
}
}
}
else if(childNodeName.equalsIgnoreCase("scheme_no"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("scheme_no", dom));
sql = "select count(*) as count from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VMSCHNO1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("emp_code"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("emp_code", dom));
issueDateStr = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate2 = Timestamp.valueOf(genericUtility.getValidDateString(issueDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
mVal1 = checkNull(genericUtility.getColumnValue("scheme_no", dom));
sql = "select pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
errString = checkNull(admCommon.gbfEmp(mVal, mdate2, lsSite, loginSiteCode, conn));
if(errString != null && errString.trim().length() > 0)
{
errCode = errString;
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
if(errString == null || errString.trim().length() == 0)
{
sql = "select count(*) as count from loans where emp_code = ? and scheme_no = ? and " +
"(status = 'U' or (status = 'A' and balance_amt > 0))";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
pstmt.setString(2, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(("A".equalsIgnoreCase(editFlag) && cnt > 0) || ("E".equalsIgnoreCase(editFlag) && cnt > 1))
{
errCode = "VTLOAN11";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("issue_date"))
{
System.out.println(" Validaion for field "+childNodeName);
issueDateStr = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(issueDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
mVal = checkNull(genericUtility.getColumnValue("emp_code", dom));
sql = "select pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
errString = checkNull(finCommon.nfCheckPeriod("ADM",mdate1,lsSite,conn));
if(errString != null && errString.trim().length() > 0)
{
errCode = errString;
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("start_reco"))
{
System.out.println(" Validaion for field "+childNodeName);
startRecoStr = checkNull(genericUtility.getColumnValue("start_reco", dom));
mdate1 = Timestamp.valueOf(genericUtility.getValidDateString(startRecoStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
issueDateStr = checkNull(genericUtility.getColumnValue("issue_date", dom));
mdate2 = Timestamp.valueOf(genericUtility.getValidDateString(issueDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
sql = "select count(*) as count from period where fr_date = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, mdate1);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VTRECDT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else
{
sql = "select code from period where fr_date = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, mdate1);
rs = pstmt.executeQuery();
if(rs.next())
{
lsStart = checkNull(rs.getString("code"));
}
close(pstmt, rs);
sql = "select code from period where fr_date <= ? and to_date >= ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, mdate2);
pstmt.setTimestamp(2, mdate2);
rs = pstmt.executeQuery();
if(rs.next())
{
lsIssue = checkNull(rs.getString("code"));
}
close(pstmt, rs);
if(lsStart.compareTo(lsIssue) < 0)
{
errCode = "VTSTISSUE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("emp_code__appr"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("emp_code__appr", dom));
if(mVal != null && mVal.trim().length() > 0)
{
sql = "select count(*) as count from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if( cnt == 0)
{
errCode = "VMEMPCD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("acct_code__loan"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("acct_code__loan", dom));
sql = "select count(*) as count from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VMACCT1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else
{
sql = "select active from accounts where acct_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
mVal1 = checkNull(rs.getString("active"));
}
close(pstmt, rs);
if(!("Y".equalsIgnoreCase(mVal1)))
{
errCode = "VMACCTA";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("cctr_code__loan"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("cctr_code__loan", dom));
if(mVal != null && mVal.trim().length() > 0)
{
sql = "select count(*) as count from costctr where cctr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VMCCTR1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("bank_code"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("bank_code", dom));
if(mVal != null && mVal.trim().length() > 0)
{
sql = "select count(*) as count from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VMBANK1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("adjustable"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("adjustable", dom));
mVal1 = checkInt(genericUtility.getColumnValue("adj_perc", dom));
lcAdj = Double.parseDouble(mVal1);
if("Y".equalsIgnoreCase(mVal) && lcAdj == 0)
{
errCode = "VTAPERC1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("loan_amt"))
{
System.out.println(" Validaion for field "+childNodeName);
lcLoanAmtStr = checkInt(genericUtility.getColumnValue("loan_amt", dom));
lcLoanAmt = Double.parseDouble(lcLoanAmtStr);
if(lcLoanAmt <= 0)
{
errCode = "VTLOAN1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("term"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("term", dom));
lcTerm = Double.parseDouble(mVal);
mVal1 = checkInt(genericUtility.getColumnValue("mon_inst", dom));
lcMonInst = Double.parseDouble(mVal1);
lcLoanAmtStr = checkInt(genericUtility.getColumnValue("loan_amt", dom));
lcLoanAmt = Double.parseDouble(lcLoanAmtStr);
if(lcLoanAmt > lcTerm * lcMonInst || lcTerm <= 0)
{
errCode = "VTLOAN15";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else
{
if(utilMethod.mod(lcLoanAmt / lcMonInst, 1) > 0)
{
lcTermA = 1;
}
else
{
lcTermA = 0;
}
lcTermA = lcTermA + (lcLoanAmt / lcMonInst);
if(lcTerm > lcTermA)
{
errCode = "VTLOAN15";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("act_term"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("act_term", dom));
lcTerm = Double.parseDouble(mVal);
if(mVal == null || lcTerm == 0)
{
errCode = "VTLOAN25";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("mon_inst"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("mon_inst", dom));
lcMonInst = Double.parseDouble(mVal);
if(lcMonInst <= 0 )
{
errCode = "VTLOAN9";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("adj_perc"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("adj_perc", dom));
lcAdj = Double.parseDouble(mVal);
if(mVal != null && (lcAdj < 0 || lcAdj > 100))
{
errCode = "VTLADJP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("int_term"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkNull(genericUtility.getColumnValue("int_term", dom));
sql = "select count(*) as count from interestterm where int_term = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VMINT1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("interest"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("interest", dom));
lcVal = Double.parseDouble(mVal);
if(mVal != null && lcVal < 0)
{
errCode = "VTLINTP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
break;
}
case 2:
{
System.out.println("Validation for Detail 2 Loans Schedule..........");
parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
System.out.println("childNode"+childNode);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("line_no"))
{
System.out.println(" Validaion for field "+childNodeName);
liLineNoStr = checkInt(genericUtility.getColumnValue("line_no", dom));
liLineNo = Integer.parseInt(liLineNoStr);
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
mVal = checkInt(genericUtility.getColumnValue("no_inst", dom));
llNoInst = Long.parseLong(mVal);
mVal1 = checkInt(genericUtility.getColumnValue("amount", dom));
lcAmount = Double.parseDouble(mVal1);
mVal2 = checkInt(genericUtility.getColumnValue("no_inst_ded", dom));
llInstDed = Long.parseLong(mVal2);
lsPrdCode = checkNull(genericUtility.getColumnValue("prd_code", dom));
sql = "select count(*) as count from loans_schedule where loan_no = ? " +
" and line_no = ? and no_inst = no_inst_ded "+
" and line_no <> (select max(line_no) from loans_schedule_det where loan_no = ? " +
" and line_no = ? and process_type = 'PY')";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsLoanNo);
pstmt.setInt(2, liLineNo);
pstmt.setString(3, lsLoanNo);
pstmt.setInt(4, liLineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt > 0)
{
errCode = "VTPRES";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else
{
sql = "select amount, no_inst from loans_schedule" +
" where loan_no = ? and line_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsLoanNo);
pstmt.setInt(2, liLineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lcAmountAct = rs.getDouble("amount");
llNoInstAct = rs.getLong("no_inst");
}
close(pstmt, rs);
sql = "select count(*) as count from loans_schedule_det where loan_no = ? " +
" and line_no = ? and process_type = 'PY'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsLoanNo);
pstmt.setInt(2, liLineNo);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt > 0 && llNoInst < cnt)
{
errCode = "VTLNSCH1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else if(cnt > 0 && lcAmount != lcAmountAct)
{
errCode = "VTLNSCH2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("prd_code"))
{
System.out.println(" Validaion for field "+childNodeName);
lsPrdCode = checkNull(genericUtility.getColumnValue("prd_code", dom));
if(lsPrdCode != null && lsPrdCode.trim().length() > 0)
{
sql = "select count(*) as count from period where code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsPrdCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VTPRD1";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("ad_code"))
{
System.out.println(" Validaion for field "+childNodeName);
lsAdCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
if(lsAdCode != null && lsAdCode.trim().length() > 0)
{
sql = "select count(*) as count from allwdedn where ad_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsAdCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VTIADC2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("no_inst") || childNodeName.equalsIgnoreCase("amount"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("no_inst", dom));
llNoInst = Long.parseLong(mVal);
mVal1 = checkInt(genericUtility.getColumnValue("amount", dom));
lcAmount = Double.parseDouble(mVal1);
lsPrdCode = checkNull(genericUtility.getColumnValue("prd_code", dom));
lsAdCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
if(lsPrdCode == null)
{
lsPrdCode = "";
}
if(lsAdCode == null)
{
lsAdCode = "";
}
lsPrdCode = lsPrdCode.trim();
lsAdCode = lsAdCode.trim();
if(mVal1 == null)
{
errCode = "VTLNSCHD05";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else if(lcAmount == 0)
{
errCode = "VTLNSCHD06";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
else if((lsPrdCode.length() > 0 && lsAdCode.length() == 0) || (lsAdCode.length() > 0 && lsPrdCode.length() == 0))
{
errCode = "VTLNSCH4";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
break;
}
case 3:
{
System.out.println("Validation for Detail 3 Loans Schedule..........");
parentNodeList = dom.getElementsByTagName("Detail3");
parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(ctr = 0; ctr < childNodeListLength; ctr++)
{
childNode = childNodeList.item(ctr);
System.out.println("childNode"+childNode);
if( childNode.getNodeType() != Node.ELEMENT_NODE )
{
continue;
}
childNodeName = childNode.getNodeName();
if(childNodeName.equalsIgnoreCase("ad_code"))
{
System.out.println(" Validaion for field "+childNodeName);
lsAdCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
if(lsAdCode != null && lsAdCode.trim().length() > 0)
{
sql = "select count(*) as count from allwdedn where ad_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsAdCode);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
errCode = "VTIADC2";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
else if(childNodeName.equalsIgnoreCase("eff_date"))
{
System.out.println(" Validaion for field "+childNodeName);
lsAdCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
ldEffDateStr = checkNull(genericUtility.getColumnValue("eff_date", dom));
ldEffDate = Timestamp.valueOf(genericUtility.getValidDateString(ldEffDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
ldExpDateStr = checkNull(genericUtility.getColumnValue("exp_date", dom));
ldExpDate = Timestamp.valueOf(genericUtility.getValidDateString(ldExpDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
sql = "select count (*) as count from loan_adj where loan_no = ? and "+
" ad_code = ? and (eff_date between ? and ? "+
" or exp_date between ? and ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsLoanNo);
pstmt.setString(2, lsAdCode);
pstmt.setTimestamp(3, ldEffDate);
pstmt.setTimestamp(4, ldExpDate);
pstmt.setTimestamp(5, ldEffDate);
pstmt.setTimestamp(6, ldExpDate);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt > 0)
{
errCode = "VTADDATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("exp_date"))
{
System.out.println(" Validaion for field "+childNodeName);
lsAdCode = checkNull(genericUtility.getColumnValue("ad_code", dom));
ldEffDateStr = checkNull(genericUtility.getColumnValue("eff_date", dom));
ldEffDate = Timestamp.valueOf(genericUtility.getValidDateString(ldEffDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
ldExpDateStr = checkNull(genericUtility.getColumnValue("exp_date", dom));
ldExpDate = Timestamp.valueOf(genericUtility.getValidDateString(ldExpDateStr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
lsLoanNo = checkNull(genericUtility.getColumnValue("loan_no", dom));
sql = "select count (*) as count from loan_adj where loan_no = ? and "+
" ad_code = ? and (eff_date between ? and ? "+
" or exp_date between ? and ?) ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsLoanNo);
pstmt.setString(2, lsAdCode);
pstmt.setTimestamp(3, ldEffDate);
pstmt.setTimestamp(4, ldExpDate);
pstmt.setTimestamp(5, ldEffDate);
pstmt.setTimestamp(6, ldExpDate);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt > 0)
{
errCode = "VTADDATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("adj_perc"))
{
System.out.println(" Validaion for field "+childNodeName);
mVal = checkInt(genericUtility.getColumnValue("adj_perc", dom));
lcAdj = Double.parseDouble(mVal);
if(lcAdj < 0 || lcAdj > 100)
{
errCode = "VTADJPERC";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
msgType = errorType(conn, errCode);
if (msgType.equalsIgnoreCase("E"))
{
break;
}
}
}
}
break;
}
}// End Switch
int errListSize = errList.size();
System.out.println("errListSize:::::::["+errListSize+"]");
if ( errList != null && errListSize > 0 )
{
System.out.println("in error::::::::::");
for (int i = 0; i < errListSize; i++ )
{
System.out.println("in error For:::::::::::::::");
errCode = (String)errList.get(i);
errFldName = (String)errFields.get(i);
System.out.println("errCode .........."+errCode);
errString = getErrorString( errFldName, errCode, userId );
System.out.println("errString is : ::::>>>> " + errString);
msgType = errorType( conn , errCode );
if ( errString.length() > 0)
{
String bifurErrString = errString.substring( errString.indexOf("<Errors>") + 8,errString.indexOf("<trace>"));
bifurErrString =bifurErrString+errString.substring( errString.indexOf("</trace>") + 8,errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
System.out.println("errStringXml .........."+errStringXml);
errString = "";
}
if ( msgType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors></Root>\r\n");
}
else
{
errStringXml = new StringBuffer( "" );
}
errString = errStringXml.toString();
}//END TRY
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
conn.close();
conn = null;
}
close(pstmt, rs);
}
catch(Exception d)
{
d.printStackTrace();
}
System.out.println(" Loans Schedule Validation End and Connection is Closed");
}
return errString;
}//END OF VALIDATION
public void close(PreparedStatement pstmt,ResultSet rs)
{
try
{
if( rs != null)
{
rs.close();
rs = null;
}
if( pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private String errorType(Connection conn, String errorCode) throws ITMException
{
String msgType = "E";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
String sql = " SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, errorCode);
rs = pstmt.executeQuery();
while (rs.next())
{
msgType = rs.getString("MSG_TYPE");
}
} catch (Exception ex)
{
ex.printStackTrace();
throw new ITMException(ex);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return msgType;
}
private String checkNull(String input)
{
return input == null ? "" : input;
}
private String checkInt(String input)
{
if(input == null || input.trim().length() == 0)
{
input = "0";
}
return input;
}
}
package ibase.webitm.ejb.adm;
import java.rmi.RemoteException;
import javax.ejb.Local;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface LoanScheduleICLocal extends ValidatorLocal {
@Override
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
}
package ibase.webitm.ejb.adm;
import java.rmi.RemoteException;
import javax.ejb.Remote;
import org.w3c.dom.Document;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface LoanScheduleICRemote extends ValidatorRemote {
@Override
public String wfValData(String xmlString, String xmlString1, String xmlString2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String wfValData(Document dom, Document dom1, Document dom2, String objContext, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String itemChanged(String xmlString, String xmlString1, String xmlString2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
@Override
public String itemChanged(Document dom, Document dom1, Document dom2, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException, ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.adm.adv;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.StringTokenizer;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.adm.AdmCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
public class LoanChk extends ValidatorEJB implements LoanChkLocal,LoanChkRemote
{
/* The nvo component nvo_bo_adm_loanchk from nvo_business_object_adm has been migrated completely except below function which has not used while
* loan opening and schedule migration
* public function s_accrual gbf_chk_loan_accrual (string as_emp_code, datetime ad_loandate, string as_scheme, string as_grade)*/
E12GenericUtility genericUtility = new E12GenericUtility();
AdmCommon admCommon= new AdmCommon();
UtilMethods utilMethod = new UtilMethods();
FinCommon finCommon = new FinCommon();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
PayrollVoucherConf PayrollVoucherConf = new PayrollVoucherConf();
String userId = "",loginEmpCode = "",termId = "";
public LoanChk()
{
System.out.println("****************** Inside LoanChk Class Constructor called *******************");
}
public String gbfLoanchkGeneral(String asSchemeNo, String asEmpCode, String asGrade, double acLoanAmt, Timestamp adLoanDate,Connection conn) throws ITMException
{
String lsErrcode = "", lsEligchk = "";
int liNvoNo = 0,cnt = 0;
double lcMinAmt = 0.00, lcMaxAmt = 0.00, lcAccrual = 0.00;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("*************Inside gbfLoanchkGeneral Method********************");
do
{ // check for loan_scheme_grade and eligibility if required and amount limit
sql = "select count(*) as count from loan_scheme_grade where scheme_no = ? and grade_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
pstmt.setString(2, asGrade);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt = rs.getInt("count");
}
close(pstmt, rs);
if(cnt == 0)
{
lsErrcode = "VMSCHGRA1";
break;
}
// check if eligibility check is reqd. for this loan scheme
sql = "select elig_check from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lsEligchk = checkNull(rs.getString("elig_check"));
}
close(pstmt, rs);
sql = "select min_amt, max_amt, nvo_no from loan_scheme_grade where scheme_no = ? and grade_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asSchemeNo);
pstmt.setString(2, asGrade);
rs = pstmt.executeQuery();
if(rs.next())
{
lcMinAmt = rs.getDouble("min_amt");
lcMaxAmt = rs.getDouble("max_amt");
liNvoNo = rs.getInt("nvo_no");
}
close(pstmt, rs);
if(lcMinAmt > 0)
{
if(acLoanAmt < lcMinAmt)
{
lsErrcode = "VTLOAN1"; // loan amount not in range
break;
}
}
if(lcMaxAmt > 0)
{
if(acLoanAmt > lcMaxAmt)
{
lsErrcode = "VTLOAN1"; // loan amount not in range
break;
}
}
// if elig. check is required then call function as per nvo no.
if("Y".equalsIgnoreCase(lsEligchk))
{
switch(liNvoNo)
{
case 1:
//lc_accrual = gbf_loan_rules_1(as_emp_code, as_scheme_no, ac_loanamt, ad_loandate)
lsErrcode = gbfLoanRules1(asEmpCode, asSchemeNo, acLoanAmt, adLoanDate,conn);
}
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return lsErrcode;
}
public String gbfLoanRules1(String asEmpCode, String asSchemeNo, double acLoanamt, Timestamp adLoanDate,Connection conn) throws ITMException
{
Timestamp ldJoinDate = null, ldDate = null;
String lsErrCode = "", lsCadre = "", lsSite = "";
double lcAccAmount = 0.00, lcAccrual = 0.00, lcTotElig = 0.00, lcBasic = 0.00;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("*************Inside gbfLoanRules1 Method********************");
do
{
sql = "select cadre, basic, date_join, pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsCadre = checkNull(rs.getString("cadre"));
lcBasic = rs.getDouble("basic");
ldJoinDate = rs.getTimestamp("date_join");
lsSite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
lsCadre = lsCadre.trim();
if(ldJoinDate != null && adLoanDate != null)
{
if(utilMethod.DaysAfter(ldJoinDate, adLoanDate) < 365)
{
lsErrCode = "VTLOAN2"; // one year not completed from joining date
break;
}
}
sql = "select max(date__balance) as dateBalance from loans where emp_code = ? and scheme_no = ? and balance_amt = 0";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, asSchemeNo);
rs = pstmt.executeQuery();
if(rs.next())
{
ldDate = rs.getTimestamp("dateBalance");
}
close(pstmt, rs);
if((ldDate != null && adLoanDate != null) && utilMethod.DaysAfter(ldDate, adLoanDate) < 365)
{
lsErrCode = "VTLOAN10"; // one year not completed since repayment of last loan against this scheme
break;
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return lsErrCode;
}
public String gbfLoanApprove(String asTranid, int aiCommit, String asOpen,String xtraParams,Connection conn) throws ITMException
{
String svar2 = "", svar3 = "", svar4 = "", svar5 = "", svar9 = "", svar10 = "", svar11 = "",
svar12 = "", svar7 = "",svar13 = "", svar14 = "", svar15 = "";
String lsErrcode = "", mVal = "", mVal1 = "", mVal3 = "", mVal4 = "",
instString = "", lsSite = "",lsSanctionNo = "",todayDate = "";
String lsStatus = "", lsBank = "", lsFinLink = "", lsLedgPostConf = "",lsEdiOption = "",lsLoadMode = "";
String lsLoanentryWindow = "", lsWinName = "";
Timestamp mToday = null, ldToday = null, dVar2 = null, dVar6 = null;
double Ctr = 0, lcSanctionBal = 0.00 ,lcLoanAmt = 0.00,lcMonInst = 0.00;
double mNum3 = 0.00, mmonInst = 0.00, diffAmt = 0.00, nvar1 = 0.00, nvar2 = 0.00;
int tpy = 0, roundYear = 0 ,cnt = 0;
String lsEmpccSal = "";
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
SimpleDateFormat sdf = null;
HashMap lsVouchDataMap = null;
try
{
System.out.println("***********Inside gbfLoanApprove Method**************");
userId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
loginEmpCode = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
termId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
lsVouchDataMap = new HashMap();
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
ldToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("ldToday::: "+ ldToday);
mToday = ldToday;
lsFinLink = checkNull(admCommon.getEnv("999999", "ADM_FIN_LINK",conn));
if("NULLFOUND".equalsIgnoreCase(lsFinLink))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
return lsErrcode;
}
do
{
if(loginEmpCode == null || loginEmpCode.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "EMPAPRV", userId, "", conn);
break;
}
sql = "select sanction_no, loan_amt, mon_inst, nvl(loanentry_window , 'S') as loanentryWindow "+
" from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSanctionNo = checkNull(rs.getString("sanction_no"));
lcLoanAmt = rs.getDouble("loan_amt");
lcMonInst = rs.getDouble("mon_inst");
lsLoanentryWindow = checkNull(rs.getString("loanentryWindow"));
}
close(pstmt, rs);
if(lcMonInst == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTLOAN9", userId, "", conn);
break;
}
if("Y".equalsIgnoreCase(asOpen) || !("S".equalsIgnoreCase(lsLoanentryWindow)))
{
lsFinLink = "N";
}
if(lsSanctionNo.trim().length() > 0)
{
sql = "select sanction_bal,status from emploan_sanction where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSanctionNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lcSanctionBal = rs.getDouble("sanction_bal");
lsStatus = checkNull(rs.getString("status"));
}
close(pstmt, rs);
lcSanctionBal = lcSanctionBal - lcLoanAmt;
if(lcSanctionBal == 0)
{
lsStatus = "C";
}
sql = "update emploan_sanction set status = ?,sanction_bal = sanction_bal - ? " +
" where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsStatus);
pstmt.setDouble(2, lcLoanAmt);
pstmt.setString(3, lsSanctionNo);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(cnt != 1)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "DS000NR", userId, "", conn);
break;
}
}
svar2 = " ";
sql = "select issue_date, start_reco, emp_code, loan_no, bank_code," +
"loan_amt, mon_inst, acct_code__pay, cctr_code__pay,"+
"acct_code__loan, cctr_code__loan, scheme_no, term, remarks, pay_mode from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
dVar2 = rs.getTimestamp("issue_date");
dVar6 = rs.getTimestamp("start_reco");
svar3 = checkNull(rs.getString("emp_code"));
svar4 = checkNull(rs.getString("loan_no"));
svar5 = checkNull(rs.getString("bank_code"));
nvar1 = rs.getDouble("loan_amt");
mmonInst = rs.getDouble("mon_inst");
svar9 = checkNull(rs.getString("acct_code__pay"));
svar10 = checkNull(rs.getString("cctr_code__pay"));
svar11 = checkNull(rs.getString("acct_code__loan"));
svar12 = checkNull(rs.getString("cctr_code__loan"));
mVal1 = checkNull(rs.getString("scheme_no"));
mNum3 = rs.getDouble("term");
svar15 = checkNull(rs.getString("remarks"));
svar14 = checkNull(rs.getString("pay_mode"));
}
close(pstmt, rs);
sql = "select pay_site, bank_code, cctr_code__sal from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, svar3);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("pay_site"));
lsBank = checkNull(rs.getString("bank_code"));
lsEmpccSal = checkNull(rs.getString("cctr_code__sal"));
}
close(pstmt, rs);
lsErrcode = checkNull(finCommon.nfCheckPeriod("ADM", dVar2, lsSite,conn));
if("Y".equalsIgnoreCase(lsFinLink) && (lsErrcode == null || lsErrcode.trim().length() == 0))
{
sql = "select site_code__acct from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("site_code__acct"));
}
close(pstmt, rs);
}
if(lsErrcode.trim().length() > 0)
{
break;
}
if(svar14 == null)
{
svar14 = "Q";
}
nvar2 = nvar1;
if("N".equalsIgnoreCase(lsFinLink))
{
lsErrcode = gbfInstCreate(asTranid,conn);
if(lsErrcode != null && lsErrcode.trim().length() > 0)
{
break;
}
sql = "Update loans set status = 'A', date__interest = issue_date, start_dedn = 'Y'," +
"balance_amt = ?, date__balance = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(aiCommit != 1)
{
sql = "Update loans set status = 'A', date__interest = issue_date, start_dedn = 'Y'," +
"balance_amt = ?, date__balance = ?, emp_code__appr = ?,"+
"appr_date = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, loginEmpCode);
pstmt.setTimestamp(4, mToday);
pstmt.setString(5, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
else
{
sql = "select ledg_post_conf from transetup where upper(tran_window) = 'W_LOANSCHEDULE'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
lsLedgPostConf = checkNull(rs.getString("ledg_post_conf"));
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTSEQ", userId, "", conn);
break;
}
close(pstmt, rs);
if("Y".equalsIgnoreCase(lsLedgPostConf))
{
if(dVar2 != ldToday)
{
dVar2 = ldToday;
}
}
sql = "select ad_code__ded from loan_scheme where scheme_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
svar13 = checkNull(rs.getString("ad_code__ded"));
}
close(pstmt, rs);
if(svar13 == null || svar13.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VMAD1", userId, "", conn);
break;
}
if(svar5 == null || svar5.trim().length() == 0)
{
svar5 = lsBank;
}
if(svar5 == null || svar5.trim().length() == 0)
{
svar5 = checkNull(admCommon.getEnv("999999","BANKCODE",conn));
if("NULLFOUND".equalsIgnoreCase(svar5))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
break;
}
}
sql = "select fin_entity from site where site_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
rs = pstmt.executeQuery();
if(rs.next())
{
svar7 = checkNull(rs.getString("fin_entity"));
}
close(pstmt, rs);
if(svar7 == null || svar7.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "DS000", userId, "", conn);
break;
}
if(lsEmpccSal != null && lsEmpccSal.trim().length() > 0)
{
svar12 = lsEmpccSal;
}
lsVouchDataMap.put("dVar2", dVar2);
lsVouchDataMap.put("dVar6", dVar6);
lsVouchDataMap.put("nvar1", nvar1);
lsVouchDataMap.put("svar10", svar10);
lsVouchDataMap.put("svar11", svar11);
lsVouchDataMap.put("svar12", svar12);
lsVouchDataMap.put("svar13", svar13);
lsVouchDataMap.put("svar14", svar14);
lsVouchDataMap.put("svar15", svar15);
lsVouchDataMap.put("svar2", svar2);
lsVouchDataMap.put("svar3", svar3);
lsVouchDataMap.put("svar4", svar4);
lsVouchDataMap.put("svar5", svar5);
lsVouchDataMap.put("svar6", lsSite);
lsVouchDataMap.put("svar7", svar7);
lsVouchDataMap.put("svar9", svar9);
System.out.println("lsVouchDataMap::==>[" + lsVouchDataMap + "]");
if(aiCommit != 1)
{
lsErrcode = gbfPayrVouch(lsVouchDataMap,xtraParams,conn);
if(lsErrcode != null && lsErrcode.trim().length() > 0)
{
break;
}
sql = "Update loans set status = 'A' ,balance_amt = ?,date__balance = ?,"+
"emp_code__appr = ?,appr_date = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, loginEmpCode);
pstmt.setTimestamp(4, mToday);
pstmt.setString(5, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
sql = "Update loans set status = 'A' ,balance_amt = ?,date__balance = ? "+
" where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if("S".equalsIgnoreCase(lsLoanentryWindow))
{
lsWinName = "w_loanschedule";
}
else
{
lsWinName = "w_loan_opening";
}
sql = "select edi_option,upper(load_mode) as loadMode from transetup where tran_window = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsWinName);
rs = pstmt.executeQuery();
if(rs.next())
{
lsEdiOption = checkNull(rs.getString("edi_option"));
lsLoadMode = checkNull(rs.getString("loadMode"));
}
close(pstmt, rs);
if(lsLoadMode == null)
{
lsLoadMode = "A";
}
if(lsEdiOption.compareTo("0") > 0)
{
/*nvo_datastore lds_loanapprv
lds_loanapprv = CREATE nvo_datastore
lds_loanapprv.dataobject = "d_loan_edit"
lds_loanapprv.settransobject(sqlca)
lds_loanapprv.retrieve(as_tranid)
nvo_datastore lds_loanapprvdet
lds_loanapprvdet = create nvo_datastore
lds_loanapprvdet.dataobject = "d_loandtl_brow"
lds_loanapprvdet.settransobject(sqlca)
lds_loanapprvdet.retrieve(as_tranid)
nvo_datastore lds_loanadj
lds_loanadj = create nvo_datastore
lds_loanadj.dataobject = "d_loan_ad_adj_brow"
lds_loanadj.settransobject(sqlca)
lds_loanadj.retrieve(as_tranid)
if("2".equalsIgnoreCase(lsEdiOption))
{
nvo_functions_adv.post nf_create_edi_multi(ls_win_name, &
lds_loanapprv.describe("datawindow.syntax") &
+ '~r' + lds_loanapprv.describe("datawindow.syntax.data"), &
ls_load_mode, ls_edi_option, 3, lds_loanapprvdet.describe("datawindow.syntax") &
+ '~r' + lds_loanapprvdet.describe("datawindow.syntax.data"),lds_loanadj.describe("datawindow.syntax") &
+ '~r' + lds_loanadj.describe("datawindow.syntax.data") , '', '', '', '')
}
else
{
ls_errcode = nvo_functions_adv.nf_create_edi_multi(ls_win_name, &
lds_loanapprv.describe("datawindow.syntax") &
+ '~r' + lds_loanapprv.describe("datawindow.syntax.data"), &
ls_load_mode, ls_edi_option, 3, lds_loanapprvdet.describe("datawindow.syntax") &
+ '~r' + lds_loanapprvdet.describe("datawindow.syntax.data"),lds_loanadj.describe("datawindow.syntax") &
+ '~r' + lds_loanadj.describe("datawindow.syntax.data"), '', '', '', '')
}*/
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public String gbfInstCreate(String asLoanNo,Connection conn) throws ITMException
{
String lsErrcode = "", lsEmpCode = "", lsScheme = "", lsAdcodeDedn = "",todayDate = "";
double lcDiffAmt = 0.00, lcInstAmt = 0.00, lcLoanAmt = 0.00;
Timestamp reqDate = null, ldDate = null, reqDate1 = null, mToday = null, ldStart = null;
int liTerm = 0,lcNum = 0,cnt = 0;
SimpleDateFormat sdf = null;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("***********Inside gbfInstCreate Method**************");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
mToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("mToday::: "+ mToday);
do
{
sql = "select start_reco, emp_code, loan_amt, mon_inst, term, scheme_no from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asLoanNo);
rs = pstmt.executeQuery();
if(rs.next())
{
ldStart = rs.getTimestamp("start_reco");
lsEmpCode = checkNull(rs.getString("emp_code"));
lcLoanAmt = rs.getDouble("loan_amt");
lcInstAmt = rs.getDouble("mon_inst");
liTerm = rs.getInt("term");
lsScheme = checkNull(rs.getString("scheme_no"));
}
close(pstmt, rs);
sql = "select ad_code__ded from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsScheme);
rs = pstmt.executeQuery();
if(rs.next())
{
lsAdcodeDedn = checkNull(rs.getString("ad_code__ded"));
}
close(pstmt, rs);
if(liTerm > 1)
{
reqDate = utilMethod.AddMonths(ldStart, liTerm - 1);
reqDate = admCommon.gfLastDate(reqDate);
}
else
{
reqDate = admCommon.gfLastDate(ldStart);
}
ldDate = reqDate;
System.out.println("ldDate::[" + ldDate + "]");
sql = "select count(*) as count from allowdedn_bal where emp_code = ? "+
" and ad_code = ? and start_date = ? and end_date = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmpCode);
pstmt.setString(2, lsAdcodeDedn);
pstmt.setTimestamp(3, ldStart);
pstmt.setTimestamp(4, ldDate);
rs = pstmt.executeQuery();
if(rs.next())
{
lcNum = rs.getInt("count");
}
close(pstmt, rs);
if(lcNum == 0)
{
sql = "Insert into allowdedn_bal (emp_code, ad_code, start_date, end_date, amount, amt_adj,"+
"amt_bal, chg_date, chg_user, chg_term,ref_type,ref_no) values (?, ?,"+
" ?, ?, ?, 0, ?, ?, ?, ?,'L',?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmpCode);
pstmt.setString(2, lsAdcodeDedn);
pstmt.setTimestamp(3, ldStart);
pstmt.setTimestamp(4, ldDate);
pstmt.setDouble(5, lcLoanAmt);
pstmt.setDouble(6, lcLoanAmt);
pstmt.setTimestamp(7, mToday);
pstmt.setString(8, userId);
pstmt.setString(9, termId);
pstmt.setString(10, asLoanNo);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTLNFND", userId, "", conn);
break;
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public String gbfPayrVouch(HashMap astrVouchDataMap,String xtraParams,Connection conn) throws ITMException
{
String mTranId = "", mTranType = "", mEmpCode = "", mRefNo = "", mBankCode = "", mAutoPay = "", mSiteCode = "",
mFinEntity = "", mAnalCode = "", mConfirmed = "", mPaid = "", mAcctCodePay = "", mCctrCodePay = "", lsSite = "",
lsSiteAc = "", mPayMode = "", mLineNo = "", mAcctCode = "", mCctrCode = "", mAdCode = "", mCurrCode = "",
mKeyStr = "", lsRemarks = "", lsAutoPost = "", lsErrcode = "", lsBatchNo = "", lsLedgPostConf = "";
Timestamp mTranDate = null, mEffDate = null, mRefDate = null, mChgDate = null, ldToday = null;
double mtotAmt = 0.00, mtotAmtBc = 0.00, lcExch = 0.00;
int mRetVal = 0,cnt = 0,detcnt = 0;
String TranDateStr = "";
String todayDate = "";
String lsGrade = "" ,lsCadre = "";
String lsEmpSite = "" , lsWorkSite = "" , lsPaySite = "";
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
SimpleDateFormat sdf = null;
try
{
System.out.println("*************Inside gbfPayrVouch Method*******************");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
ldToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("ldToday::: "+ ldToday);
mEmpCode = (String) astrVouchDataMap.get("svar3");
mSiteCode = (String) astrVouchDataMap.get("svar6");
mTranDate = (Timestamp) astrVouchDataMap.get("dVar2");
sql = "select grade, cadre, emp_site, work_site, pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsGrade = checkNull(rs.getString("grade"));
lsCadre = checkNull(rs.getString("cadre"));
lsEmpSite = checkNull(rs.getString("emp_site"));
lsWorkSite = checkNull(rs.getString("work_site"));
lsPaySite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
lsAutoPost = checkNull(admCommon.getAdmEnv(mSiteCode , lsCadre , lsGrade , "AUTO_POST" , mTranDate , conn));
if("NULLFOUND".equalsIgnoreCase(lsAutoPost))
{
lsAutoPost = checkNull(admCommon.getEnv("999999","AUTO_POST", conn));
if("NULLFOUND".equalsIgnoreCase(lsAutoPost))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
return lsErrcode;
}
}
// VARIABLE INITIALISATION
mTranDate = ldToday;
mTranType = " ";
mEffDate = null;
mEmpCode = " ";
mRefNo = " ";
mRefDate = null;
mBankCode = " ";
mAutoPay = "Y";
mSiteCode = " ";
mFinEntity = " ";
mtotAmt = 0.00 ;
mAnalCode = null;
mConfirmed = "N";
mPaid = "N";
mAcctCodePay = " ";
mCctrCodePay = " ";
mLineNo = " 1";
mAcctCode = " ";
mCctrCode = " ";
mAdCode = " ";
mChgDate = ldToday;
// END OF VARIABLE INITIALISATION
sql = "select key_string from transetup where upper(tran_window) = 'W_PAYR_VOUCHER'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
mKeyStr = checkNull(rs.getString("key_string"));
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTSEQ", userId, "", conn);
return lsErrcode;
}
close(pstmt, rs);
/*if itm_structure.fin_comp > 0 then
itm_app_server[itm_structure.fin_comp].createinstance(nvo_payr_voucher)
else
nvo_payr_voucher = create nvo_business_object_payr_voucher
end if*/
mTranDate = (Timestamp) astrVouchDataMap.get("dVar2");
mTranType = "LN";
mEffDate = (Timestamp) astrVouchDataMap.get("dVar6");
mEmpCode = (String) astrVouchDataMap.get("svar3");
mRefNo = (String) astrVouchDataMap.get("svar4");
mRefDate = (Timestamp) astrVouchDataMap.get("dVar2");
mBankCode = (String) astrVouchDataMap.get("svar5");
mSiteCode = (String) astrVouchDataMap.get("svar6");
mFinEntity = (String) astrVouchDataMap.get("svar7");
mtotAmt = (Double) astrVouchDataMap.get("nvar1");
mConfirmed = "N";
mPaid = "N";
mAcctCodePay = (String) astrVouchDataMap.get("svar9");
mCctrCodePay = (String) astrVouchDataMap.get("svar10");
mLineNo = " 1";
mAcctCode = (String) astrVouchDataMap.get("svar11");
mCctrCode = (String) astrVouchDataMap.get("svar12");
mAdCode = (String) astrVouchDataMap.get("svar13");
mPayMode = (String) astrVouchDataMap.get("svar14");
lsRemarks = (String) astrVouchDataMap.get("svar15");
lsBatchNo = (String) astrVouchDataMap.get("svar4");
sql = "select site_code__acct from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mSiteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSiteAc = checkNull(rs.getString("site_code__acct"));
}
close(pstmt, rs);
TranDateStr = checkNull(genericUtility.getValidDateTimeString(mTranDate, genericUtility.getApplDateFormat()));
String xmlValues = "";
xmlValues = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + lsSiteAc + "</site_code>";
xmlValues = xmlValues + "<pay_site>" + lsPaySite + "</pay_site>";
xmlValues = xmlValues + "<emp_site>" + lsEmpSite + "</emp_site>";
xmlValues = xmlValues + "<work_site>" + lsWorkSite + "</work_site>";
xmlValues = xmlValues + "<tran_date>" + TranDateStr + "</tran_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :[" + xmlValues + "]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
mTranId = tg.generateTranSeqID("P-VOUC", "tran_id", mKeyStr, conn);
tg = null;
System.out.println("Generated Tran ID for Loan PAYR_VOUCHER::[" + mTranId + "]");
if("ERROR".equalsIgnoreCase(mTranId))
{
lsErrcode = itmDBAccessEJB.getErrorString("","VTTRANID", userId, "", conn);
return lsErrcode;
}
sql = "SELECT finent.curr_code as currCode FROM finent, site "+
" WHERE site.fin_entity = finent.fin_entity and site.site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSiteAc);
rs = pstmt.executeQuery();
if(rs.next())
{
mCurrCode = checkNull(rs.getString("currCode"));
}
close(pstmt, rs);
sql = "select std_exrt from currency where curr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCurrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lcExch = rs.getDouble("std_exrt");
}
close(pstmt, rs);
mtotAmtBc = mtotAmt * lcExch;
sql = "insert into payr_voucher (tran_id, tran_date, tran_type, eff_date,"+
"emp_code, ref_no, ref_date, bank_code, auto_pay, pay_mode,"+
"chg_date, chg_user, chg_term, site_code, fin_entity,"+
"anal_code, confirmed, acct_code__pay, cctr_code__pay,"+
"tot_amt, tot_amt__bc, exch_rate, curr_code, entry_batch_no, vouch_type, remarks) "+
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'O', ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mTranId);
pstmt.setTimestamp(2, mTranDate);
pstmt.setString(3, mTranType);
pstmt.setTimestamp(4, mEffDate);
pstmt.setString(5, mEmpCode);
pstmt.setString(6, mRefNo);
pstmt.setTimestamp(7, mRefDate);
pstmt.setString(8, mBankCode);
pstmt.setString(9, mAutoPay);
pstmt.setString(10, mPayMode);
pstmt.setTimestamp(11, mChgDate);
pstmt.setString(12, userId);
pstmt.setString(13, termId);
pstmt.setString(14, lsSiteAc);
pstmt.setString(15, mFinEntity);
pstmt.setString(16, mAnalCode);
pstmt.setString(17, mConfirmed);
pstmt.setString(18, mAcctCodePay);
pstmt.setString(19, mCctrCodePay);
pstmt.setDouble(20, mtotAmt);
pstmt.setDouble(21, mtotAmtBc);
pstmt.setDouble(22, lcExch);
pstmt.setString(23, mCurrCode);
pstmt.setString(24, lsBatchNo);
pstmt.setString(25, lsRemarks);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(cnt == 1)
{
sql = "insert into payr_vouchdet (tran_id, line_no, acct_code, cctr_code, amount, ad_code) " +
" values (?, ?, ?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mTranId);
pstmt.setString(2, mLineNo);
pstmt.setString(3, mAcctCode);
pstmt.setString(4, mCctrCode);
pstmt.setDouble(5, mtotAmt);
pstmt.setString(6, mAdCode);
detcnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if((lsErrcode == null || lsErrcode.trim().length() == 0) && "Y".equalsIgnoreCase(lsAutoPost))
{
//lsErrcode = nvo_payr_voucher.gbf_retrieve_payr_vou(mtranid, mtranid, 1, mtrantype, mtrantype, ls_batchno,ls_siteac)
lsErrcode = checkNull(PayrollVoucherConf.confirm(mTranId, xtraParams, conn));
}
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public double gbfCalcLoanAccrual(String asEmpCode,Timestamp adLoanDate,String asScheme, String asGrade,Connection conn) throws ITMException
{
String lsBalAdlist = "",lsBasAdlist = "",lsProjAdlist = "", lsProjPrdcode = "";
String lsAdcode1 = "";
String lsCadre = "", lsGrade = "", lsSite = "";
double lcPerkBal = 0, lcBasicAmt = 0, lcOtherAmt = 0, lcAccrualAmt = 0, lcEmpBasic = 0, lcWorkAmt = 0;
Timestamp ldJoin = null;
int liNoBasic = 0;
ArrayList<String> tokens = null;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("Inside gbfCalcLoanAccrual Method::::::::::::");
sql = "select max(prd_code) as prdCode from payroll_projhdr where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsProjPrdcode = checkNull(rs.getString("prdCode"));
}
close(pstmt, rs);
sql = "select cadre, grade, pay_site, basic, date_join from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsCadre = checkNull(rs.getString("cadre"));
lsGrade = checkNull(rs.getString("grade"));
lsSite = checkNull(rs.getString("pay_site"));
lcEmpBasic = rs.getDouble("basic");
ldJoin = rs.getTimestamp("date_join");
}
close(pstmt, rs);
sql = "select no_basic_acc from cadre_site_lvetbl where site_code = ? and cadre_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
pstmt.setString(2, lsCadre);
rs = pstmt.executeQuery();
if(rs.next())
{
liNoBasic = rs.getInt("no_basic_acc");
}
close(pstmt, rs);
if(liNoBasic == 0)
{
liNoBasic = 0;
}
lsBalAdlist = checkNull(admCommon.getAdmEnv(lsSite, lsCadre, lsGrade, "PRKADLST_FOR_ACCRUAL", adLoanDate, conn));
if("NULLFOUND".equalsIgnoreCase(lsBalAdlist))
{
lsBalAdlist = checkNull(admCommon.getEnv("999999", "PRKADLST_FOR_ACCRUAL",conn));
}
System.out.println("lsBalAdlist::[" + lsBalAdlist + "]");
if(lsBalAdlist != null && !("NULLFOUND".equalsIgnoreCase(lsBalAdlist)) && lsBalAdlist.trim().length() > 0)
{
if(lsBalAdlist.trim().length() > 0)
{
lsAdcode1 = "";
//lsAdcode1 = admCommon.getToken(lsBalAdlist,",");
tokens = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(lsBalAdlist, ",");
while(st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
for(int i = 0;i < tokens.size(); i++)
{
lcWorkAmt = 0;
lsAdcode1 = tokens.get(i);
if(lsAdcode1 != null && lsAdcode1.trim().length() > 0)
{
lsAdcode1 = lsAdcode1.trim();
sql = "select sum(amt_bal) as amtBal from allowdedn_bal "+
" where emp_code = ? and ad_code = ? and start_date <= ? and amt_bal <> 0 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, lsAdcode1);
pstmt.setTimestamp(3, adLoanDate);
rs = pstmt.executeQuery();
if(rs.next())
{
lcWorkAmt = rs.getDouble("amtBal");
}
close(pstmt, rs);
if(lcWorkAmt != 0)
{
lcPerkBal = lcPerkBal + lcWorkAmt;
}
}
}
} //while(lsBalAdlist.trim().length() > 0);
if(lcPerkBal == 0)
{
lcPerkBal = 0;
}
}
if(lsProjPrdcode != null && lsProjPrdcode.trim().length() > 0)
{
lsBasAdlist = checkNull(admCommon.getAdmEnv(lsSite, lsCadre, lsGrade, "BASADLST_FOR_ACCRUAL", adLoanDate, conn));
if("NULLFOUND".equalsIgnoreCase(lsBasAdlist))
{
lsBasAdlist = checkNull(admCommon.getEnv("999999", "BASADLST_FOR_ACCRUAL",conn));
}
System.out.println("lsBasAdlist::[" + lsBasAdlist + "]");
if(lsBasAdlist != null && !("NULLFOUND".equalsIgnoreCase(lsBasAdlist)) && lsBasAdlist.trim().length() > 0)
{
if(lsBasAdlist.trim().length() > 0)
{
lsAdcode1 = "";
//lsAdcode1 = admCommon.getToken(lsBasAdlist,",");
tokens = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(lsBasAdlist, ",");
while(st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
for(int i = 0;i < tokens.size(); i++)
{
lcWorkAmt = 0;
lsAdcode1 = tokens.get(i);
if(lsAdcode1 != null && lsAdcode1.trim().length() > 0)
{
sql = "select amount from payroll_projdet where emp_code = ? and ad_code = ? and prd_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, lsAdcode1);
pstmt.setString(3, lsProjPrdcode);
rs = pstmt.executeQuery();
if(rs.next())
{
lcWorkAmt = rs.getDouble("amount");
}
close(pstmt, rs);
if(lcWorkAmt != 0)
{
lcBasicAmt = lcBasicAmt + lcWorkAmt;
}
}
}
} //while(lsBasAdlist.trim().length() > 0);
}
}
lcBasicAmt = (lcBasicAmt * liNoBasic) + (lcEmpBasic * liNoBasic);
if(lsProjPrdcode != null && lsProjPrdcode.trim().length() > 0)
{
lsProjAdlist = checkNull(admCommon.getAdmEnv(lsSite, lsCadre, lsGrade, "PRJADLST_FOR_ACCRUAL", adLoanDate, conn));
if("NULLFOUND".equalsIgnoreCase(lsProjAdlist))
{
lsProjAdlist = checkNull(admCommon.getEnv("999999", "PRJADLST_FOR_ACCRUAL",conn));
}
System.out.println("lsProjAdlist::[" + lsProjAdlist + "]");
if(lsProjAdlist != null && !("NULLFOUND".equalsIgnoreCase(lsProjAdlist)) && lsProjAdlist.trim().length() > 0)
{
if(lsProjAdlist.trim().length() > 0)
{
lsAdcode1 = "";
//lsAdcode1 = admCommon.getToken(lsProjAdlist,",");
tokens = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(lsProjAdlist, ",");
while(st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
for(int i = 0;i < tokens.size(); i++)
{
lcWorkAmt = 0;
lsAdcode1 = tokens.get(i);
if(lsAdcode1 != null && lsAdcode1.trim().length() > 0)
{
sql = "select amount from payroll_projdet where emp_code = ? and ad_code = ? and prd_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, lsAdcode1);
pstmt.setString(3, lsProjPrdcode);
rs = pstmt.executeQuery();
if(rs.next())
{
lcWorkAmt = rs.getDouble("amount");
}
close(pstmt, rs);
if(lcWorkAmt != 0)
{
lcOtherAmt = lcOtherAmt + lcWorkAmt;
}
}
}
} //while(lsProjAdlist.trim().length() > 0);
if(lcOtherAmt == 0)
{
lcOtherAmt = 0;
}
}
}
lcAccrualAmt = lcPerkBal + lcBasicAmt + lcOtherAmt;
System.out.println("lcAccrualAmt::[" + lcAccrualAmt + "]");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
close(pstmt, rs);
}
catch (Exception e)
{
e.printStackTrace();
}
}
return lcAccrualAmt;
}
public double gbfGetAdjustablePerkamt(String asEmpCode,Timestamp adLoanDate,String asScheme,String asGrade,Connection conn) throws ITMException
{
String lsBalAdlist = "", lsProjPrdcode = "";
String lsAdcode1 = "";
String lsCadre = "", lsGrade = "", lsSite = "";
double lcPerkBal = 0, lcBasicAmt = 0, lcOtherAmt = 0, lcAccrualAmt = 0, lcEmpBasic = 0, lcWorkAmt = 0;
ArrayList<String> tokens = null;
Timestamp ldJoin = null;
int liNoBasic = 0;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("Inside gbfGetAdjustablePerkamt Method::::::::::::");
sql = "select max(prd_code) as prdCode from payroll_projhdr where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsProjPrdcode = checkNull(rs.getString("prdCode"));
}
close(pstmt, rs);
sql = "select cadre, grade, pay_site, basic, date_join from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsCadre = checkNull(rs.getString("cadre"));
lsGrade = checkNull(rs.getString("grade"));
lsSite = checkNull(rs.getString("pay_site"));
lcEmpBasic = rs.getDouble("basic");
ldJoin = rs.getTimestamp("date_join");
}
close(pstmt, rs);
sql = "select no_basic_acc from cadre_site_lvetbl where site_code = ? and cadre_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
pstmt.setString(2, lsCadre);
rs = pstmt.executeQuery();
if(rs.next())
{
liNoBasic = rs.getInt("no_basic_acc");
}
close(pstmt, rs);
if(liNoBasic == 0)
{
liNoBasic = 0;
}
lsBalAdlist = checkNull(admCommon.getAdmEnv(lsSite, lsCadre, lsGrade, "PRKADLST_FOR_LOANADJ", adLoanDate, conn));
if("NULLFOUND".equalsIgnoreCase(lsBalAdlist))
{
lsBalAdlist = checkNull(admCommon.getEnv("999999", "PRKADLST_FOR_LOANADJ",conn));
}
System.out.println("lsBalAdlist::[" + lsBalAdlist + "]");
if(lsBalAdlist != null && !("NULLFOUND".equalsIgnoreCase(lsBalAdlist)) && lsBalAdlist.trim().length() > 0)
{
if(lsBalAdlist.trim().length() > 0)
{
lsAdcode1 = "";
//lsAdcode1 = admCommon.getToken(lsBalAdlist,",");
tokens = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(lsBalAdlist, ",");
while(st.hasMoreTokens())
{
tokens.add(st.nextToken());
}
for(int i = 0;i < tokens.size(); i++)
{
lcWorkAmt = 0;
lsAdcode1 = tokens.get(i);
if(lsAdcode1 != null && lsAdcode1.trim().length() > 0)
{
lsAdcode1 = lsAdcode1.trim();
sql = "select sum(amt_bal) as amtBal from allowdedn_bal "+
" where emp_code = ? and ad_code = ? and start_date < ? and end_date < ? and amt_bal <> 0 ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asEmpCode);
pstmt.setString(2, lsAdcode1);
pstmt.setTimestamp(3, adLoanDate);
pstmt.setTimestamp(4, adLoanDate);
rs = pstmt.executeQuery();
if(rs.next())
{
lcWorkAmt = rs.getDouble("amtBal");
}
close(pstmt, rs);
if(lcWorkAmt != 0)
{
lcPerkBal = lcPerkBal + lcWorkAmt;
}
}
}
} //while(lsBalAdlist.trim().length() > 0);
if(lcPerkBal == 0)
{
lcPerkBal = 0;
}
}
lcAccrualAmt = lcPerkBal + lcBasicAmt + lcOtherAmt;
System.out.println("lcAccrualAmt::[" + lcAccrualAmt + "]");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
close(pstmt, rs);
}
catch (Exception e)
{
e.printStackTrace();
}
}
return lcAccrualAmt;
}
public void close(PreparedStatement pstmt,ResultSet rs)
{
try
{
if( rs != null)
{
rs.close();
rs = null;
}
if( pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private String checkNull(String input)
{
return input == null ? "" : input;
}
}
package ibase.webitm.ejb.adm.adv;
import java.sql.Connection;
import java.sql.Timestamp;
import java.util.HashMap;
import javax.ejb.Local;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
@Local
public interface LoanChkLocal extends ValidatorLocal
{
public String gbfLoanchkGeneral(String asSchemeNo, String asEmpCode, String asGrade, double acLoanAmt, Timestamp adLoanDate,Connection conn) throws ITMException;
public String gbfLoanRules1(String asEmpCode, String asSchemeNo, double acLoanamt, Timestamp adLoanDate,Connection conn) throws ITMException;
public String gbfLoanApprove(String asTranid, int aiCommit, String asOpen,String xtraParams,Connection conn) throws ITMException;
public String gbfInstCreate(String asLoanNo,Connection conn) throws ITMException;
public String gbfPayrVouch(HashMap astrVouchDataMap,String xtraParams,Connection conn) throws ITMException;
public double gbfCalcLoanAccrual(String asEmpCode,Timestamp adLoanDate,String asScheme, String asGrade,Connection conn) throws ITMException;
public double gbfGetAdjustablePerkamt(String asEmpCode,Timestamp adLoanDate,String asScheme,String asGrade,Connection conn) throws ITMException;
}
package ibase.webitm.ejb.adm.adv;
import java.sql.Connection;
import java.sql.Timestamp;
import java.util.HashMap;
import javax.ejb.Remote;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
@Remote
public interface LoanChkRemote extends ValidatorRemote
{
public String gbfLoanchkGeneral(String asSchemeNo, String asEmpCode, String asGrade, double acLoanAmt, Timestamp adLoanDate,Connection conn) throws ITMException;
public String gbfLoanRules1(String asEmpCode, String asSchemeNo, double acLoanamt, Timestamp adLoanDate,Connection conn) throws ITMException;
public String gbfLoanApprove(String asTranid, int aiCommit, String asOpen,String xtraParams,Connection conn) throws ITMException;
public String gbfInstCreate(String asLoanNo,Connection conn) throws ITMException;
public String gbfPayrVouch(HashMap astrVouchDataMap,String xtraParams,Connection conn) throws ITMException;
public double gbfCalcLoanAccrual(String asEmpCode,Timestamp adLoanDate,String asScheme, String asGrade,Connection conn) throws ITMException;
public double gbfGetAdjustablePerkamt(String asEmpCode,Timestamp adLoanDate,String asScheme,String asGrade,Connection conn) throws ITMException;
}
/*
Developed by : Hatim Laxmidhar
Started On : 07/01/2006
Purpose : Cancel Button
Window : w_loan_opening
*/
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.*;
import javax.ejb.*;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.utility.ITMException;
@Stateless // added for ejb3
public class LoanOpeningCnc extends ActionHandlerEJB implements LoanOpeningCncLocal,LoanOpeningCncRemote //SessionBean
{
/*public void ejbCreate() throws RemoteException, CreateException
{
}
public void ejbRemove()
{
}
public void ejbActivate()
{
}
public void ejbPassivate()
{
}*/
public String actionHandler() throws RemoteException,ITMException
{
return "";
}
public String actionHandler(String loanNo, String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
String retString = null;
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][End]
try
{
retString = actionCancel(loanNo, xtraParams, forcedFlag);
}
catch(Exception e)
{
System.out.println("Exception :LoanOpeningCncEJB :actionHandler :" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
System.out.println("returning String from LoanOpeningCncEJB :actionHandler :"+retString);
return retString;
}
private String actionCancel(String loanNo, String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
String status = "", sql = "";
String errCode = "", errString = "";
String loginCode = "";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][Start]
//ConnDriver connDriver = new ConnDriver();
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][End]
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][End]
int cnt = 0;
try
{
conn = getConnection();
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][Start]
//conn = connDriver.getConnectDB("DriverITM");
// Modified by Azhar K. on [28-June-2019][Changes done as per new framework][End]
stmt = conn.createStatement();
System.out.println("########### Inside LoanOpeningCncEJB[actionCancel] ###########");
System.out.println("Loan No : "+ loanNo);
sql = "SELECT STATUS FROM LOANS WHERE LOAN_NO = '" + loanNo + "'";
System.out.println("sql :\n" + sql +"\n");
rs = stmt.executeQuery(sql);
if (rs.next())
{
status = rs.getString(1);
}
System.out.println("Status :"+status);
if (status.equalsIgnoreCase("U"))
{
loginCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
if (loginCode == null || loginCode.trim().length() == 0)
{
errCode = "EMPAPRV";
}
else
{
stmt = conn.createStatement();
cnt = stmt.executeUpdate("UPDATE LOANS SET STATUS = 'X' WHERE LOAN_NO = '" + loanNo + "'");
if (cnt > 0)
{
errCode = "VTCANC1";
// Modified by Piyush on 23/12/2014 [To commit/rollback data].Start
conn.commit();
}
else
{
errCode = "VTCANC3";
conn.rollback();
}
// Modified by Piyush on 23/12/2014 [To commit/rollback data].End
}
}
// Modified by Piyush on 23/12/2014[To give proper message in case of already cancelled].Start
else if (status.equalsIgnoreCase("X"))
{
errCode = "VTCANC2";
}
// Modified by Piyush on 23/12/2014[To give proper message in case of already cancelled].End
else
{
errCode = "VTRCONF1";
}
}
catch (SQLException sqx)
{
System.out.println("The sqlException occure in LoanOpeningCncEJB :"+sqx);
throw new ITMException(sqx);
}
catch (Exception e)
{
System.out.println("The Exception occure in LoanOpeningCncEJB :"+e);
throw new ITMException(e);
}
finally
{
errString = itmDBAccessEJB.getErrorString("",errCode,"","",conn);
try
{
if (conn!=null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
System.out.println("Exception in finally: " + e);
}
}
return errString;
}
}
\ No newline at end of file
......@@ -2,15 +2,10 @@ package ibase.webitm.ejb.adm.adv;
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 ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
......@@ -18,7 +13,6 @@ import ibase.webitm.ejb.adm.AdmCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
public class LoanOpeningConf extends ActionHandlerEJB implements LoanOpeningConfLocal, LoanOpeningConfRemote
{
......@@ -27,6 +21,7 @@ public class LoanOpeningConf extends ActionHandlerEJB implements LoanOpeningConf
AdmCommon admCommon = new AdmCommon();
FinCommon finCommon = new FinCommon();
UtilMethods utilMethod = new UtilMethods();
LoanChk loanChk = new LoanChk();
PayrollVoucherConf PayrollVoucherConf = new PayrollVoucherConf();
String userId = "",loginEmpCode = "",runMode = "",termId = "";
......@@ -158,7 +153,7 @@ public class LoanOpeningConf extends ActionHandlerEJB implements LoanOpeningConf
}
}
lsErrcode = gbfLoanApprove(lsTranid, 2, "Y",xtraParams,conn);
lsErrcode = checkNull(loanChk.gbfLoanApprove(lsTranid, 2, "Y",xtraParams,conn));
System.out.println("lsErrcode coming from gbfLoanApprove Method :::==>[" + lsErrcode + "]" );
}
else if("X".equalsIgnoreCase(lsStatus))
......@@ -203,921 +198,6 @@ public class LoanOpeningConf extends ActionHandlerEJB implements LoanOpeningConf
return lsErrcode;
}
public String gbfLoanApprove(String asTranid, int aiCommit, String asOpen,String xtraParams,Connection conn) throws ITMException
{
String svar2 = "", svar3 = "", svar4 = "", svar5 = "", svar9 = "", svar10 = "", svar11 = "",
svar12 = "", svar7 = "",svar13 = "", svar14 = "", svar15 = "";
String lsErrcode = "", mVal = "", mVal1 = "", mVal3 = "", mVal4 = "",
instString = "", lsSite = "",lsSanctionNo = "",todayDate = "";
String lsStatus = "", lsBank = "", lsFinLink = "", lsLedgPostConf = "",lsEdiOption = "",lsLoadMode = "";
String lsLoanentryWindow = "", lsWinName = "";
Timestamp mToday = null, ldToday = null, dVar2 = null, dVar6 = null;
double Ctr = 0, lcSanctionBal = 0.00 ,lcLoanAmt = 0.00,lcMonInst = 0.00;
double mNum3 = 0.00, mmonInst = 0.00, diffAmt = 0.00, nvar1 = 0.00, nvar2 = 0.00;
int tpy = 0, roundYear = 0 ,cnt = 0;
String lsEmpccSal = "";
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
SimpleDateFormat sdf = null;
HashMap lsVouchDataMap = null;
try
{
System.out.println("***********Inside gbfLoanApprove Method**************");
lsVouchDataMap = new HashMap();
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
ldToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("ldToday::: "+ ldToday);
mToday = ldToday;
lsFinLink = checkNull(admCommon.getEnv("999999", "ADM_FIN_LINK",conn));
if("NULLFOUND".equalsIgnoreCase(lsFinLink))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
return lsErrcode;
}
do
{
if(loginEmpCode == null || loginEmpCode.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "EMPAPRV", userId, "", conn);
break;
}
sql = "select sanction_no, loan_amt, mon_inst, nvl(loanentry_window , 'S') as loanentryWindow "+
" from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSanctionNo = checkNull(rs.getString("sanction_no"));
lcLoanAmt = rs.getDouble("loan_amt");
lcMonInst = rs.getDouble("mon_inst");
lsLoanentryWindow = checkNull(rs.getString("loanentryWindow"));
}
close(pstmt, rs);
if(lcMonInst == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTLOAN9", userId, "", conn);
break;
}
if("Y".equalsIgnoreCase(asOpen) || !("S".equalsIgnoreCase(lsLoanentryWindow)))
{
lsFinLink = "N";
}
if(lsSanctionNo.trim().length() > 0)
{
sql = "select sanction_bal,status from emploan_sanction where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSanctionNo);
rs = pstmt.executeQuery();
if(rs.next())
{
lcSanctionBal = rs.getDouble("sanction_bal");
lsStatus = checkNull(rs.getString("status"));
}
close(pstmt, rs);
lcSanctionBal = lcSanctionBal - lcLoanAmt;
if(lcSanctionBal == 0)
{
lsStatus = "C";
}
sql = "update emploan_sanction set status = ?,sanction_bal = sanction_bal - ? " +
" where sanction_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsStatus);
pstmt.setDouble(2, lcLoanAmt);
pstmt.setString(3, lsSanctionNo);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(cnt != 1)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "DS000NR", userId, "", conn);
break;
}
}
svar2 = " ";
sql = "select issue_date, start_reco, emp_code, loan_no, bank_code," +
"loan_amt, mon_inst, acct_code__pay, cctr_code__pay,"+
"acct_code__loan, cctr_code__loan, scheme_no, term, remarks, pay_mode from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
dVar2 = rs.getTimestamp("issue_date");
dVar6 = rs.getTimestamp("start_reco");
svar3 = checkNull(rs.getString("emp_code"));
svar4 = checkNull(rs.getString("loan_no"));
svar5 = checkNull(rs.getString("bank_code"));
nvar1 = rs.getDouble("loan_amt");
mmonInst = rs.getDouble("mon_inst");
svar9 = checkNull(rs.getString("acct_code__pay"));
svar10 = checkNull(rs.getString("cctr_code__pay"));
svar11 = checkNull(rs.getString("acct_code__loan"));
svar12 = checkNull(rs.getString("cctr_code__loan"));
mVal1 = checkNull(rs.getString("scheme_no"));
mNum3 = rs.getDouble("term");
svar15 = checkNull(rs.getString("remarks"));
svar14 = checkNull(rs.getString("pay_mode"));
}
close(pstmt, rs);
sql = "select pay_site, bank_code, cctr_code__sal from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, svar3);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("pay_site"));
lsBank = checkNull(rs.getString("bank_code"));
lsEmpccSal = checkNull(rs.getString("cctr_code__sal"));
}
close(pstmt, rs);
lsErrcode = checkNull(finCommon.nfCheckPeriod("ADM", dVar2, lsSite,conn));
if("Y".equalsIgnoreCase(lsFinLink) && (lsErrcode == null || lsErrcode.trim().length() == 0))
{
sql = "select site_code__acct from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSite = checkNull(rs.getString("site_code__acct"));
}
close(pstmt, rs);
}
if(lsErrcode.trim().length() > 0)
{
break;
}
if(svar14 == null)
{
svar14 = "Q";
}
nvar2 = nvar1;
if("N".equalsIgnoreCase(lsFinLink))
{
lsErrcode = gbfInstCreate(asTranid,conn);
if(lsErrcode != null && lsErrcode.trim().length() > 0)
{
break;
}
sql = "Update loans set status = 'A', date__interest = issue_date, start_dedn = 'Y'," +
"balance_amt = ?, date__balance = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(aiCommit != 1)
{
sql = "Update loans set status = 'A', date__interest = issue_date, start_dedn = 'Y'," +
"balance_amt = ?, date__balance = ?, emp_code__appr = ?,"+
"appr_date = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, loginEmpCode);
pstmt.setTimestamp(4, mToday);
pstmt.setString(5, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
}
else
{
sql = "select ledg_post_conf from transetup where upper(tran_window) = 'W_LOANSCHEDULE'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
lsLedgPostConf = checkNull(rs.getString("ledg_post_conf"));
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTSEQ", userId, "", conn);
break;
}
close(pstmt, rs);
if("Y".equalsIgnoreCase(lsLedgPostConf))
{
if(dVar2 != ldToday)
{
dVar2 = ldToday;
}
}
sql = "select ad_code__ded from loan_scheme where scheme_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mVal1);
rs = pstmt.executeQuery();
if(rs.next())
{
svar13 = checkNull(rs.getString("ad_code__ded"));
}
close(pstmt, rs);
if(svar13 == null || svar13.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VMAD1", userId, "", conn);
break;
}
if(svar5 == null || svar5.trim().length() == 0)
{
svar5 = lsBank;
}
if(svar5 == null || svar5.trim().length() == 0)
{
svar5 = checkNull(admCommon.getEnv("999999","BANKCODE",conn));
if("NULLFOUND".equalsIgnoreCase(svar5))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
break;
}
}
sql = "select fin_entity from site where site_code = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSite);
rs = pstmt.executeQuery();
if(rs.next())
{
svar7 = checkNull(rs.getString("fin_entity"));
}
close(pstmt, rs);
if(svar7 == null || svar7.trim().length() == 0)
{
lsErrcode = itmDBAccessEJB.getErrorString("", "DS000", userId, "", conn);
break;
}
if(lsEmpccSal != null && lsEmpccSal.trim().length() > 0)
{
svar12 = lsEmpccSal;
}
lsVouchDataMap.put("dVar2", dVar2);
lsVouchDataMap.put("dVar6", dVar6);
lsVouchDataMap.put("nvar1", nvar1);
lsVouchDataMap.put("svar10", svar10);
lsVouchDataMap.put("svar11", svar11);
lsVouchDataMap.put("svar12", svar12);
lsVouchDataMap.put("svar13", svar13);
lsVouchDataMap.put("svar14", svar14);
lsVouchDataMap.put("svar15", svar15);
lsVouchDataMap.put("svar2", svar2);
lsVouchDataMap.put("svar3", svar3);
lsVouchDataMap.put("svar4", svar4);
lsVouchDataMap.put("svar5", svar5);
lsVouchDataMap.put("svar6", lsSite);
lsVouchDataMap.put("svar7", svar7);
lsVouchDataMap.put("svar9", svar9);
System.out.println("lsVouchDataMap::==>[" + lsVouchDataMap + "]");
if(aiCommit != 1)
{
lsErrcode = gbfPayrVouch(lsVouchDataMap,xtraParams,conn);
if(lsErrcode != null && lsErrcode.trim().length() > 0)
{
break;
}
sql = "Update loans set status = 'A' ,balance_amt = ?,date__balance = ?,"+
"emp_code__appr = ?,appr_date = ? where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, loginEmpCode);
pstmt.setTimestamp(4, mToday);
pstmt.setString(5, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
sql = "Update loans set status = 'A' ,balance_amt = ?,date__balance = ? "+
" where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1, lcLoanAmt);
pstmt.setTimestamp(2, dVar6);
pstmt.setString(3, asTranid);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if("S".equalsIgnoreCase(lsLoanentryWindow))
{
lsWinName = "w_loanschedule";
}
else
{
lsWinName = "w_loan_opening";
}
sql = "select edi_option,upper(load_mode) as loadMode from transetup where tran_window = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsWinName);
rs = pstmt.executeQuery();
if(rs.next())
{
lsEdiOption = checkNull(rs.getString("edi_option"));
lsLoadMode = checkNull(rs.getString("loadMode"));
}
close(pstmt, rs);
if(lsLoadMode == null)
{
lsLoadMode = "A";
}
if(lsEdiOption.compareTo("0") > 0)
{
/*nvo_datastore lds_loanapprv
lds_loanapprv = CREATE nvo_datastore
lds_loanapprv.dataobject = "d_loan_edit"
lds_loanapprv.settransobject(sqlca)
lds_loanapprv.retrieve(as_tranid)
nvo_datastore lds_loanapprvdet
lds_loanapprvdet = create nvo_datastore
lds_loanapprvdet.dataobject = "d_loandtl_brow"
lds_loanapprvdet.settransobject(sqlca)
lds_loanapprvdet.retrieve(as_tranid)
nvo_datastore lds_loanadj
lds_loanadj = create nvo_datastore
lds_loanadj.dataobject = "d_loan_ad_adj_brow"
lds_loanadj.settransobject(sqlca)
lds_loanadj.retrieve(as_tranid)
if("2".equalsIgnoreCase(lsEdiOption))
{
nvo_functions_adv.post nf_create_edi_multi(ls_win_name, &
lds_loanapprv.describe("datawindow.syntax") &
+ '~r' + lds_loanapprv.describe("datawindow.syntax.data"), &
ls_load_mode, ls_edi_option, 3, lds_loanapprvdet.describe("datawindow.syntax") &
+ '~r' + lds_loanapprvdet.describe("datawindow.syntax.data"),lds_loanadj.describe("datawindow.syntax") &
+ '~r' + lds_loanadj.describe("datawindow.syntax.data") , '', '', '', '')
}
else
{
ls_errcode = nvo_functions_adv.nf_create_edi_multi(ls_win_name, &
lds_loanapprv.describe("datawindow.syntax") &
+ '~r' + lds_loanapprv.describe("datawindow.syntax.data"), &
ls_load_mode, ls_edi_option, 3, lds_loanapprvdet.describe("datawindow.syntax") &
+ '~r' + lds_loanapprvdet.describe("datawindow.syntax.data"),lds_loanadj.describe("datawindow.syntax") &
+ '~r' + lds_loanadj.describe("datawindow.syntax.data"), '', '', '', '')
}*/
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public String gbfInstCreate(String asLoanNo,Connection conn) throws ITMException
{
String lsErrcode = "", lsEmpCode = "", lsScheme = "", lsAdcodeDedn = "",todayDate = "";
double lcDiffAmt = 0.00, lcInstAmt = 0.00, lcLoanAmt = 0.00;
Timestamp reqDate = null, ldDate = null, reqDate1 = null, mToday = null, ldStart = null;
int liTerm = 0,lcNum = 0,cnt = 0;
SimpleDateFormat sdf = null;
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("***********Inside gbfInstCreate Method**************");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
mToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("mToday::: "+ mToday);
do
{
sql = "select start_reco, emp_code, loan_amt, mon_inst, term, scheme_no from loans where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, asLoanNo);
rs = pstmt.executeQuery();
if(rs.next())
{
ldStart = rs.getTimestamp("start_reco");
lsEmpCode = checkNull(rs.getString("emp_code"));
lcLoanAmt = rs.getDouble("loan_amt");
lcInstAmt = rs.getDouble("mon_inst");
liTerm = rs.getInt("term");
lsScheme = checkNull(rs.getString("scheme_no"));
}
close(pstmt, rs);
sql = "select ad_code__ded from loan_scheme where scheme_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsScheme);
rs = pstmt.executeQuery();
if(rs.next())
{
lsAdcodeDedn = checkNull(rs.getString("ad_code__ded"));
}
close(pstmt, rs);
if(liTerm > 1)
{
reqDate = utilMethod.AddMonths(ldStart, liTerm - 1);
reqDate = gfLastDate(reqDate);
}
else
{
reqDate = gfLastDate(ldStart);
}
ldDate = reqDate;
System.out.println("ldDate::[" + ldDate + "]");
sql = "select count(*) as count from allowdedn_bal where emp_code = ? "+
" and ad_code = ? and start_date = ? and end_date = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmpCode);
pstmt.setString(2, lsAdcodeDedn);
pstmt.setTimestamp(3, ldStart);
pstmt.setTimestamp(4, ldDate);
rs = pstmt.executeQuery();
if(rs.next())
{
lcNum = rs.getInt("count");
}
close(pstmt, rs);
if(lcNum == 0)
{
sql = "Insert into allowdedn_bal (emp_code, ad_code, start_date, end_date, amount, amt_adj,"+
"amt_bal, chg_date, chg_user, chg_term,ref_type,ref_no) values (?, ?,"+
" ?, ?, ?, 0, ?, ?, ?, ?,'L',?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsEmpCode);
pstmt.setString(2, lsAdcodeDedn);
pstmt.setTimestamp(3, ldStart);
pstmt.setTimestamp(4, ldDate);
pstmt.setDouble(5, lcLoanAmt);
pstmt.setDouble(6, lcLoanAmt);
pstmt.setTimestamp(7, mToday);
pstmt.setString(8, userId);
pstmt.setString(9, termId);
pstmt.setString(10, asLoanNo);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTLNFND", userId, "", conn);
break;
}
break;
}
while(true);
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public String gbfPayrVouch(HashMap astrVouchDataMap,String xtraParams,Connection conn) throws ITMException
{
String mTranId = "", mTranType = "", mEmpCode = "", mRefNo = "", mBankCode = "", mAutoPay = "", mSiteCode = "",
mFinEntity = "", mAnalCode = "", mConfirmed = "", mPaid = "", mAcctCodePay = "", mCctrCodePay = "", lsSite = "",
lsSiteAc = "", mPayMode = "", mLineNo = "", mAcctCode = "", mCctrCode = "", mAdCode = "", mCurrCode = "",
mKeyStr = "", lsRemarks = "", lsAutoPost = "", lsErrcode = "", lsBatchNo = "", lsLedgPostConf = "";
Timestamp mTranDate = null, mEffDate = null, mRefDate = null, mChgDate = null, ldToday = null;
double mtotAmt = 0.00, mtotAmtBc = 0.00, lcExch = 0.00;
int mRetVal = 0,cnt = 0,detcnt = 0;
String TranDateStr = "";
String todayDate = "";
String lsGrade = "" ,lsCadre = "";
String lsEmpSite = "" , lsWorkSite = "" , lsPaySite = "";
String sql = "";
PreparedStatement pstmt = null;
ResultSet rs = null;
SimpleDateFormat sdf = null;
try
{
System.out.println("*************Inside gbfPayrVouch Method*******************");
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
ldToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("ldToday::: "+ ldToday);
mEmpCode = (String) astrVouchDataMap.get("svar3");
mSiteCode = (String) astrVouchDataMap.get("svar6");
mTranDate = (Timestamp) astrVouchDataMap.get("dVar2");
sql = "select grade, cadre, emp_site, work_site, pay_site from employee where emp_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mEmpCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsGrade = checkNull(rs.getString("grade"));
lsCadre = checkNull(rs.getString("cadre"));
lsEmpSite = checkNull(rs.getString("emp_site"));
lsWorkSite = checkNull(rs.getString("work_site"));
lsPaySite = checkNull(rs.getString("pay_site"));
}
close(pstmt, rs);
lsAutoPost = checkNull(admCommon.getAdmEnv(mSiteCode , lsCadre , lsGrade , "AUTO_POST" , mTranDate , conn));
if("NULLFOUND".equalsIgnoreCase(lsAutoPost))
{
lsAutoPost = checkNull(admCommon.getEnv("999999","AUTO_POST", conn));
if("NULLFOUND".equalsIgnoreCase(lsAutoPost))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VSENVAR1", userId, "", conn);
return lsErrcode;
}
}
// VARIABLE INITIALISATION
mTranDate = ldToday;
mTranType = " ";
mEffDate = null;
mEmpCode = " ";
mRefNo = " ";
mRefDate = null;
mBankCode = " ";
mAutoPay = "Y";
mSiteCode = " ";
mFinEntity = " ";
mtotAmt = 0.00 ;
mAnalCode = null;
mConfirmed = "N";
mPaid = "N";
mAcctCodePay = " ";
mCctrCodePay = " ";
mLineNo = " 1";
mAcctCode = " ";
mCctrCode = " ";
mAdCode = " ";
mChgDate = ldToday;
// END OF VARIABLE INITIALISATION
sql = "select key_string from transetup where upper(tran_window) = 'W_PAYR_VOUCHER'";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if(rs.next())
{
mKeyStr = checkNull(rs.getString("key_string"));
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTSEQ", userId, "", conn);
return lsErrcode;
}
close(pstmt, rs);
/*if itm_structure.fin_comp > 0 then
itm_app_server[itm_structure.fin_comp].createinstance(nvo_payr_voucher)
else
nvo_payr_voucher = create nvo_business_object_payr_voucher
end if*/
mTranDate = (Timestamp) astrVouchDataMap.get("dVar2");
mTranType = "LN";
mEffDate = (Timestamp) astrVouchDataMap.get("dVar6");
mEmpCode = (String) astrVouchDataMap.get("svar3");
mRefNo = (String) astrVouchDataMap.get("svar4");
mRefDate = (Timestamp) astrVouchDataMap.get("dVar2");
mBankCode = (String) astrVouchDataMap.get("svar5");
mSiteCode = (String) astrVouchDataMap.get("svar6");
mFinEntity = (String) astrVouchDataMap.get("svar7");
mtotAmt = (Double) astrVouchDataMap.get("nvar1");
mConfirmed = "N";
mPaid = "N";
mAcctCodePay = (String) astrVouchDataMap.get("svar9");
mCctrCodePay = (String) astrVouchDataMap.get("svar10");
mLineNo = " 1";
mAcctCode = (String) astrVouchDataMap.get("svar11");
mCctrCode = (String) astrVouchDataMap.get("svar12");
mAdCode = (String) astrVouchDataMap.get("svar13");
mPayMode = (String) astrVouchDataMap.get("svar14");
lsRemarks = (String) astrVouchDataMap.get("svar15");
lsBatchNo = (String) astrVouchDataMap.get("svar4");
sql = "select site_code__acct from site where site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mSiteCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lsSiteAc = checkNull(rs.getString("site_code__acct"));
}
close(pstmt, rs);
TranDateStr = checkNull(genericUtility.getValidDateTimeString(mTranDate, genericUtility.getApplDateFormat()));
String xmlValues = "";
xmlValues = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "<site_code>" + lsSiteAc + "</site_code>";
xmlValues = xmlValues + "<pay_site>" + lsPaySite + "</pay_site>";
xmlValues = xmlValues + "<emp_site>" + lsEmpSite + "</emp_site>";
xmlValues = xmlValues + "<work_site>" + lsWorkSite + "</work_site>";
xmlValues = xmlValues + "<tran_date>" + TranDateStr + "</tran_date>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :[" + xmlValues + "]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", CommonConstants.DB_NAME);
mTranId = tg.generateTranSeqID("P-VOUC", "tran_id", mKeyStr, conn);
tg = null;
System.out.println("Generated Tran ID for Loan Opening PAYR_VOUCHER::[" + mTranId + "]");
if("ERROR".equalsIgnoreCase(mTranId))
{
lsErrcode = itmDBAccessEJB.getErrorString("","VTTRANID", userId, "", conn);
return lsErrcode;
}
sql = "SELECT finent.curr_code as currCode FROM finent, site "+
" WHERE site.fin_entity = finent.fin_entity and site.site_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsSiteAc);
rs = pstmt.executeQuery();
if(rs.next())
{
mCurrCode = checkNull(rs.getString("currCode"));
}
close(pstmt, rs);
sql = "select std_exrt from currency where curr_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mCurrCode);
rs = pstmt.executeQuery();
if(rs.next())
{
lcExch = rs.getDouble("std_exrt");
}
close(pstmt, rs);
mtotAmtBc = mtotAmt * lcExch;
sql = "insert into payr_voucher (tran_id, tran_date, tran_type, eff_date,"+
"emp_code, ref_no, ref_date, bank_code, auto_pay, pay_mode,"+
"chg_date, chg_user, chg_term, site_code, fin_entity,"+
"anal_code, confirmed, acct_code__pay, cctr_code__pay,"+
"tot_amt, tot_amt__bc, exch_rate, curr_code, entry_batch_no, vouch_type, remarks) "+
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'O', ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mTranId);
pstmt.setTimestamp(2, mTranDate);
pstmt.setString(3, mTranType);
pstmt.setTimestamp(4, mEffDate);
pstmt.setString(5, mEmpCode);
pstmt.setString(6, mRefNo);
pstmt.setTimestamp(7, mRefDate);
pstmt.setString(8, mBankCode);
pstmt.setString(9, mAutoPay);
pstmt.setString(10, mPayMode);
pstmt.setTimestamp(11, mChgDate);
pstmt.setString(12, userId);
pstmt.setString(13, termId);
pstmt.setString(14, lsSiteAc);
pstmt.setString(15, mFinEntity);
pstmt.setString(16, mAnalCode);
pstmt.setString(17, mConfirmed);
pstmt.setString(18, mAcctCodePay);
pstmt.setString(19, mCctrCodePay);
pstmt.setDouble(20, mtotAmt);
pstmt.setDouble(21, mtotAmtBc);
pstmt.setDouble(22, lcExch);
pstmt.setString(23, mCurrCode);
pstmt.setString(24, lsBatchNo);
pstmt.setString(25, lsRemarks);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(cnt == 1)
{
sql = "insert into payr_vouchdet (tran_id, line_no, acct_code, cctr_code, amount, ad_code) " +
" values (?, ?, ?, ?, ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, mTranId);
pstmt.setString(2, mLineNo);
pstmt.setString(3, mAcctCode);
pstmt.setString(4, mCctrCode);
pstmt.setDouble(5, mtotAmt);
pstmt.setString(6, mAdCode);
detcnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
if((lsErrcode == null || lsErrcode.trim().length() == 0) && "Y".equalsIgnoreCase(lsAutoPost))
{
//lsErrcode = nvo_payr_voucher.gbf_retrieve_payr_vou(mtranid, mtranid, 1, mtrantype, mtrantype, ls_batchno,ls_siteac)
lsErrcode = checkNull(PayrollVoucherConf.confirm(mTranId, xtraParams, conn));
}
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
public Timestamp gfLastDate(Timestamp mdate) throws ITMException
{
Timestamp retDate = null;
java.util.Date nDate = null;
SimpleDateFormat sdf = null;
try
{
System.out.println("*************Inside gfLastDate Method*******************");
sdf = new SimpleDateFormat("dd/mm/yyyy");
String formatDate = sdf.format(mdate);
System.out.println("formatDate:::[" + formatDate +"]");
if(mdate == null || ("01/01/1900".equalsIgnoreCase(formatDate)))
{
return mdate;
}
nDate = utilMethod.date(utilMethod.year(mdate), utilMethod.month(mdate), 01);
//nDate = utilMethod.year(utilMethod.date(mdate)), utilMethod.month(mdate)), 01);
nDate = utilMethod.RelativeDate(nDate, 31);
System.out.println("nDate ::[" + nDate + "]" );
do
{
if(utilMethod.month(nDate) == utilMethod.month(mdate))
{
break;
}
nDate = utilMethod.RelativeDate(nDate, -1);
System.out.println("nDate ::[" + nDate + "]" );
}
while(true);
retDate = new Timestamp(nDate.getTime());
System.out.println("retDate::[" + retDate + "]");
}
catch (Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
return retDate;
}
private void close(PreparedStatement pstmt, ResultSet rs) throws SQLException
{
if(rs != null)
......
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.adm.AdmCommon;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.sys.UtilMethods;
import ibase.webitm.utility.ITMException;
public class LoanScheduleConf extends ActionHandlerEJB implements LoanScheduleConfLocal, LoanScheduleConfRemote
{
E12GenericUtility genericUtility = new E12GenericUtility();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
AdmCommon admCommon = new AdmCommon();
FinCommon finCommon = new FinCommon();
UtilMethods utilMethod = new UtilMethods();
PayrollVoucherConf PayrollVoucherConf = new PayrollVoucherConf();
LoanChk loanChk = new LoanChk();
String userId = "",loginEmpCode = "",runMode = "",termId = "";
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
String retString = null;
Connection conn = null;
try
{
conn = getConnection();
System.out.println("Conn==>[" + conn + "]");
retString = gbfPostLogic(tranId, tranId,xtraParams,forcedFlag,conn);
System.out.println("returning String from LoanScheduleConf :confirm():==>[" + retString + "]");
if(retString == null || retString.trim().length() == 0)
{
conn.commit();
}
else
{
conn.rollback();
}
}
catch(Exception e)
{
System.out.println("Exception :LoanScheduleConf :confirm() :" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(conn != null)
{
conn.close();
conn = null;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
return retString;
}
public String gbfPostLogic(String asTranidFr,String asTranidTo,String xtraParams,String forcedFlag,Connection conn) throws ITMException
{
String lsTranid = "",lsErrcode = "",lsStatus = "",lsLoanentryWindow = "";
String lsnull = null;
int liCount = 0,liLoanTerm = 0,cnt = 0;
double lcInstAmt = 0.00;
String todayDate = "";
Timestamp ldToday = null;
String sql = "";
SimpleDateFormat sdf = new SimpleDateFormat();
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
System.out.println("***********Inside LoanScheduleConf Post Logic Method**************");
userId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode"));
loginEmpCode = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginEmpCode"));
termId = checkNull(genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId"));
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
todayDate = sdf.format(new java.util.Date());
System.out.println("todayDate::: "+ todayDate);
ldToday = Timestamp.valueOf(genericUtility.getValidDateString(todayDate, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat()) + " 00:00:00.0");
System.out.println("ldToday::: "+ ldToday);
if(asTranidFr.equalsIgnoreCase(asTranidTo))
{
lsTranid = asTranidFr;
sql = "select mon_inst, act_term, status, loanentry_window from loans where loan_no = ? " ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
lcInstAmt = rs.getDouble("mon_inst");
liLoanTerm = rs.getInt("act_term");
lsStatus = checkNull(rs.getString("status"));
lsLoanentryWindow = checkNull(rs.getString("loanentry_window"));
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTMCONF20", userId, "", conn);
return lsErrcode;
}
close(pstmt, rs);
if(lsLoanentryWindow == null)
{
lsLoanentryWindow = "S";
}
if(!("S".equalsIgnoreCase(lsLoanentryWindow)))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTLNENTRY", userId, "", conn);
return lsErrcode;
}
else if("U".equalsIgnoreCase(lsStatus))
{
sql = "select count(*) as count from loans_schedule where loan_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsTranid);
rs = pstmt.executeQuery();
if(rs.next())
{
liCount = rs.getInt("count");
}
close(pstmt, rs);
if(liCount == 0)
{
sql = "insert into loans_schedule (loan_no, line_no, no_inst, amount, no_inst_ded ,chg_user,chg_date,chg_term)"+
"VALUES ( ?, 1, ?, ?, 0 ,? , ?, ?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsTranid);
pstmt.setString(2, lsnull);
pstmt.setDouble(3, lcInstAmt);
pstmt.setString(4, userId);
pstmt.setTimestamp(5, ldToday);
pstmt.setString(6, termId);
cnt = pstmt.executeUpdate();
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(cnt > 0)
{
System.out.println("*****Successfully inserted row into loans_schedule****** ");
}
}
lsErrcode = checkNull(loanChk.gbfLoanApprove(lsTranid, 2, "N",xtraParams,conn));
System.out.println("lsErrcode coming from gbfLoanApprove Method :::==>[" + lsErrcode + "]" );
}
else if("X".equalsIgnoreCase(lsStatus))
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTEMPLN01", userId, "", conn);
return lsErrcode;
}
else
{
lsErrcode = itmDBAccessEJB.getErrorString("", "VTMAPRV1", userId, "", conn);
return lsErrcode;
}
}
}
catch (Exception e)
{
e.printStackTrace();
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 lsErrcode;
}
private void close(PreparedStatement pstmt, ResultSet rs) throws SQLException
{
if(rs != null)
{
rs.close();
rs = null;
}
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
private String checkNull(String input)
{
if (input == null)
{
input = "";
}
else
{
input = input.trim();
}
return input;
}
}
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Local;
import ibase.webitm.utility.ITMException;
@Local
public interface LoanScheduleConfLocal
{
public String confirm(String tranId, String xtraParams, String forcedFlag)throws RemoteException,ITMException;
public String gbfPostLogic(String asTranidFr,String asTranidTo, String xtraParams,String forcedFlag,Connection conn) throws ITMException;
}
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.Connection;
import javax.ejb.Remote;
import ibase.webitm.utility.ITMException;
@Remote
public interface LoanScheduleConfRemote
{
public String confirm(String tranId, String xtraParams, String forcedFlag)throws RemoteException,ITMException;
public String gbfPostLogic(String asTranidFr,String asTranidTo, String xtraParams,String forcedFlag,Connection conn) throws ITMException;
}
......@@ -8,15 +8,19 @@
package ibase.webitm.ejb.adm.adv;
import java.rmi.RemoteException;
import java.sql.*;
import javax.ejb.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import ibase.webitm.utility.GenericUtility;
import javax.ejb.Stateless; // added for ejb3
import ibase.system.config.ConnDriver;
import ibase.utility.E12GenericUtility;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.utility.ITMException;
@Stateless // added for ejb3
public class LoanscheduleCnc extends ActionHandlerEJB implements LoanscheduleCncLocal,LoanscheduleCncRemote // SessionBean
......@@ -46,7 +50,10 @@ public class LoanscheduleCnc extends ActionHandlerEJB implements LoanscheduleCnc
{
String retString = null;
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Azhar K. on[08-July-2019][Changes made as per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
//Modified by Azhar K. on[08-July-2019][Changes made as per new framework][End]
try
{
retString = actionCancel(loanNo, xtraParams, forcedFlag);
......@@ -71,11 +78,16 @@ public class LoanscheduleCnc extends ActionHandlerEJB implements LoanscheduleCnc
ResultSet rs = null;
ConnDriver connDriver = new ConnDriver();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Azhar K. on[08-July-2019][Changes made as per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
//Modified by Azhar K. on[08-July-2019][Changes made as per new framework][End]
int cnt = 0;
try
{
conn = connDriver.getConnectDB("DriverITM");
{ //Modified by Azhar K. on[08-July-2019][Changes made as per new framework][Start]
//conn = connDriver.getConnectDB("DriverITM");
conn = getConnection();
//Modified by Azhar K. on[08-July-2019][Changes made as per new framework][End]
stmt = conn.createStatement();
System.out.println("########### Inside LoanscheduleCncEJB[actionCancel] ###########");
......
......@@ -8,6 +8,8 @@ import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.*;
import ibase.system.config.*;
import ibase.utility.E12GenericUtility;
import javax.ejb.Stateless; // added for ejb3
// 05/05/10 manoharan
import java.text.SimpleDateFormat;
......@@ -63,7 +65,10 @@ public class LoanscheduleStDedn extends ActionHandlerEJB implements Loanschedule
String sql = "", loginEmpCode = "", start = "", status = "", errString = "";
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
ConnDriver connDriver = new ConnDriver();
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][End]
String winName = "w_start_dedn_load", errCode = "";
try
{
......@@ -162,7 +167,10 @@ public class LoanscheduleStDedn extends ActionHandlerEJB implements Loanschedule
ResultSet rs = null;
PreparedStatement pstmt = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][End]
String dateInterest = "", errCode = "";
String sql = "", empCode = "", period = "", retDate1 = "";
java.util.Date toDate = null, retDate = null, frDate = null, startReco = null, issueDate2 = null;
......@@ -422,7 +430,10 @@ public class LoanscheduleStDedn extends ActionHandlerEJB implements Loanschedule
PreparedStatement pstmt = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
ConnDriver connDriver = new ConnDriver();
GenericUtility genericUtility = GenericUtility.getInstance();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][Start]
//GenericUtility genericUtility = GenericUtility.getInstance();
E12GenericUtility genericUtility = new E12GenericUtility();
//Modified by Azhar K. on [09-07-2019][changes As per new framework][End]
String empCode = "", schemeNo = "", adCodeDed = "", errCode = "", sql = "";
double loanAmt = 0, monInst = 0;
int term = 0, count = 0, insertCnt = 0;
......
-----------------------------For Transetup------------------------------------------------
Insert into transetup (TRAN_WINDOW,SAVE_FLAG,VAL_FLAG,KEY_FLAG,KEY_STRING,UDF_1,UDF_2,UDF_3,UDF_4,UDF_5,REPEATE_ADD,CHG_DATE,CHG_USER,CHG_TERM,EDI_OPTION,SITE_ACC_COL,CONFIRM_COL,CONFIRM_VAL,REPEAT_ADD_DET,REPEATADDDET,LOAD_MODE,AUTO_CONFIRM,LEDG_POST_CONF,CHG_DATE_ON_CONF,TRAN_ID_COL,MAIL_OPTION,CONFIRM_MODE,GARBAGE_OPT,VAL_FLAG_EDI,VERIFY_PASSWORD,CUST_ACC_COL,SALES_PERS_ACC_COL,SUPP_ACC_COL,ITEM_SER_ACC_CODE,EMP_ACC_COL,ITEM_SER_ACC_COL,WORKFLOW_OPT,TABLE_NAME,APPLICATION,TABLE_DESC,TRAN_DATE_COL,TRAN_ID__FROM,TRAN_ID__TO,TABLE_NAME_DET1,TABLE_NAME_DET2,TABLE_NAME_DET3,MULTITIRE_OPT,REF_SER,VIEW_MODE,TAX_FORMS,SIGN_STATUS,USER_TRAN_WINDOW,CUSTOM_PREVIEW_OBJ,IGNOREERRLIST_ONLOAD,CHILDDATA_ARGOPT,EDIT_TMPLT,WRKFLW_INIT,EDITTAX,FORMAL_ARGS,AUDIT_TRAIL_OPT,EDIT_OPT,CACHE_OPT,OPTIMIZE_MODE,EDIT_EXPR,RATE_COL,QTY_COL,EDIT_EXPR_INP,RCP_CACHE_STATUS,PRINT_CONTROL,TRANSFER_MODE,PROFILE_ID__RES,TRAN_COMPL_MSG,PERIOD_OPTION,WRKFLW_PRIORITY,EXEC_TYPE,DISP_META_DATA,ALLOW_ATTACH,START_FORM,ISATTACHMENT,HEADER_FORM_NO,CONFIRM_DATE_COL,CONFIRM_BY_COL,MSG_ONSAVE,WF_STATUS,RESTART_FORM,CMS_PATH,BROW_DATA_DEF,DEF_VIEW,VIEW_OPTS,ISGWTINITIATED,DEFAULT_DATA_ROW,IN_WF_VAL,IN_WF_COL,CANCEL_VAL,CANCEL_COL,THUMB_ALT_COL,THUMB_IMAGE_COL,THUMB_OBJ,ATTACH_COUNT_MIN,FUNCTION_TYPE,COMPL_ACTION,DEFAULT_EDITOR,MSG_NO,OBJ_TYPE,STATUS_COL,ENABLE_EDITOR,OFFLINE_OPT,CLOSE_COL,CLOSE_VAL) values ('w_loanschedule','2','2','A','_sppay_site,EL,_ppissue_date,seq04',null,null,null,null,null,'N',to_timestamp('02-APR-01','DD-MON-RR HH.MI.SSXFF AM'),'SUN ','PINAKIN1 ','0','EMPLOYEE.PAY_SITE','status','A','Y',null,null,null,'N','N','deptNo','0','0','N',null,null,null,null,null,null,null,null,'0','LOANS','ADM',null,null,null,null,null,null,null,null,'E-LOAN','F',null,null,null,null,null,null,null,null,null,null,'0','3',null,null,'or loans.status in (''R'',''E'',''X'')',null,null,null,null,null,null,null,null,'W',null,null,null,null,null,null,null,null,null,null,null,null,null,'Y',null,null,null,null,null,null,null,null,null,null,null,null,null,null,'compact',null,'O',null,'C',null,null,null);
update transetup set tran_id_col = 'loan_no' where tran_window in ('w_loan_opening','w_loanschedule');
------------------------For Itm2Menu---------------------------------------------------------
Insert into itm2menu (APPLICATION,LEVEL_1,LEVEL_2,LEVEL_3,LEVEL_4,LEVEL_5,WIN_NAME,DESCR,COMMENTS,MENU_PATH,ICON_PATH,CLOSE_ICON,OPEN_ICON,OBJ_TYPE,CHG_DATE,CHG_TERM,CHG_USER,MOB_DEPLOY,DEFAULT_STATE,DEF_ACTION,MOB_DEPLY,ENT_TYPES) values ('ADH',3,12,5,0,0,'w_loanschedule','Loans With Schedule','Loans With Schedule','ADH.3.12.5.0.0','loanschedule.png','loanschedulewht.png',null,'T',null,null,null,'B',null,null,null,'0 ');
-------------------------------For ObjForms---------------------------------------------------
Insert into obj_forms (WIN_NAME,TITLE,OBJ_BROW_NAME,OBJ_EDIT_NAME,CROSS_UPDATE_EXPR,EXPR_FLD_INFO,TARGET_FLD_INFO,EXPR_COMMENT,FORM_NO,SCR_FLAG,AUTO_ACCEPT_SCAN,SCAN_FLAG,SCAN_METADATA,PROPERTY_INFO,SCAN_DELIMITER,COLUMN_ON_SAVE,AFTER_SAVE,EXT_SETUP,EXT_METADATA,EXT_COM,AUTO_ACCEPT_WEIGHDATA,FORM_TYPE,DISP_METADATA,PARENT_KEY_COL,QTY_COL,RATE_COL,ASSISTED_MODE,STORAGE_KEY_METADATA,SELECTION_MODE,DEFAULT_VIEW,AUTO_ADDON_ENTRY,DUPLICATE_ADD,DEFAULT_ROW_CNT,FREEZE_COL_POS,IS_MANDATORY,TRAN_ID_COL,SELECTION_OPT,KEY_INFO,THUMB_OBJ,THUMB_IMAGE_COL,THUMB_ALT_COL,FORM_NAME,FORM_ICON,FORM_VIEW_OPTS,X_COLUMN,Y_COLUMN,ACTION_ARG) values ('w_loanschedule','Loans','d_loan_brow','d_loan_edit',null,null,null,null,'1','F',null,null,null,null,null,null,null,null,null,null,null,null,'<html>
<b style="white-space: normal !important; word-break: break-word;">{employee_emp_fname} {employee_emp_lname} <span class = "optional">[{emp_code}]</span></b>
<span style="float:right;"> <b>{loans_issue_date} </b></span>
<br><b style="white-space: normal !important; word-break: break-word;">{loan_scheme_descr} <span class = "optional">[{loans_scheme_no}]</span> for Amount: {loan_amt} @ {loans_interest} % - Status: {status}</b>
<span style="float:right;"> <b>{loan_no} </b></span>
</html>',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,'EmpImages','emp_code','employee_emp_fname',null,'DetailForm.png',null,null,null,null);
Insert into obj_forms (WIN_NAME,TITLE,OBJ_BROW_NAME,OBJ_EDIT_NAME,CROSS_UPDATE_EXPR,EXPR_FLD_INFO,TARGET_FLD_INFO,EXPR_COMMENT,FORM_NO,SCR_FLAG,AUTO_ACCEPT_SCAN,SCAN_FLAG,SCAN_METADATA,PROPERTY_INFO,SCAN_DELIMITER,COLUMN_ON_SAVE,AFTER_SAVE,EXT_SETUP,EXT_METADATA,EXT_COM,AUTO_ACCEPT_WEIGHDATA,FORM_TYPE,DISP_METADATA,PARENT_KEY_COL,QTY_COL,RATE_COL,ASSISTED_MODE,STORAGE_KEY_METADATA,SELECTION_MODE,DEFAULT_VIEW,AUTO_ADDON_ENTRY,DUPLICATE_ADD,DEFAULT_ROW_CNT,FREEZE_COL_POS,IS_MANDATORY,TRAN_ID_COL,SELECTION_OPT,KEY_INFO,THUMB_OBJ,THUMB_IMAGE_COL,THUMB_ALT_COL,FORM_NAME,FORM_ICON,FORM_VIEW_OPTS,X_COLUMN,Y_COLUMN,ACTION_ARG) values ('w_loanschedule','Schedule','d_loandtl_brow','d_loandtl_new_edit',null,null,null,null,'2','T',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,'DetailForm.png',null,null,null,null);
Insert into obj_forms (WIN_NAME,TITLE,OBJ_BROW_NAME,OBJ_EDIT_NAME,CROSS_UPDATE_EXPR,EXPR_FLD_INFO,TARGET_FLD_INFO,EXPR_COMMENT,FORM_NO,SCR_FLAG,AUTO_ACCEPT_SCAN,SCAN_FLAG,SCAN_METADATA,PROPERTY_INFO,SCAN_DELIMITER,COLUMN_ON_SAVE,AFTER_SAVE,EXT_SETUP,EXT_METADATA,EXT_COM,AUTO_ACCEPT_WEIGHDATA,FORM_TYPE,DISP_METADATA,PARENT_KEY_COL,QTY_COL,RATE_COL,ASSISTED_MODE,STORAGE_KEY_METADATA,SELECTION_MODE,DEFAULT_VIEW,AUTO_ADDON_ENTRY,DUPLICATE_ADD,DEFAULT_ROW_CNT,FREEZE_COL_POS,IS_MANDATORY,TRAN_ID_COL,SELECTION_OPT,KEY_INFO,THUMB_OBJ,THUMB_IMAGE_COL,THUMB_ALT_COL,FORM_NAME,FORM_ICON,FORM_VIEW_OPTS,X_COLUMN,Y_COLUMN,ACTION_ARG) values ('w_loanschedule','Adjustment','d_loan_ad_adj_brow','d_loan_ad_adj_edit',null,null,null,null,'3','T',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,'DetailForm.png',null,null,null,null);
------------------------------------------For obj_itemchange-------------------------------------------------
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','act_term','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','adj_perc','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','adjustable','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','all_months','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','bank_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','emp_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','emp_code__appr','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','issue_date','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','itm_default','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','itm_defaultedit','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','loan_amt','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','mon_inst','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','sanction_no','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','scheme_no','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','1 ','interest','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','2 ','ad_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','2 ','prd_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','2 ','itm_default','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','2 ','amount','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','3 ','ad_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','3 ','prd_code','Y');
Insert into OBJ_ITEMCHANGE (OBJ_NAME,FORM_NO,FIELD_NAME,MANDATORY) values ('loanschedule','3 ','itm_default','Y');
-------------------------------------For system_events start---------------------------------------------------------------------------------
------------------------For JBoss-------------------------------------------------------------
update system_events set service_code='poic_default_ejb',comp_type='EJB', comp_name='LoanScheduleIC' where obj_name='loanschedule' and event_code='post_item_change';
update system_events set service_code='prv_default_ejb',comp_type='EJB', comp_name='LoanScheduleIC' where obj_name='loanschedule' and event_code='pre_validate';
update system_events set service_code='prcm_default_ejb',comp_type='EJB', comp_name='LoanScheduleConf' where obj_name='loanschedule' and event_code='pre_confirm';
--------------------------------For WildFly14--------------------------------------------------------------
update system_events set service_code='poic_default_ejb',comp_type='JB', comp_name='ibase.webitm.ejb.adm.LoanScheduleIC' where obj_name='loanschedule' and event_code='post_item_change';
update system_events set service_code='prv_default_ejb',comp_type='JB', comp_name='ibase.webitm.ejb.adm.LoanScheduleIC' where obj_name='loanschedule' and event_code='pre_validate';
update system_events set service_code='prcm_default_ejb',comp_type='JB', comp_name='ibase.webitm.ejb.adm.adv.LoanScheduleConf'
where obj_name='loanschedule' and event_code='pre_confirm';
---------------------------------------------------system_events end-------------------------------------------------------------------------
-----------------------------------------------------For system_event_services--------------------------------------------------------------------
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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('poic_default_ejb','itemchanged','http://localhost:9090/axis/services/ValidatorService',null,'itemChanged','String','S',null,null,to_timestamp('22-MAR-19','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE',null,null,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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('prcm_default_ejb','Action To confirm indent requisition','http://localhost:9090/axis/services/ActionHandlerService','Base','confirm','String','S',null,null,to_timestamp('24-JAN-18','DD-MON-RR HH.MI.SSXFF AM'),'base ','base',null,null,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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('prv_default_ejb','prv_default_ejb','http://localhost:9090/axis/services/ValidatorService',null,'wfValData','String','S',null,null,to_timestamp('22-MAR-19','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE',null,null,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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('acancel_loanschedule','Action For Cancel','http://localhost:9090/axis/services/ActionHandlerService','Base Information','actionHandler','String','S',null,null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE91',null,null,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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('astartdedn_loanschedule','Action To Start a Deduction','http://localhost:9090/axis/services/ActionHandlerService','Base Information','actionHandler','String','S',null,null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE91',null,null,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,SERVICE_NAMESPACE,RES_ELEM,SOAP_ACTION) values ('post_gen_val','validation','http://localhost:9090/axis/services/ValidatorService','BASE iformation','wfValData','String','S',null,null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','VAIBHAV',null,null,null);
------------------------------------------------For system_service_args-----------------------------------------------------------------------
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 ('poic_default_ejb',1,'COMPONENT_TYPE','I',null,'S',null,null,null,null,'JB');
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 ('poic_default_ejb',2,'COMPONENT_NAME','I',null,'S',null,null,null,null,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 ('poic_default_ejb',3,'XML_DATA','I',null,'S',null,null,null,null,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 ('poic_default_ejb',4,'XML_DATA_1','I',null,'S',null,null,null,null,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 ('poic_default_ejb',5,'XML_DATA_ALL','I',null,'S',null,null,null,null,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 ('poic_default_ejb',6,'OBJ_CONTEXT','I',null,'S',null,null,null,null,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 ('poic_default_ejb',7,'FOCUSED_COLUMN','I',null,'S',null,null,null,null,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 ('poic_default_ejb',8,'EDIT_FLAG','I',null,'S',null,null,null,null,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 ('poic_default_ejb',9,'XTRA_PARAMS','I',null,'S',null,null,null,null,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 ('prcm_default_ejb',1,'COMPONENT_TYPE','I','Component Type','S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE','JB');
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 ('prcm_default_ejb',2,'COMPONENT_NAME','I','Component Name','S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE','ibase.webitm.ejb.mfg.adv.QCPassed');
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 ('prcm_default_ejb',3,'<tran_id>','I','tranid','B.String',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'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 ('prcm_default_ejb',4,'XTRA_PARAMS','I','Extra Arguments','S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'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 ('prcm_default_ejb',5,'FORCED_FLAG','I','Forced Flag','S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'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 ('prv_default_ejb',1,'COMPONENT_TYPE','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar','JB');
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 ('prv_default_ejb',2,'COMPONENT_NAME','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar','ibase.webitm.ejb.dis.Es3HDataIC');
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 ('prv_default_ejb',3,'XML_DATA','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('prv_default_ejb',4,'XML_DATA_1','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('prv_default_ejb',5,'XML_DATA_ALL','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('prv_default_ejb',6,'OBJ_CONTEXT','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('prv_default_ejb',7,'EDIT_FLAG','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('prv_default_ejb',8,'XTRA_PARAMS','I',null,'S',null,to_timestamp('01-JUN-12','DD-MON-RR HH.MI.SSXFF AM'),'Manohar ','Manohar',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 ('acancel_loanschedule',1,'COMPONENT_TYPE','I','Component Type','C.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212','JB');
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 ('acancel_loanschedule',2,'COMPONENT_NAME','I','Component Name','C.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212','ibase.webitm.ejb.adm.adv.LoanscheduleCnc');
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 ('acancel_loanschedule',3,'<loan_no>','I','loanNo','B.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',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 ('acancel_loanschedule',4,'XTRA_PARAMS','I','Extra Arguments','S',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',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 ('acancel_loanschedule',5,'FORCED_FLAG','I','Forced Flag','S',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',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 ('post_gen_val',1,'COMPONENT_TYPE','I',null,'C.String',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV','JB');
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 ('post_gen_val',2,'COMPONENT_NAME','I',null,'C.String',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV','ibase.webitm.ejb.sys.GenValidate');
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 ('post_gen_val',3,'XML_DATA','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('post_gen_val',4,'XML_DATA_ALL','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('post_gen_val',5,'XML_DATA_ALL','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('post_gen_val',6,'OBJ_CONTEXT','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('post_gen_val',7,'WIN_NAME','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('post_gen_val',8,'XTRA_PARAMS','I',null,'S',null,to_timestamp('21-MAY-16','DD-MON-RR HH.MI.SSXFF AM'),'VAIBHAV ','VAIBHAV',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 ('astartdedn_loanschedule',1,'COMPONENT_TYPE','I','Component Type','C.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212','JB');
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 ('astartdedn_loanschedule',2,'COMPONENT_NAME','I','Component Name','C.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212','ibase.webitm.ejb.adm.adv.LoanscheduleStDedn');
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 ('astartdedn_loanschedule',3,'<loan_no>','I','loanNo','B.String',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',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 ('astartdedn_loanschedule',4,'XTRA_PARAMS','I','Extra Arguments','S',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',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 ('astartdedn_loanschedule',5,'FORCED_FLAG','I','Forced Flag','S',null,to_timestamp('04-JAN-08','DD-MON-RR HH.MI.SSXFF AM'),'Rajendra ','BASE212',null);
------------------------------------------------Messages-------------------------------------------------------
Insert into MESSAGES (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,ERR_SOURCE,CHG_DATE,CHG_USER,CHG_TERM,OVERRIDE_INPUT,MAIL_OPTION) values ('VTLNSCHD05','Invalid Loan Amount','Loan Amount can not be null or empty','E','Y',null,null,null,to_date('2017-10-06','RRRR-MM-DD'),'VAIBHAV ','VAIBHAV ',null,null);
Insert into messages (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,ERR_SOURCE,CHG_DATE,CHG_USER,CHG_TERM,OVERRIDE_INPUT,MAIL_OPTION) values ('VTLNSCHD06','Invalid Data','Amount cannot be null or zero','E',null,null,null,null,to_timestamp('2019-05-04','RRRR-MM-DD HH.MI.SSXFF AM'),'E07312 ','SHITPINAKIN ',null,'0');
Insert into messages (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,ERR_SOURCE,CHG_DATE,CHG_USER,CHG_TERM,OVERRIDE_INPUT,MAIL_OPTION) values ('VTLADJP','Invalid Adjustable Perc.','Adjustable Perc cannot be less then zero or greater then 100','E',null,null,null,null,to_timestamp('2019-05-04','RRRR-MM-DD HH.MI.SSXFF AM'),'E07312 ','SHITPINAKIN ',null,'0');
update messages set msg_type='E' where msg_no='VTPRD1';
------------------------------------------------Payrparm---------------------------------------------------------------------
Insert into PAYRPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,DESCR,VAR_SUBS,CHG_DATE,CHG_USER,CHG_TERM) values ('999999','BASADLST_FOR_ACCRUAL','S','BAS,BAS',null,null,to_timestamp('08-SEP-13','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE ');
Insert into PAYRPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,DESCR,VAR_SUBS,CHG_DATE,CHG_USER,CHG_TERM) values ('999999','PRJADLST_FOR_ACCRUAL','S','HRA,MED',null,null,to_timestamp('08-SEP-13','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE ');
Insert into PAYRPARM (PRD_CODE,VAR_NAME,VAR_TYPE,VAR_VALUE,DESCR,VAR_SUBS,CHG_DATE,CHG_USER,CHG_TERM) values ('999999','PRKADLST_FOR_ACCRUAL','S','BONS,LTA',null,null,to_timestamp('08-SEP-13','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE ');
---------------------------------------Inserted/Updated for Testing purpose--------------------------------------
Insert into Loan_scheme_grade (SCHEME_NO,GRADE_CODE,NVO_NO,MIN_AMT,MAX_AMT,TERM,INT_TERM,INTEREST,CHG_DATE,CHG_USER,CHG_TERM,UDF_STR1)
values ('LN028 ','219 ',0,0,0,24,'RTY ',8,to_timestamp('25-JAN-00','DD-MON-RR HH.MI.SSXFF AM'),'BASE ','BASE ',null);
Insert into emploan_sanction (SANCTION_NO,SCHEME_NO,DATE__SANCTION,EMP_CODE,INT_TERM,INT_PERC,SANCTION_AMT,SANCTION_BAL,EMP_CODE__APRV,REMARKS,DATE__APPL,DATE__RECD,ACCRUAL_AMT,APRV_DATE,STATUS,CHG_DATE,CHG_USER,CHG_TERM,ADD_DATE,ADD_USER,ADD_TERM) values ('006LNF0001','LN028 ',sysdate,'EP001 ',null,15,15000,15000,null,null,to_timestamp('01-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('01-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),106200,to_timestamp('05-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'A',to_timestamp('05-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'SHAHS ','jbnbaseprashant',to_timestamp('05-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'SHAHS ','jbnbaseprashant');
Insert into emploan_sanction (SANCTION_NO,SCHEME_NO,DATE__SANCTION,EMP_CODE,INT_TERM,INT_PERC,SANCTION_AMT,SANCTION_BAL,EMP_CODE__APRV,REMARKS,DATE__APPL,DATE__RECD,ACCRUAL_AMT,APRV_DATE,STATUS,CHG_DATE,CHG_USER,CHG_TERM,ADD_DATE,ADD_USER,ADD_TERM) values ('006LNF0002','LN028 ',sysdate,'ES001 ',null,15,15000,10000,null,null,to_timestamp('09-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),to_timestamp('01-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),48750,to_timestamp('09-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'A',to_timestamp('09-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'SHAHS ','jbnbaseprashant',to_timestamp('09-SEP-14','DD-MON-RR HH.MI.SSXFF AM'),'SHAHS ','jbnbaseprashant');
update emploan_sanction set emp_code__aprv='EP001' where sanction_no in('006LNF0001','006LNF0002');
update emploan_sanction set int_term='RTY' where sanction_no in('006LNF0001','006LNF0002');
update loan_scheme set acct_code__pay = '10100002', cctr_code__pay = '0000' where scheme_no='LN028';
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