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;
import ibase.utility.CommonConstants;
import ibase.utility.E12GenericUtility;
import ibase.utility.UserInfoBean;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.ITMException;
......@@ -31,20 +32,27 @@ public class MissingItem extends ValidatorEJB {
String sql,itemCodeOrd = null,itemDescr,chPartner = null;
String retString="";
String siteCode="",custCode="";
String disLink="";
String suppCodemnfr,suppCodeCh= null,siteCodeCh = null,itemCode = null;
String disLink="",pOrder="";
double sqty;
String suppCodemnfr,suppCodeCh= null,siteCodeCh = null,itemCode = null,lineno=null;
int cntPO = 0;
String statushdr=null,statusdet = null;
//Connection connCP=null;
//ConnDriver connDriver = new ConnDriver();
ITMDBAccessEJB itmDBAccess = new ITMDBAccessEJB();
String itemSer = null;
String status=null;
double potqty=0;
int cnt=0;
double qtydlv = 0;
double qtyhdr = 0;
try
{
System.out.println("enter the loop");
ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB(userInfo);
if (conn == null)
{
setUserInfo(userInfo);
......@@ -111,7 +119,6 @@ public class MissingItem extends ValidatorEJB {
}
if("Y".equalsIgnoreCase(chPartner))
{
//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' ";
pstmt=conn.prepareStatement(sql);
......@@ -129,7 +136,6 @@ public class MissingItem extends ValidatorEJB {
pstmt=null;
if(suppCodeCh.trim().length()==0)
{
//to find supp_code from supplier
sql=" select supp_code from supplier where site_code = ? and channel_partner = 'Y'";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,siteCode);
......@@ -144,57 +150,265 @@ public class MissingItem extends ValidatorEJB {
pstmt.close();
pstmt=null;
}
//to find item_code_ord and item descr from sorddet
sql="select ITEM_CODE__ORD,ITEM_DESCR from sorddet where SALE_ORDER=?";
sql="select item_code__ord,item_descr,quantity from sorddet where sale_order=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,salesOrder);
rs=pstmt.executeQuery();
while(rs.next())
{
itemCode=rs.getString("ITEM_CODE__ORD");
itemDescr=rs.getString("ITEM_DESCR");
itemCode=rs.getString("item_code__ord");
itemDescr=rs.getString("item_descr");
sqty=rs.getDouble("quantity");
sql = "select count(*) 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 = ? "
+ " and a.status = 'O' ";
+ " and a.status = 'O' and b.status='O'";
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()) {
if(rs1.next())
{
cntPO=rs1.getInt(1);
System.out.println("count missing data:"+cntPO);
System.out.println("count missing data:1"+cntPO);
}
rs1.close();
rs1=null;
pstmt1.close();
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);
MissingItemBean missingbean=new MissingItemBean();
missingbean.setItemCode(itemCode);
missingbean.setItemDesc(itemDescr);
missingitemList.add(missingbean);
if("C".equalsIgnoreCase(statusdet))//Closed STATUS IN DETAIL
{
//retString = "Purchase order Closed for line item for "+itemCode +" "+itemDescr;
retString = "Order status is opened for ("+pOrder+") but line no("+lineno+") status is Closed";
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=null;
pstmt.close();
pstmt=null;
}
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
......@@ -224,17 +438,18 @@ public class MissingItem extends ValidatorEJB {
System.out.println("Exception :MissingItem detail:==>\n"+e.getMessage());
}
}
return missingitemList;
return missingitemList;
}
private String checkNull(String string) {
// TODO Auto-generated method stub
if (string == null) {
string = "";
}
return string;
if (string == null) {
string = "";
}
return string;
}
}
......@@ -16,8 +16,30 @@ public class MissingItemBean implements Serializable{
private String itemCode;
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() {
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