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, ...@@ -487,8 +487,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
String lineNo = "",porcpConfirmed="",tranID=""; String lineNo = "",porcpConfirmed="",tranID="";
String refDateStr = ""; String refDateStr = "";
String taxDateStr = "",errCode=""; String taxDateStr = "",errCode="";
String ordDateStr = "", lineNo1 = "", empCodeQcApr = "",amdConfirmed="",amdNo=""; String ordDateStr = "", lineNo1 = "", empCodeQcApr = "",amdConfirmed="",amdNo="",poRetConfirmed="";
String purcOrder = null; String purcOrder = "";
int forcount = 0, lineCnt = 0; int forcount = 0, lineCnt = 0;
genericUtility = new E12GenericUtility(); genericUtility = new E12GenericUtility();
...@@ -626,7 +626,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -626,7 +626,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt = null; pstmt = null;
// sql = "select tran_id,confirmed from porcp where purc_order=?"; // 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 " + "from porcp h,porcpdet d " +
"where h.purc_order=d.purc_order and h.confirmed='N' " + "where h.purc_order=d.purc_order and h.confirmed='N' " +
"and h.purc_order=? " + "and h.purc_order=? " +
...@@ -637,8 +637,9 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -637,8 +637,9 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) { if(rs.next()) {
tranID = rs.getString(1); tranID = rs.getString(1);
porcpConfirmed=rs.getString(2);
porcpConfirmed=rs.getString(2);
//porcpConfirmed
if(porcpConfirmed.equals("N")||porcpConfirmed.equalsIgnoreCase("N")) if(porcpConfirmed.equals("N")||porcpConfirmed.equalsIgnoreCase("N"))
{ {
...@@ -657,7 +658,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -657,7 +658,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
String descrEnd = descrStr.substring(descrStr.indexOf("]"),descrStr.length()); String descrEnd = descrStr.substring(descrStr.indexOf("]"),descrStr.length());
String value = " ; Purchase order is : " + purcOrder String value = " ; Purchase order is : " + purcOrder
+" ; Reciept tran_ID : "+ tranID +" ; " ; +" ; Reciept tran_ID : "+ tranID +" ; Line No: "+lineNo+" ;" ;
System.out.println("Value ::: "+ value); System.out.println("Value ::: "+ value);
...@@ -675,7 +676,56 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -675,7 +676,56 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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," 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," + " 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," + " 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, ...@@ -1014,7 +1064,6 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
if (refDate != null) { if (refDate != null) {
refDateStr = sdf.format(refDate).toString(); refDateStr = sdf.format(refDate).toString();
} }
xmlBuff.append("<ref_date>") xmlBuff.append("<ref_date>")
.append("<![CDATA[" + refDateStr + "]]>") .append("<![CDATA[" + refDateStr + "]]>")
.append("</ref_date>"); .append("</ref_date>");
...@@ -1110,12 +1159,6 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -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," 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," + " 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," + " 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, ...@@ -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")) 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 = conn.prepareStatement(sql);
pstmt.setString(1, indNo); pstmt.setString(1, indNo);
...@@ -1413,7 +1458,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1413,7 +1458,7 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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 = conn.prepareStatement(sql);
pstmt.setString(1, purcOrder); pstmt.setString(1, purcOrder);
pstmt.setString(2, indNo); pstmt.setString(2, indNo);
...@@ -1428,6 +1473,33 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1428,6 +1473,33 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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) if(sumPoQty==indQty)
{ {
...@@ -1442,8 +1514,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1442,8 +1514,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1); pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt); System.out.println("porder status updated@@"+updCnt);
rs.close(); //rs.close();
rs = null; //rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
...@@ -1453,13 +1525,79 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1453,13 +1525,79 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(1, indNo); pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt); System.out.println("Indent status updated@@"+updCnt);
rs.close(); //rs.close();
rs = null; //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.close();
pstmt = null; 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@@"); System.out.println("comming into quantity<indQty condition@@");
int updCnt=0; int updCnt=0;
...@@ -1472,8 +1610,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1472,8 +1610,8 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1); pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt); System.out.println("porder status updated@@"+updCnt);
rs.close(); //rs.close();
rs = null; //rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
...@@ -1483,26 +1621,101 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1483,26 +1621,101 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(1, indNo); pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt); System.out.println("Indent status updated@@"+updCnt);
rs.close(); //rs.close();
rs = null; //rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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; 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 = conn.prepareStatement(sql);
pstmt.setString(1, indNo); pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt); 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.close();
pstmt = null; pstmt = null;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? "; 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, ...@@ -1518,12 +1731,13 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt = null; 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; int updCnt=0;
double ordQty=0.0;
sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? "; sql = " update porddet set status = 'C' where ind_no = ? and purc_order=? and line_no=? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
...@@ -1532,41 +1746,28 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal, ...@@ -1532,41 +1746,28 @@ public class PorderClosePrc extends ProcessEJB implements PorderClosePrcLocal,
pstmt.setString(3, lineNo1); pstmt.setString(3, lineNo1);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("porder status updated@@"+updCnt); System.out.println("porder status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close(); pstmt.close();
pstmt = null; 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);
} sql = " update indent set status = 'A' where ind_no = ? ";//insert ,ord_qty=0
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 = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, indNo); pstmt.setString(1, indNo);
updCnt = pstmt.executeUpdate(); updCnt = pstmt.executeUpdate();
System.out.println("Indent status updated@@"+updCnt); System.out.println("Indent status updated@@"+updCnt);
//rs.close();
//rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
System.out.println("comming into new cof err condition@@"+errString); System.out.println("comming into new cof err condition@@"+errString);
return errString; return errString;
} }
System.out.println("After confiremed error String-->" System.out.println("After confiremed error String-->"
+ errString); + errString);
return 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