Commit 6df6f131 authored by dhirajchavan's avatar dhirajchavan

REQ#D16ASUN002

PURCHASE ORDER CLOSE PROCESS


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101761 ce508802-f39f-4f6c-b175-0d175dae99d5
parent c695ca95
......@@ -487,8 +487,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
String lineNo = "",porcpConfirmed="",tranID="";
String refDateStr = "";
String taxDateStr = "",errCode="";
String ordDateStr = "", lineNo1 = "", empCodeQcApr = "",amdConfirmed="",amdNo="";
String purcOrder = null;
String ordDateStr = "", lineNo1 = "", empCodeQcApr = "",amdConfirmed="",amdNo="",poRetConfirmed="";
String purcOrder = "";
int forcount = 0, lineCnt = 0;
genericUtility = new E12GenericUtility();
......@@ -626,7 +626,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt = null;
// sql = "select tran_id,confirmed from porcp where purc_order=?";
sql = "select h.tran_id,h.purc_order " +
sql = "select h.tran_id,h.confirmed " +
"from porcp h,porcpdet d " +
"where h.purc_order=d.purc_order and h.confirmed='N' " +
"and h.purc_order=? " +
......@@ -637,8 +637,9 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = pstmt.executeQuery();
if(rs.next()) {
tranID = rs.getString(1);
porcpConfirmed=rs.getString(2);
porcpConfirmed=rs.getString(2);
//porcpConfirmed
if(porcpConfirmed.equals("N")||porcpConfirmed.equalsIgnoreCase("N"))
{
......@@ -657,7 +658,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
String descrEnd = descrStr.substring(descrStr.indexOf("]"),descrStr.length());
String value = " ; Purchase order is : " + purcOrder
+" ; Reciept tran_ID : "+ tranID +" ; " ;
+" ; Reciept tran_ID : "+ tranID +" ; Line No: "+lineNo+" ;" ;
System.out.println("Value ::: "+ value);
......@@ -675,7 +676,56 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null;
pstmt.close();
pstmt = null;
//FOR PURCHASE RETURN
sql = "select h.tran_id,h.confirmed " +
"from porcp h,porcpdet d " +
"where h.purc_order=d.purc_order and h.confirmed='N' " +
"and h.purc_order=? and h.tran_ser='P-RET'" +
"and d.line_no__ord=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
pstmt.setString(2, lineNo);
rs = pstmt.executeQuery();
if(rs.next()) {
tranID = rs.getString(1);
poRetConfirmed=rs.getString(2);
if(poRetConfirmed.equals("N")||poRetConfirmed.equalsIgnoreCase("N"))
{
System.out.println("In purchase return validation>>");
errCode = "VTPRETUC";
errCode = new ValidatorEJB().getErrorString("", errCode, "");
System.out.println("::: errCode["+errCode+"]");
String startStr = errCode.substring(0,errCode.indexOf("<description>") + 13);
String endStr = errCode.substring(errCode.indexOf("</description>"),errCode.length());
System.out.println("endStr ["+endStr+"]");
String descrStr = errCode.substring(errCode.indexOf("<description>") + 13,errCode.indexOf("</description>"));
System.out.println("::: descrStr ["+descrStr+"]");
String descrStart = descrStr.substring(0, descrStr.indexOf("]"));
String descrEnd = descrStr.substring(descrStr.indexOf("]"),descrStr.length());
String value = " ; Purchase order is : " + purcOrder
+" ; purchase Return tran_ID : "+ tranID +" ; Line No: "+lineNo+" ; " ;
System.out.println("Value ::: "+ value);
descrStart = descrStart.concat(value).concat(descrEnd);
errCode = startStr.concat(descrStart).concat(endStr);
return errCode;
}
System.out.println("rec@@tranid@@"+tranID+"lineno@@"+lineNo);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " select purc_order,ord_date,pord_type,supp_code,site_code__dlv,site_code__ord,site_code__bill,"
+ " status,status_date,dept_code,emp_code,order_db,item_ser,tax_opt,cr_term,ord_amt,tax_amt,tot_amt,"
+ " curr_code,exch_rate,tax_chap,tax_class,tax_env,remarks,tax_date,proj_code,sales_pers,comm_perc,"
......@@ -1014,7 +1064,6 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
if (refDate != null) {
refDateStr = sdf.format(refDate).toString();
}
xmlBuff.append("<ref_date>")
.append("<![CDATA[" + refDateStr + "]]>")
.append("</ref_date>");
......@@ -1110,12 +1159,6 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
}
}
sql = " select site_code,ind_no,item_code,quantity,unit,rate,discount,tax_amt,tot_amt,loc_code,req_date,"
+ " dlv_date,dlv_qty,status,status_date,tax_class,tax_chap,tax_env,remarks,work_order,unit__rate,"
+ " conv__qty_stduom,conv__rtuom_stduom,unit__std,quantity__stduom,RATE__STDUOM,pack_code,no_art,pack_instr,"
......@@ -1396,9 +1439,11 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
if(errString.indexOf("Success")>-1 || errString.equalsIgnoreCase("PRCUSUCCES")||errString.equals("PRCUSUCCES")||errString.equals("PRCUSUCCES"))
{
double indQty=0;
sql = " select sum(quantity) from indent where ind_no = ? ";
/* Below code is used for one indent one porder case and also checking if receipt exist then set indent status should be closed'C'*/
double indQty=0;
int cnt=0,detCnt=0;
sql = " select quantity from indent where ind_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
......@@ -1413,7 +1458,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null;
pstmt.close();
pstmt = null;
sql = " select sum(d.quantity) from porder h,porddet d where h.purc_order=d.purc_order and h.purc_order=? and h.ind_no=? ";
sql = " select sum(d.quantity) from porder h,porddet d where h.purc_order=d.purc_order and d.purc_order=? and d.ind_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder);
pstmt.setString(2, indNo);
......@@ -1428,6 +1473,33 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null;
pstmt.close();
pstmt = null;
sql = " select count(1) from porder a, porddet b "
+ "where a.purc_order = b.purc_order "
+ " and a.purc_order <> ? "
+ "and b.ind_no = ? "
+ "and (case when a.status is null then 'O' else a.status end) = 'O' "
+ "and (case when b.status is null then 'O' else b.status end) = 'O'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
pstmt.setString(2, purcOrder);
rs = pstmt.executeQuery();
if(rs.next())
{
cnt=rs.getInt(1);
}
System.out.println("cnt@@"+cnt);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
/* total qty of purchase order detail is equal to indent quantity*/
if(sumPoQty==indQty)
{
......@@ -1442,8 +1514,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
rs.close();
rs = null;
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
......@@ -1453,13 +1525,79 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
rs.close();
rs = null;
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
if(dlvQty>0)
{
double totalOrdqty=indQty-dlvQty;
System.out.println("comming into dlvQty>0 condition@@");
int updCnt1=0;
sql = " update indent set status = 'C',ord_qty="+totalOrdqty+" where ind_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt1 = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt1);
pstmt.close();
pstmt = null;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
pstmt.setString(2, purcOrder);
//lineNo1
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
pstmt.close();
pstmt = null;
}else
}else if(dlvQty==0)
{
System.out.println("comming into dlvQty==0 condition@@");
int updCnt1=0;
double ordQty=0.0;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
pstmt.setString(2, purcOrder);
pstmt.setString(3, lineNo1);
updCnt1 = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt1);
pstmt.close();
pstmt = null;
//select ord_qty from indent where ind_no=?
sql = " select ord_qty from indent where ind_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
rs= pstmt.executeQuery();
if(rs.next())
{
ordQty=rs.getDouble(1);
}
System.out.println("Indent status updated@@"+updCnt);
pstmt.close();
pstmt = null;
System.out.println("comming into ordQty==0 condition@@");
sql = " update indent set status = 'A' where ind_no = ? ";//,ord_qty=0
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
pstmt.close();
pstmt = null;
}
}else if(sumPoQty<indQty)
{
System.out.println("comming into quantity<indQty condition@@");
int updCnt=0;
......@@ -1472,8 +1610,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
rs.close();
rs = null;
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
......@@ -1483,26 +1621,101 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
rs.close();
rs = null;
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
}else if(cnt>0)
{
/*Case one indent multiple purchase order*/
System.out.println("comming into cnt>0 condition@@for multipo");
int updCnt=0;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
pstmt.setString(2, purcOrder);
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
sql = " update indent set status = 'O' where ind_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
}
/* above code is used for one indent one porder case and also checking if receipt exist then set indent status should be closed'C'*/
//select count(1) from porddet d,indent i where d.ind_no=i.ind_no and d.ind_no='7180002202 ' and d.status='O';
sql = " select count(*) from porddet d,indent i where d.ind_no=i.ind_no and d.ind_no=? and d.status='O' ";
pstmt = conn.prepareStatement(sql);
if(dlvQty>0)
pstmt.setString(1, indNo);
rs = pstmt.executeQuery();
if(rs.next())
{
System.out.println("comming into dlvQty>0 condition@@");
detCnt=rs.getInt(1);
}
System.out.println("detCnt@@"+detCnt);
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(detCnt>0)
{
/*Case one indent multiple purchase order*/
System.out.println("comming into cnt>0 condition@@for multipo");
int updCnt=0;
sql = " update indent set status = 'C' where ind_no = ? ";
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
pstmt.setString(2, purcOrder);
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
sql = " update indent set status = 'O' where ind_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
if(dlvQty>0)
{
double totalOrdqty1=indQty-dlvQty;
System.out.println("comming into dlvQty>0 condition@@");
int updCnt1=0;
sql = " update indent set status = 'C' , ord_qty="+totalOrdqty1+" where ind_no = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt1 = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt1);
pstmt.close();
pstmt = null;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
......@@ -1518,12 +1731,13 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt = null;
}else if(dlvQty==0)
{
}
System.out.println("comming into dlvQty==0 condition@@");
}else
{
System.out.println("comming into det<0 condition@@for multipo");
int updCnt=0;
double ordQty=0.0;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql);
......@@ -1532,41 +1746,28 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
//select ord_qty from indent where ind_no=?
sql = " select ord_qty from indent where ind_no=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
rs= pstmt.executeQuery();
if(rs.next())
{
ordQty=rs.getDouble(1);
}
System.out.println("Indent status updated@@"+updCnt);
pstmt.close();
pstmt = null;
System.out.println("comming into ordQty==0 condition@@");
sql = " update indent set status = 'A' ,ord_qty=0 where ind_no = ? ";
sql = " update indent set status = 'A' where ind_no = ? ";//insert ,ord_qty=0
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close();
pstmt = null;
}
System.out.println("comming into new cof err condition@@"+errString);
return errString;
}
System.out.println("After confiremed error String-->"
+ errString);
return errString;
......
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