Commit 1911810d authored by msalla's avatar msalla

Channel partner - Missing items in PO to consider and show confirmed status of...

Channel partner - Missing items in PO to consider and show confirmed status of PO, also to show quantity of the PO line

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@205542 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 904a07d3
...@@ -12,6 +12,7 @@ import ibase.system.config.ConnDriver; ...@@ -12,6 +12,7 @@ import ibase.system.config.ConnDriver;
import ibase.utility.CommonConstants; import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility; import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean; import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -31,20 +32,27 @@ public class MissingItem extends ValidatorEJB { ...@@ -31,20 +32,27 @@ public class MissingItem extends ValidatorEJB {
String sql,itemCodeOrd = null,itemDescr,chPartner = null; String sql,itemCodeOrd = null,itemDescr,chPartner = null;
String retString=""; String retString="";
String siteCode="",custCode=""; String siteCode="",custCode="";
String disLink=""; String disLink="",pOrder="";
String suppCodemnfr,suppCodeCh= null,siteCodeCh = null,itemCode = null; double sqty;
String suppCodemnfr,suppCodeCh= null,siteCodeCh = null,itemCode = null,lineno=null;
int cntPO = 0; int cntPO = 0;
String statushdr=null,statusdet = null;
//Connection connCP=null; //Connection connCP=null;
//ConnDriver connDriver = new ConnDriver(); //ConnDriver connDriver = new ConnDriver();
ITMDBAccessEJB itmDBAccess = new ITMDBAccessEJB();
String itemSer = null; String itemSer = null;
String status=null;
double potqty=0;
int cnt=0;
double qtydlv = 0;
double qtyhdr = 0;
try try
{ {
System.out.println("enter the loop"); System.out.println("enter the loop");
ConnDriver connDriver = new ConnDriver(); ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB(userInfo); //conn = connDriver.getConnectDB(userInfo);
if (conn == null) if (conn == null)
{ {
setUserInfo(userInfo); setUserInfo(userInfo);
...@@ -111,7 +119,6 @@ public class MissingItem extends ValidatorEJB { ...@@ -111,7 +119,6 @@ public class MissingItem extends ValidatorEJB {
} }
if("Y".equalsIgnoreCase(chPartner)) if("Y".equalsIgnoreCase(chPartner))
{ {
//to find supp_code ,from site_supplier //to find supp_code ,from site_supplier
sql=" select supp_code from site_supplier where site_code = ? and site_code__ch = ? and channel_partner = 'Y' "; sql=" select supp_code from site_supplier where site_code = ? and site_code__ch = ? and channel_partner = 'Y' ";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
...@@ -129,7 +136,6 @@ public class MissingItem extends ValidatorEJB { ...@@ -129,7 +136,6 @@ public class MissingItem extends ValidatorEJB {
pstmt=null; pstmt=null;
if(suppCodeCh.trim().length()==0) if(suppCodeCh.trim().length()==0)
{ {
//to find supp_code from supplier
sql=" select supp_code from supplier where site_code = ? and channel_partner = 'Y'"; sql=" select supp_code from supplier where site_code = ? and channel_partner = 'Y'";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1,siteCode); pstmt.setString(1,siteCode);
...@@ -144,57 +150,265 @@ public class MissingItem extends ValidatorEJB { ...@@ -144,57 +150,265 @@ public class MissingItem extends ValidatorEJB {
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
} }
//to find item_code_ord and item descr from sorddet sql="select item_code__ord,item_descr,quantity from sorddet where sale_order=?";
sql="select ITEM_CODE__ORD,ITEM_DESCR from sorddet where SALE_ORDER=?";
pstmt=conn.prepareStatement(sql); pstmt=conn.prepareStatement(sql);
pstmt.setString(1,salesOrder); pstmt.setString(1,salesOrder);
rs=pstmt.executeQuery(); rs=pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
itemCode=rs.getString("ITEM_CODE__ORD"); itemCode=rs.getString("item_code__ord");
itemDescr=rs.getString("ITEM_DESCR"); itemDescr=rs.getString("item_descr");
sqty=rs.getDouble("quantity");
sql = "select count(*) from porder a, porddet b" sql = "select count(*) from porder a, porddet b"
+ " where a.purc_order = b.purc_order " + " where a.purc_order = b.purc_order "
+ " and a.supp_code = ? and a.site_code__dlv = ? " + " and a.supp_code = ? and a.site_code__dlv = ? "
+ " and a.item_ser = ? and b.item_code = ? " + " and a.item_ser = ? and b.item_code = ? "
+ " and a.status = 'O' "; + " and a.status = 'O' and b.status='O'";
pstmt1=conn.prepareStatement(sql); pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,suppCodeCh); pstmt1.setString(1,suppCodeCh);
pstmt1.setString(2,siteCodeCh); pstmt1.setString(2,siteCodeCh);
pstmt1.setString(3,itemSer); pstmt1.setString(3,itemSer);
pstmt1.setString(4,itemCode); pstmt1.setString(4,itemCode);
rs1=pstmt1.executeQuery(); rs1=pstmt1.executeQuery();
if(rs1.next()) { if(rs1.next())
{
cntPO=rs1.getInt(1); cntPO=rs1.getInt(1);
System.out.println("count missing data:"+cntPO); System.out.println("count missing data:1"+cntPO);
} }
rs1.close(); rs1.close();
rs1=null; rs1=null;
pstmt1.close(); pstmt1.close();
pstmt1=null; pstmt1=null;
if(cntPO==0) { if(cntPO>1)
{
sql = "select a.purc_order,b.quantity,b.dlv_qty,b.line_no from porder a, porddet b"
+ " where a.purc_order = b.purc_order "
+ " and a.supp_code = ? and a.site_code__dlv = ? "
+ " and a.item_ser = ? and b.item_code = ? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,suppCodeCh);
pstmt1.setString(2,siteCodeCh);
pstmt1.setString(3,itemSer);
pstmt1.setString(4,itemCode);
rs1=pstmt1.executeQuery();
while(rs1.next())
{
pOrder=rs1.getString("purc_order");
qtyhdr=rs1.getDouble("quantity");
qtydlv=rs1.getDouble("dlv_qty");
lineno=rs1.getString("line_no");
potqty=qtyhdr-qtydlv;
retString="Multiple opened order line for Purchase Order("+pOrder+") line no("+lineno+")";
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(potqty);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
}
if(cntPO==1) //po==1
{
sql = "select a.purc_order,b.quantity,b.dlv_qty,b.line_no from porder a, porddet b"
+ " where a.purc_order = b.purc_order "
+ " and a.supp_code = ? and a.site_code__dlv = ? "
+ " and a.item_ser = ? and b.item_code = ? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,suppCodeCh);
pstmt1.setString(2,siteCodeCh);
pstmt1.setString(3,itemSer);
pstmt1.setString(4,itemCode);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
pOrder=rs1.getString("purc_order");
qtyhdr=rs1.getDouble("quantity");
qtydlv=rs1.getDouble("dlv_qty");
lineno=rs1.getString("line_no");
potqty=qtyhdr-qtydlv;
if(sqty>potqty)
{
retString = "Order status is Open where Purchase Order quantity ("+potqty+") is less than SaleOrder quantity ("+sqty+") for orderno ("+pOrder+") and line no("+lineno+")";
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(potqty);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
}
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
}
//else cnt<0
else
{
sql = "select a.purc_order,a.status,b.status,b.quantity,b.dlv_qty,b.line_no from porder a, porddet b"
+ " where a.purc_order = b.purc_order "
+ " and a.supp_code = ? and a.site_code__dlv = ? "
+ " and a.item_ser = ? and b.item_code = ? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,suppCodeCh);
pstmt1.setString(2,siteCodeCh);
pstmt1.setString(3,itemSer);
pstmt1.setString(4,itemCode);
rs1=pstmt1.executeQuery();
while(rs1.next())
{
pOrder=rs1.getString("purc_order");
statushdr=rs1.getString("status");
statusdet=rs1.getString("status");
qtyhdr=rs1.getDouble("quantity");
qtydlv=rs1.getDouble("dlv_qty");
lineno=rs1.getString("line_no");
System.out.println("count missing data:1"+cntPO);
cnt++;
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
if(cnt>0)
{
if("X".equalsIgnoreCase(statushdr))//CANCEL STATUS IN HEADER
{
// retString = "Purchase order Cancelled for the "+pOrder;//order no
retString = "Order status is cancelled for the Purchase order("+pOrder+")";//order no
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(qtyhdr);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
System.out.println("Purchase order already canceled("+pOrder+")");
}
if("C".equalsIgnoreCase(statushdr))//Closed STATUS IN HEADER
{
//retString = "Purchase order Closed for the "+salesOrder;
retString = "Order status is closed for the Purchase order("+pOrder+")";//order no
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(qtyhdr);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
System.out.println("purchase order already closed"+itemCode);
}
if("X".equalsIgnoreCase(statusdet))//CANCEL STATUS IN DETAIL
{
//retString = "Purchase order Cancelled for line item for "+itemCode +" "+itemDescr;
retString = "Order status is opened for Purchase order ("+pOrder+") but line no("+lineno+") status is Cancelled";
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(qtyhdr);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
System.out.println("Purchase order Cancelled for line item for "+itemCode);
}
System.out.println("item is missing"+itemCode); if("C".equalsIgnoreCase(statusdet))//Closed STATUS IN DETAIL
MissingItemBean missingbean=new MissingItemBean(); {
missingbean.setItemCode(itemCode); //retString = "Purchase order Closed for line item for "+itemCode +" "+itemDescr;
missingbean.setItemDesc(itemDescr); retString = "Order status is opened for ("+pOrder+") but line no("+lineno+") status is Closed";
missingitemList.add(missingbean); MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(qtyhdr);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
System.out.println("Purchase order Closed for line item for "+itemCode);
}
else
{
/*sql = "select b.quantity,b.dlv_qty from porder a, porddet b"
+ " where a.purc_order = b.purc_order "
+ " and a.supp_code = ? and a.site_code__dlv = ? "
+ " and a.item_ser = ? and b.item_code = ? ";
System.out.println("count missing data111:2"+cntPO);
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,suppCodeCh);
pstmt1.setString(2,siteCodeCh);
pstmt1.setString(3,itemSer);
pstmt1.setString(4,itemCode);*/
sql = "select b.quantity,b.dlv_qty,a.purc_order from porder a, porddet b"
+ " where a.purc_order = b.purc_order "
+ " and b.line_no=? ";
System.out.println("count missing data111:2"+cntPO);
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,lineno);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
pOrder=rs1.getString("purc_order");
qtyhdr=rs1.getDouble("quantity");
qtydlv=rs1.getDouble("dlv_qty");
System.out.println("count missing data:2"+cntPO);
}
rs1.close();
rs1=null;
pstmt1.close();
pstmt1=null;
potqty=qtyhdr-qtydlv;
if(sqty>potqty)
{
System.out.println("item is missing2"+itemCode);
retString = "Purchase Order quantity ("+potqty+") is less than SaleOrder quantity ("+sqty+") for orderno ("+pOrder+") and line no("+lineno+")";
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(potqty);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
System.out.println("Purchase Order quantity ("+potqty+") is less than SaleOrder quantity ("+sqty+") for orderno ("+pOrder+")");
}
}//end else
}//end if
else
{
retString = "Item("+itemDescr+"-"+ itemCode+") missing";
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingbean.setItemQuantity(qtyhdr);
missingbean.setStatus(retString);
missingitemList.add(missingbean);
}
} }
} }
rs.close(); rs.close();
rs=null; rs=null;
pstmt.close(); pstmt.close();
pstmt=null; pstmt=null;
} }
} }
catch(Exception e) catch(Exception e)
{ {
e.printStackTrace(); e.printStackTrace();
throw new ITMException(e); throw new ITMException(e);
} }
...@@ -224,17 +438,18 @@ public class MissingItem extends ValidatorEJB { ...@@ -224,17 +438,18 @@ public class MissingItem extends ValidatorEJB {
System.out.println("Exception :MissingItem detail:==>\n"+e.getMessage()); System.out.println("Exception :MissingItem detail:==>\n"+e.getMessage());
} }
} }
return missingitemList; return missingitemList;
} }
private String checkNull(String string) { private String checkNull(String string) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
if (string == null) { if (string == null) {
string = ""; string = "";
}
return string;
} }
return string;
}
} }
...@@ -16,8 +16,30 @@ public class MissingItemBean implements Serializable{ ...@@ -16,8 +16,30 @@ public class MissingItemBean implements Serializable{
private String itemCode; private String itemCode;
private String itemDesc; private String itemDesc;
private double itemQuantity;
private String status;
public double getItemQuantity() {
return itemQuantity;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public void setItemQuantity(double totqty) {
this.itemQuantity = totqty;
}
public String getItemCode() { public String getItemCode() {
return itemCode; return itemCode;
} }
......
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