Commit a75d5636 authored by vdhoble's avatar vdhoble

Incorporated the validations on Submit Button for misc_pay


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98443 ce508802-f39f-4f6c-b175-0d175dae99d5
parent afde8256
...@@ -10,6 +10,8 @@ import ibase.webitm.ejb.*; ...@@ -10,6 +10,8 @@ import ibase.webitm.ejb.*;
import ibase.system.config.*; import ibase.system.config.*;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ITMDBAccessEJB; import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.fin.FinCommon;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.sql.*; import java.sql.*;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -35,14 +37,21 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca ...@@ -35,14 +37,21 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca
{ {
System.out.println("---ActionHandler---@@@@@@@@xtraParams["+xtraParams+"]@@@@@@forcedFlag["+forcedFlag+"]"); System.out.println("---ActionHandler---@@@@@@@@xtraParams["+xtraParams+"]@@@@@@forcedFlag["+forcedFlag+"]");
Connection conn = null; Connection conn = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null,pstmt1 = null;
ResultSet rs = null; ResultSet rs = null,rs1 = null;
String retString = ""; String retString = "";
String sql = ""; String sql = "",sql1 = "";
String confStatus="",wfStatus=""; String confStatus="",wfStatus="";
String currAppdate =""; /*String currAppdate ="";
String tranIdTest="",todayStr=""; String tranIdTest="",todayStr="";*/
java.sql.Timestamp datesubmit=null; java.sql.Timestamp datesubmit=null;
//added by vishakha on 03/Aug/2015 for validations on Submit button.
double totAmt = 0.0,totAmtMiscPay = 0.0,adjAmtMiscPay = 0.0,payAmt = 0.0;
boolean isError = true;
// String ignorechklimit ="",tranKeyFld = "",bankCode = "",siteCode = "",payType = "";
Timestamp tranDate = null;
String refNo = "",tranSer = "";
FinCommon fin = new FinCommon();
try try
{ {
ConnDriver connDriver = null; ConnDriver connDriver = null;
...@@ -90,7 +99,79 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca ...@@ -90,7 +99,79 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca
} }
if( "N".equalsIgnoreCase(confStatus) && "O".equalsIgnoreCase(wfStatus)) if( "N".equalsIgnoreCase(confStatus) && "O".equalsIgnoreCase(wfStatus))
{ {
//added by vishakha on 03/Aug/2015 as to incorporate the validations on submit button like those on commit button.
sql = "select sum(pay_amt) as totAmt from misc_paydet where tran_id = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if ( rs.next() )
{
totAmt = rs.getDouble("totAmt");//fetching totalAmount from details
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(totAmt < 0.0)//total amount should not be negative
{
retString = itmDBAccessLocal.getErrorString("","VTAMTMIS1","");
return retString;
}
else
{
isError = false;
}
sql1 = "select TRAN_SER,vouch_no,pay_amt from misc_paydet where tran_id = ?";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, tranId);
rs1 = pstmt1.executeQuery();
while ( rs1.next() )
{
tranSer = checkNull(rs1.getString("TRAN_SER"));
refNo = checkNull(rs1.getString("vouch_no"));
payAmt = rs1.getDouble("pay_amt");
sql = "SELECT tot_amt as tot_amt, adj_amt as adj_amt , sundry_type as sundrytype from misc_payables where tran_ser = ? and ref_no = ? for update nowait";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranSer);
pstmt.setString(2,refNo);
rs = pstmt.executeQuery();
while ( rs.next() )
{
totAmtMiscPay = rs.getDouble("tot_amt");
adjAmtMiscPay = rs.getDouble("adj_amt");
System.out.println("totAmtMiscPay ========="+ totAmtMiscPay);
System.out.println("adjAmtMiscPay ========="+ adjAmtMiscPay);
System.out.println("Pay Amount ============ "+ totAmt);
if(Math.abs(totAmtMiscPay - adjAmtMiscPay) < payAmt)//if there is no balance in misc_payables
{
retString = itmDBAccessLocal.getErrorString("","VTBAL1","");
return retString;
}
else{
isError = false;
}
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
}
pstmt1.close();
pstmt1 = null;
rs1.close();
rs1 = null;
//SQL for update the work flow status/.......... //SQL for update the work flow status/..........
if(isError == false)
{
sql = "UPDATE MISC_PAYMENT SET WF_STATUS='S',emp_code__submit=?,submit_date=? WHERE tran_id = ?"; sql = "UPDATE MISC_PAYMENT SET WF_STATUS='S',emp_code__submit=?,submit_date=? WHERE tran_id = ?";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,userId); pstmt.setString(1,userId);
...@@ -109,6 +190,10 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca ...@@ -109,6 +190,10 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca
} }
} }
} }
}
catch(Exception e) catch(Exception e)
{ {
try try
...@@ -126,6 +211,11 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca ...@@ -126,6 +211,11 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca
{ {
try try
{ {
if(pstmt1 != null)
{
pstmt1.close();
pstmt1 = null;
}
if(pstmt != null) if(pstmt != null)
{ {
pstmt.close(); pstmt.close();
...@@ -156,5 +246,105 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca ...@@ -156,5 +246,105 @@ public class MiscPaySubAct extends ActionHandlerEJB implements MiscPaySubActLoca
} }
return input; return input;
} }
} }
/********CODE COMMENTED as it only checks the balance for bank_type = 'B'*********/
/*public String getBalChk(String bankCode,String siteCode,Timestamp tranDate,double netAmt,Connection conn)throws Exception
{
System.out.println("@@@@@@getBalChk method@@@@@@@");
String errCode = "";
double bal = 0.0;
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "",bankType = "",acctprd = "";
sql = "select bank_type as ls_type from bank where bank_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,bankCode);
rs = pstmt.executeQuery();
if ( rs.next() )
{
bankType = checkNull(rs.getString("ls_type"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
sql = "select code as ls_acctprd from acctprd where ? between fr_date and to_date ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1,tranDate);
rs = pstmt.executeQuery();
if ( rs.next() )
{
acctprd = rs.getString("ls_acctprd");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(bankType == "C")
{
sql = "select sum(dr_amt - cr_amt) as lc_bal from sundrybal where acct_prd = ? and prd_code = 'zzzzzz' and site_code = ? and sundry_type = 'B' and sundry_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,acctprd);
pstmt.setString(2,siteCode);
pstmt.setString(3,bankCode);
rs = pstmt.executeQuery();
if ( rs.next() )
{
bal = rs.getDouble("lc_bal");
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
System.out.println("Value of sum(dr_amt - cr_amt)"+bal);
System.out.println("Value of net amount ==========="+netAmt);
if(netAmt > 0.0 && netAmt > bal )
{
errCode = itmDBAccessLocal.getErrorString("","VTPAYAMT","");
return errCode;
}
}
return errCode;
}
sql = "select tran_id as ls_keyfld, bank_code as ls_bank, net_amt as lc_net, site_code as ls_site, tran_date as ld_tran_date,ref_no , pay_type as ls_pay_type from misc_payment where tran_id = ? for update nowait";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if ( rs.next() )
{
tranKeyFld = checkNull(rs.getString("ls_keyfld"));
bankCode = checkNull(rs.getString("ls_bank"));
netAmt = rs.getDouble("lc_net");
tranDate = rs.getTimestamp("ld_tran_date");
siteCode = checkNull(rs.getString("ls_site"));
payType = checkNull(rs.getString("ls_pay_type"));
refNo = checkNull(rs.getString("ref_no"));
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
ignorechklimit = fin.getFinparams("999999","IGNORE_WARNINGS",conn);
System.out.println("Value of Ignore chk limit ===="+ignorechklimit);
if("NULLFOUND".equals(ignorechklimit ) || ignorechklimit == null)
{
ignorechklimit = "N";
System.out.println("Value of Ignore chk limit ===="+ignorechklimit);
}
if("N".equalsIgnoreCase(ignorechklimit))
{
System.out.println("Insiding****BalChk condition");
retString = getBalChk(bankCode,siteCode,tranDate,netAmt,conn);
if(retString.trim().length() > 0)
{
return retString;
}
}*/
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