Commit cf0618cb authored by sgadve's avatar sgadve

Business logic for the scheme approve

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@203136 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 32410e18
......@@ -7,6 +7,7 @@ import java.sql.ResultSet;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import org.w3c.dom.Document;
......@@ -62,6 +63,10 @@ public class SchemeApprv extends ValidatorEJB
int cnt = 0, currentFormNo=0,childNodeListLength ,ctr=0;
ConnDriver connDriver = new ConnDriver();
String sql = "",errString = "", errCode = "",userId = "";
//Added by saiprasad G. for the secondary scheme validation[START]
String effFrom = "",effUpto = "", itemCode = "", itemCodeRepl = "", quantity = "", freeQty = "", rate = "", amt = "";
Timestamp fromDate = null ,toDate =null;
//Added by saiprasad G. for the secondary scheme validation[END]
ArrayList <String> errList = new ArrayList<String>();
ArrayList <String>errFields = new ArrayList <String> ();
String errorType = "";
......@@ -207,6 +212,7 @@ public class SchemeApprv extends ValidatorEJB
{
schemeCode=E12GenericUtility.checkNull(genericUtility.getColumnValue("scheme_code", dom));
System.out.println("Scheme code:"+schemeCode);
int count =0;
if(schemeCode.length() <= 0)
{
errCode = "VTSCHEME";
......@@ -214,8 +220,91 @@ public class SchemeApprv extends ValidatorEJB
errFields.add(childNodeName.toLowerCase());
break;
}
else if(editFlag.equalsIgnoreCase("A"))
{
String str = "select count(1) from scheme_apprv where scheme_code=?";
pstmt = conn.prepareStatement(str);
pstmt.setString(1, schemeCode);
rs = pstmt.executeQuery();
while(rs.next())
{
count = rs.getInt(1);
}
System.out.println("count of the scheme apprv:"+count);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(count == 1)
{
errCode = "VTDUPSCHEM";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("amount"))
//Added by saiprasad G. for the validating the
else if (childNodeName.equalsIgnoreCase("eff_from"))
{
effFrom = E12GenericUtility.checkNull(genericUtility.getColumnValue("eff_from", dom));
System.out.println("EffFrom:"+effFrom);
if(effFrom.length() <= 0 )
{
errCode = "VTINVFRDAT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
fromDate = Timestamp.valueOf(genericUtility.getValidDateString(effFrom,genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat())
+ " 00:00:00.0");
System.out.println("from Date"+fromDate);
if(fromDate == null)
{
errCode = "VTINVFRDAT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
else if (childNodeName.equalsIgnoreCase("valid_upto"))
{
effFrom = E12GenericUtility.checkNull(genericUtility.getColumnValue("eff_from", dom));
System.out.println("EffFrom:"+effFrom);
effUpto = E12GenericUtility.checkNull(genericUtility.getColumnValue("valid_upto", dom));
System.out.println("Effupto:"+effUpto);
if(effFrom.length() <= 0 || effUpto.length() <= 0)
{
errCode = "VTINVVLDAT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
fromDate = Timestamp.valueOf(genericUtility.getValidDateString(effFrom,genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat())
+ " 00:00:00.0");
System.out.println("from Date"+fromDate);
toDate = Timestamp.valueOf(genericUtility.getValidDateString(effUpto,genericUtility.getApplDateFormat(),genericUtility.getDBDateFormat())
+ " 00:00:00.0");
System.out.println("to Date"+toDate);
if(toDate == null || fromDate == null)
{
errCode = "VTINVVLDAT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
if(toDate.before(fromDate))
{
errCode = "INVFROMUP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
//Commented by Saiprasad G. for the adding the amount in second form [START]
/*else if(childNodeName.equalsIgnoreCase("amount"))
{
amount=E12GenericUtility.checkNull(genericUtility.getColumnValue("amount", dom));
System.out.println("amount:"+amount);
......@@ -234,10 +323,286 @@ public class SchemeApprv extends ValidatorEJB
errFields.add(childNodeName.toLowerCase());
break;
}
}
}*/
//Commented by Saiprasad G. for the adding the amount in second form [END]
}
}
break;
//Added by saiprasad for secondary scheme validation[START]
case 2:
parentNodeList = dom.getElementsByTagName("Detail2");
parentNodeListLen = parentNodeList.getLength();
for(int rowNum=0;rowNum<parentNodeListLen;rowNum++)
{
parentNode = parentNodeList.item(rowNum);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
for(int rowCount=0;rowCount<childNodeListLength;rowCount++)
{
childNode = childNodeList.item(rowCount);
childNodeName = childNode.getNodeName();
System.out.println("childNodeName are:"+childNodeName);
String nature = genericUtility.getColumnValue("nature", dom2, "1");
System.out.println("nature:"+nature);
if(nature.equalsIgnoreCase("Q"))
{
if(childNodeName.equalsIgnoreCase("item_code"))
{
itemCode = genericUtility.getColumnValue("item_code", dom);
System.out.println("itemCode:"+itemCode);
if(E12GenericUtility.checkNull(itemCode).length()<=0)
{
errCode = "VTITMNUL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
else
{
String str = "select count(1) from item where item_code=?";
int count=0;
pstmt = conn.prepareStatement(str);
pstmt.setString(1, itemCode);
rs = pstmt.executeQuery();
while(rs.next())
{
count = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("count of the item code:"+count);
if(count==0)
{
errCode = "VTINVITM";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("quantity"))
{
quantity = genericUtility.getColumnValue("quantity", dom);
int qty = 0;
if(E12GenericUtility.checkNull(quantity).length()<=0)
{
errCode = "INVQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
else if(E12GenericUtility.checkNull(quantity).length()>0)
{
try
{
qty=Integer.parseInt(quantity);
System.out.println("qty:"+qty);
if(qty<=0)
{
errCode = "INVQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
catch (Exception e)
{
errCode = "INVQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("item_code__repl"))
{
itemCodeRepl = genericUtility.getColumnValue("item_code__repl", dom);
if(E12GenericUtility.checkNull(itemCodeRepl).length()<=0)
{
errCode = "VTITMREP";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
else
{
String str = "select count(1) from item where item_code=?";
int count=0;
pstmt = conn.prepareStatement(str);
pstmt.setString(1, itemCodeRepl);
rs = pstmt.executeQuery();
while(rs.next())
{
count = rs.getInt(1);
}
System.out.println("count of the item code:"+count);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(count==0)
{
errCode = "VTINVRPL";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("free_qty"))
{
freeQty = genericUtility.getColumnValue("free_qty", dom);
int freeqtyInt = 0;
if(E12GenericUtility.checkNull(freeQty).length()<=0)
{
errCode = "VTNFREEQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
else if(E12GenericUtility.checkNull(freeQty).length()>0)
{
try
{
freeqtyInt=Integer.parseInt(freeQty);
System.out.println("freeQty"+freeqtyInt);
if(freeqtyInt<=0)
{
errCode = "VTNFREEQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
catch (Exception e)
{
errCode = "VTNFREEQTY";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(childNodeName.equalsIgnoreCase("rate"))
{
rate = genericUtility.getColumnValue("rate", dom);
double rateInt = 0;
if(E12GenericUtility.checkNull(rate).length()>0)
{
System.out.println("rate in valiadation2"+rate);
try
{
rateInt=Double.parseDouble(rate);
System.out.println("rate"+rateInt);
if(rateInt<=0)
{
errCode = "INVRATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
catch (Exception e)
{
errCode = "INVRATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
else if(E12GenericUtility.checkNull(rate).length()<=0)
{
errCode = "INVRATE";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
else if(childNodeName.equalsIgnoreCase("amount"))
{
amount = genericUtility.getColumnValue("amount", dom);
double amtInt = 0;
if(E12GenericUtility.checkNull(amount).length()>0)
{
System.out.println("amount in valiadation3"+amount);
try
{
amtInt=Double.parseDouble(amount);
System.out.println();
if(amtInt<=0)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
catch (Exception e)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
else if(E12GenericUtility.checkNull(amount).length()<=0)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
else if(nature.equalsIgnoreCase("V"))
{
if(childNodeName.equalsIgnoreCase("amount"))
{
amount = genericUtility.getColumnValue("amount", dom);
System.out.println("amount in string:"+amount);
double amtInt = 0;
if(E12GenericUtility.checkNull(amount).length()>0)
{
try
{
amtInt=Double.parseDouble(amount);
System.out.println();
if(amtInt<=0)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
catch (Exception e)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
else if(E12GenericUtility.checkNull(amount).length()<=0)
{
errCode = "VTAMOUNT";
errList.add(errCode);
errFields.add(childNodeName.toLowerCase());
break;
}
}
}
}
}
//Added by saiprasad for secondary scheme validation[END]
}
int errListSize = errList.size();
cnt =0;
......@@ -369,10 +734,11 @@ public class SchemeApprv extends ValidatorEJB
String loginSiteCode = "";
String custName="",salesPerName="",custName1="";
String userId="";
String itemCode="";
//Added by saiprasad G. START
String itmCode="",itemCodeRepl="",itmDescr="",itemReplDescr="",priceList="";
//Added by saiprasad G. END
Date currentDate = null;
SimpleDateFormat sdf = null;
int initValue=0;
SimpleDateFormat sdf = null,sdfDb=null;
Connection conn = null;
PreparedStatement pStmt = null;
ResultSet rs = null;
......@@ -382,6 +748,7 @@ public class SchemeApprv extends ValidatorEJB
try
{
sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
sdfDb = new SimpleDateFormat(genericUtility.getDBDateFormat());
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
columnValue = genericUtility.getColumnValue( currentColumn, dom );
conn = getConnection();
......@@ -391,6 +758,7 @@ public class SchemeApprv extends ValidatorEJB
}
valueXmlString = new StringBuffer( "<?xml version=\"1.0\"?>\r\n<Root>\r\n<Header>\r\n<editFlag>" );
valueXmlString.append( editFlag ).append( "</editFlag>\r\n</Header>\r\n" );
System.out.println("currentColumn"+currentColumn);
switch( currentFormNo )
{
case 1:
......@@ -409,6 +777,15 @@ public class SchemeApprv extends ValidatorEJB
valueXmlString.append( "<site_code><![CDATA[" ).append(loginSiteCode).append( "]]></site_code>\r\n" );
valueXmlString.append( "<confirmed><![CDATA[" ).append("N").append( "]]></confirmed>\r\n" );
valueXmlString.append( "<amount><![CDATA[" ).append(0).append( "]]></amount>\r\n" );
Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
cal.add(Calendar.MONTH, 1);
Date oneMonth = cal.getTime();
Timestamp oneMonthLaterTs = new Timestamp(oneMonth.getTime());
Date validUptoDate = new Date(oneMonthLaterTs.getTime());
String oneMonthLaterStr = sdf.format(validUptoDate);
valueXmlString.append( "<eff_from><![CDATA[" ).append(sdf.format(currentDate).toString()).append( "]]></eff_from>\r\n" );
valueXmlString.append( "<valid_upto><![CDATA[" ).append(oneMonthLaterStr).append( "]]></valid_upto>\r\n" );
}
else if( "cust_code".equalsIgnoreCase(currentColumn) )
{
......@@ -447,8 +824,138 @@ public class SchemeApprv extends ValidatorEJB
}
valueXmlString.append( "<customer_cust_name><![CDATA[" ).append(custName1).append( "]]></customer_cust_name>\r\n" );
}
else if("eff_from".equalsIgnoreCase(currentColumn))
{
String effFrom = genericUtility.getColumnValue("eff_from", dom);
Date effFromDate = sdf.parse(effFrom);
Calendar cal = Calendar.getInstance();
cal.setTime(effFromDate);
cal.add(Calendar.MONTH, 1);
Date oneMonth = cal.getTime();
Timestamp oneMonthLaterTs = new Timestamp(oneMonth.getTime());
Date validUptoDate = new Date(oneMonthLaterTs.getTime());
String oneMonthLaterStr = sdf.format(validUptoDate);
valueXmlString.append( "<valid_upto><![CDATA[" ).append(oneMonthLaterStr).append( "]]></valid_upto>\r\n" );
}
valueXmlString.append( "</Detail1>\r\n" );
break;
case 2:
System.out.println("In the second case2 itemchanged");
valueXmlString.append( "<Detail2>\r\n" );
if("itm_default".equalsIgnoreCase(currentColumn))
{
String nature = genericUtility.getColumnValue("nature", dom2, "1");
if(nature.equalsIgnoreCase("V"))
{
valueXmlString.append( "<item_code protect= \"1\"><![CDATA[" ).append("").append( "]]></item_code>\r\n" );
valueXmlString.append( "<quantity protect= \"1\"><![CDATA[" ).append("").append( "]]></quantity>\r\n" );
valueXmlString.append( "<item_code__repl protect= \"1\"><![CDATA[" ).append("").append( "]]></item_code__repl>\r\n" );
valueXmlString.append( "<free_qty protect= \"1\"><![CDATA[" ).append("").append( "]]></free_qty>\r\n" );
valueXmlString.append( "<rate protect= \"1\"><![CDATA[" ).append("").append( "]]></rate>\r\n" );
}
else
{
valueXmlString.append( "<rate><![CDATA[" ).append(0).append( "]]></rate>\r\n" );
valueXmlString.append( "<quantity><![CDATA[" ).append(0).append( "]]></quantity>\r\n" );
valueXmlString.append( "<free_qty><![CDATA[" ).append(0).append( "]]></free_qty>\r\n" );
}
valueXmlString.append( "<amount><![CDATA[" ).append(0).append( "]]></amount>\r\n" );
}
else if("itm_defaultedit".equalsIgnoreCase(currentColumn))
{
String nature = genericUtility.getColumnValue("nature", dom2, "1");
if(nature.equalsIgnoreCase("V"))
{
valueXmlString.append( "<item_code protect= \"1\"><![CDATA[" ).append("").append( "]]></item_code>\r\n" );
valueXmlString.append( "<quantity protect= \"1\"><![CDATA[" ).append("").append( "]]></quantity>\r\n" );
valueXmlString.append( "<item_code__repl protect= \"1\"><![CDATA[" ).append("").append( "]]></item_code__repl>\r\n" );
valueXmlString.append( "<free_qty protect= \"1\"><![CDATA[" ).append("").append( "]]></free_qty>\r\n" );
valueXmlString.append( "<rate protect= \"1\"><![CDATA[" ).append("").append( "]]></rate>\r\n" );
}
}
else if("item_code".equalsIgnoreCase(currentColumn))
{
itmCode = genericUtility.getColumnValue("item_code", dom);
sql = "select descr from item where item_code =?";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, itmCode);
rs = pStmt.executeQuery();
while(rs.next())
{
itmDescr = rs.getString("descr");
}
rs.close();
pStmt.close();
priceList = "";
sql = "select var_value from disparm where var_name=?";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, "MRP_GST");
rs = pStmt.executeQuery();
while(rs.next())
{
priceList = rs.getString("var_value");
}
rs.close();
pStmt.close();
System.out.println("priclist:"+priceList);
double rate =0.0;
sql = "select rate from pricelist where price_list=? and "
+ "slab_no = (select max(slab_no) from pricelist where item_code=?) and item_code=?";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, priceList);
pStmt.setString(2, itmCode);
pStmt.setString(3, itmCode);
rs = pStmt.executeQuery();
while(rs.next())
{
rate = rs.getDouble("rate");
}
System.out.println("rate"+rate);
valueXmlString.append( "<item_descr><![CDATA[" ).append(itmDescr).append( "]]></item_descr>\r\n" );
valueXmlString.append( "<rate><![CDATA[" ).append(rate).append( "]]></rate>\r\n" );
valueXmlString.append( "<quantity><![CDATA[" ).append(0).append( "]]></quantity>\r\n" );
valueXmlString.append( "<amount><![CDATA[" ).append(0).append( "]]></amount>\r\n" );
if(rs!=null)
{
rs.close();
rs = null;
}
if(pStmt!=null)
{
pStmt.close();
pStmt = null;
}
}
else if("quantity".equalsIgnoreCase(currentColumn))
{
double amount,qty,rate;
String rateStr,qtyStr;
rateStr = genericUtility.getColumnValue("rate", dom);
System.out.println("ratestr:"+rateStr);
rate = Double.parseDouble(rateStr);
qtyStr = genericUtility.getColumnValue("quantity", dom);
qty = Double.parseDouble(qtyStr);
amount = qty * rate;
valueXmlString.append( "<amount><![CDATA[" ).append(amount).append( "]]></amount>\r\n" );
}
else if("item_code__repl".equalsIgnoreCase(currentColumn))
{
itemCodeRepl = genericUtility.getColumnValue("item_code__repl", dom);
sql = "select descr from item where item_code =?";
pStmt = conn.prepareStatement(sql);
pStmt.setString(1, itemCodeRepl);
rs = pStmt.executeQuery();
while(rs.next())
{
itemReplDescr = rs.getString("descr");
}
rs.close();
pStmt.close();
valueXmlString.append( "<item_repl_descr><![CDATA[" ).append(itemReplDescr).append( "]]></item_repl_descr>\r\n" );
}
valueXmlString.append( "</Detail2>\r\n" );
}
}
catch( Exception e )
......
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