Commit ec2183c3 authored by dpawar's avatar dpawar

add validation


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@96246 ce508802-f39f-4f6c-b175-0d175dae99d5
parent a0baeea7
package ibase.webitm.ejb.dis;
import ibase.bean.GetServersStatusBean;
import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
......@@ -196,9 +197,13 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
confirmed=confirmed == null ? "N" :confirmed.trim();
status=status == null ? "P" :status.trim();
despCount=getDBRowCount(conn,"despatch","sord_no",sorderNo);
double sordItemQty=getQtyFromSordItem(sorderNo,conn);
System.out.println("Sale order Confirmed---->>["+confirmed+"]");
System.out.println("Sale order status---->>["+status+"]");
System.out.println("despCount---->>["+despCount+"]");
System.out.println("sordItemQty---->>["+sordItemQty+"]");
System.out.println("avalyn---->>["+avalyn+"]");
if("N".equalsIgnoreCase(confirmed)){
errCode = "VTSORDNNC";
......@@ -208,11 +213,12 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
errCode = "VTSORDSNP";
errString = getErrorString("sale_order_no",errCode,userId);
break;
}/*else if(despCount > 0){
}else if(sordItemQty == 0){
errCode = "VTSORDDEF";
errString = getErrorString("sale_order_no",errCode,userId);
break;
}*/
}
}
......@@ -346,7 +352,9 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
{
System.out.println("----------in wfvaldata of item_code............");
ArrayList <String> itemCodeList=new ArrayList<String>();
String itemCodeL="";
String itemCodeL="",SiteCodeL="",CustCodeL="",ChanPart="";
boolean isFound=false;
int count=0;
sorderNo = checkNull(genericUtility.getColumnValue("sale_order_no", dom1));
itemCodeL = checkNull(genericUtility.getColumnValue("item_code", dom2,"3"));
//lotSlL=checkNull(genericUtility.getColumnValue("lot_sl", dom2,"3"));
......@@ -374,20 +382,68 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
rs.close();
pstmt = null;
rs = null;
avalyn=getColumnDescr(conn, "available_yn", "sorder", "sale_order", sorderNo);
avalyn=avalyn==null ? "N" : avalyn.trim();
System.out.println("avalyn--->>["+avalyn+"]");
if(!(itemCodeList.contains(itemCodeL)))
{
errCode = "DIDIICNOMA";
errString = getErrorString("item_code",errCode,userId);
break;
}else if(isQtyOnHold(sorderNo,itemCodeL,conn)){
if("N".equalsIgnoreCase(avalyn)){
sql="select site_code,cust_code from sorder where sale_order = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,sorderNo);
rs=pstmt.executeQuery();
if(rs.next()){
SiteCodeL=checkNull(rs.getString(1));
CustCodeL=checkNull(rs.getString(2));
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
sql="select channel_partner from site_customer where site_code= ? and "
+ "cust_code = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,SiteCodeL);
pstmt.setString(2,CustCodeL);
rs=pstmt.executeQuery();
if(rs.next()){
isFound=true;
ChanPart=rs.getString(1);
}
ChanPart=ChanPart ==null ? "N" : ChanPart.trim();
System.out.println("ChanPart---->>["+ChanPart+"]");
if("N".equalsIgnoreCase(ChanPart)){
errCode = "VTCUSTCD4";
errString = getErrorString("item_code",errCode,userId);
break;
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
if(isFound){
sql="select available_yn from customer where cust_code = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,CustCodeL);
rs=pstmt.executeQuery();
if(rs.next()){
avalyn=rs.getString(1);
}
avalyn=avalyn ==null ? "N" : avalyn.trim();
}
}
} //
}
}
else if(childNodeName.equalsIgnoreCase("quantity"))
{
System.out.println("-------------wfvalData..quantity.............");
double sdetQty=0,despatchQty=0;
double sdetQty=0,despatchQty=0,actQty=0;
sorderNo = checkNull(genericUtility.getColumnValue("sale_order_no", dom1));
squantity = genericUtility.getColumnValue("quantity",dom2);
siteCode = genericUtility.getColumnValue("site_code",dom2,"2");
......@@ -439,10 +495,15 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
pstmt = null;
rs = null;
actQty=getQtyFromSordItem(sorderNo, conn);
System.out.println("actQty--->["+actQty+"]");
if(totquantity > sdetQty)
{
errCode = "DIDOQUANDT";
errCode = "VTDPCCSQ";
errString = getErrorString("quantity",errCode,userId);
break;
}else if(quantity > actQty){
errCode = "VTDPCCMPQ";
errString = getErrorString("quantity",errCode,userId);
break;
}
......@@ -478,8 +539,8 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
aval=getColumnDescr(conn, "available", "invstat", "inv_stat", invstat);
if(aval.equalsIgnoreCase("Y")){
avalyn=getColumnDescr(conn, "available_yn", "sorder", "sale_order", sorderNo);
if(!aval.equalsIgnoreCase(avalyn)){
//avalyn=getColumnDescr(conn, "available_yn", "sorder", "sale_order", sorderNo);
if(! ("Y".equalsIgnoreCase(avalyn))){
errCode = "VTAVAIL";
errString = getErrorString("loc_code",errCode,userId);
break;
......@@ -928,6 +989,7 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
+"( despatchdet.line_no__sord = sorditem.line_no (+)) and "
+"( despatchdet.exp_lev = sorditem.exp_lev (+)) and "
+"( despatch.desp_id = despatchdet.desp_id ) and "
+ " ( case when despatch.confirmed is null then 'N' else despatch.confirmed end <>'Y' ) and "
+"( ( despatchdet.desp_id = ? ))";
pstmt=conn.prepareStatement(sql);
......@@ -952,7 +1014,14 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
//valueXmlString.append("<remarks><![CDATA["+ "generated from sorder "+"]]></remarks>");
valueXmlString.append("<rate><![CDATA["+rate +"]]></rate>");
valueXmlString.append("<item_code__ord><![CDATA["+ checkNull(rs.getString("item_code__ord")) +"]]></item_code__ord>");
valueXmlString.append("<item_code><![CDATA["+ checkNull(rs.getString("item_code"))+"]]></item_code>");
itemCode=checkNull(rs.getString("item_code"));
valueXmlString.append("<item_code><![CDATA["+itemCode+"]]></item_code>");
if(itemCode.length() > 0){
//String itemDescr=;
//valueXmlString.append("<item_descr protect=\"0\">").append("<![CDATA[" + itemDescr + "]]>").append("</item_descr>");
valueXmlString.append("<item_descr><![CDATA["+ checkNull(getColumnDescr(conn, "descr", "item", "item_code", itemCode)) +"]]></item_descr>");
}
valueXmlString.append("<quantity><![CDATA["+ (rs.getDouble("quantity")) +"]]></quantity>");
valueXmlString.append("<unit><![CDATA["+ checkNull(rs.getString("unit"))+"]]></unit>");
valueXmlString.append("<conv__qty_stduom><![CDATA["+ (rs.getDouble("conv__qty_stduom")) +"]]></conv__qty_stduom>");
......@@ -2107,7 +2176,7 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
valueXmlString.append("<Detail2 domID='" + count + "' objContext = '"+currentFormNo+"' selected=\"N\">\r\n");
valueXmlString.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>\r\n");
if(orderDt != null){
valueXmlString.append("<desp_date><![CDATA["+ sdf.format(orderDt).toString() +"]]></desp_date>");
valueXmlString.append("<desp_date><![CDATA["+ currAppdate +"]]></desp_date>");
valueXmlString.append("<sord_date><![CDATA["+ sdf.format(orderDt).toString() +"]]></sord_date>");
}
valueXmlString.append("<sord_no><![CDATA["+ sorderId +"]]></sord_no>");
......@@ -2228,6 +2297,62 @@ public class DespatchWiz extends ValidatorEJB implements DespatchWizLocal, Despa
return columnValue;
}
private double getQtyFromSordItem(String sorderNo,Connection conn)
{
ResultSet rs=null;
PreparedStatement pstmt=null;
String sql="";
double actualQty=0;
try{
sql="select quantity - qty_desp as actual from sorditem where sale_order = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sorderNo);
rs=pstmt.executeQuery();
if(rs.next()){
actualQty=rs.getDouble(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("actualQty---->>["+actualQty+"]");
return actualQty;
}
private boolean isQtyOnHold(String sorderNo,String itemCode,Connection conn)
{
System.out.println("----in isQtyOnHold method------");
ResultSet rs=null;
PreparedStatement pstmt=null;
String sql="",holdFlag="";
try{
sql="select hold_flag from sorddet where sale_order = ? and item_code = ? ";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, sorderNo);
pstmt.setString(2, itemCode);
rs=pstmt.executeQuery();
if(rs.next()){
holdFlag=checkNull(rs.getString(1));
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
}
catch(Exception e){
e.printStackTrace();
}
System.out.println("holdFlag---->>["+holdFlag+"]");
if("Y".equalsIgnoreCase(holdFlag)){
return true;
}
return false;
}
public String checkNull(String str)
{
if(str == null){
......
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