Commit 05734f43 authored by msalla's avatar msalla

unpost salesreturn and sales despatch and porcp

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@215713 ce508802-f39f-4f6c-b175-0d175dae99d5
parent db54cb99
......@@ -20,7 +20,11 @@ import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import org.w3c.dom.Document;
import com.itextpdf.text.log.SysoCounter;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.InvAllocTraceBean;
import ibase.webitm.ejb.fin.FinCommon;
import ibase.webitm.ejb.mfg.MfgCommon;
import java.util.*;
......@@ -236,12 +240,17 @@ public class UnpostFin extends ProcessEJB
tableName = "porcp";
pkColName = "tran_id";
}
else if("S-DSP".equals(refSer)) // 17-jan-2020 purchase receipt added by manoharan
else if("S-DSP".equals(refSer)) // 17-jan-2020 sale order despatch added by manoharan
{
tableName = "despatch";
pkColName = "desp_id";
}
System.out.println("Before loop refSer["+ refSer + "]");
else if("S-RET".equals(refSer)) // 20-jan-2020 salesreturn added by monika salla
{
tableName = "sreturn";
pkColName = "tran_id";
}
System.out.println("Before loop refSer["+ refSer + "] REF_ID ["+pkColName+" ] TABLE NAME[ "+tableName);
sql = "select " + pkColName + " as tran_id from " + tableName + " where " + pkColName + " >= ? and " + pkColName + " <= ? and confirmed = 'Y' order by 1 " ;
if("F-XFR".equals(refSer)) // fundtransfer
......@@ -256,6 +265,8 @@ public class UnpostFin extends ProcessEJB
{
tranList.add(rs.getString("tran_id"));
}
System.out.println("sql--->>[ "+sql);
rs.close();
rs = null;
pstmt.close();
......@@ -311,6 +322,66 @@ public class UnpostFin extends ProcessEJB
}
}
//added by monika salla 0n 20 jan 2020 -in case of despatch which are undone through finance unpost option
else if("S-DSP".equals(refSer)) // Purchase receipt
{
//ADD
System.out.println("inside salesdespatch");
errString = unPost(refSer, refId, conn);
if(errString != null && errString.trim().length() > 0 )
{
isError = true;
break;
}
//END
sql = "update despatch set confirmed = 'N' where DESP_ID = ? and confirmed = 'Y'";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setString(1, refId);
count = pstmtUpd.executeUpdate();
pstmtUpd.close();
pstmtUpd = null;
System.out.println("count in despatch "+count);
if(count != 1)
{
isError = true;
errCode = "DS000NR";
errString = getMsg("Update drcr_rcp failed ",errCode, conn);
break;
}
}
//added by monika salla 0n 20 jan 2020 -in case of sales return which are undone through finance unpost option
else if("S-RET".equals(refSer)) // Purchase receipt
{
System.out.println("inside salesreturn");
//ADD
errString = unPost(refSer, refId, conn);
if(errString != null && errString.trim().length() > 0 )
{
isError = true;
break;
}//END
sql = "update sreturn set confirmed = 'N',tran_id__crn=null where tran_id = ? and confirmed = 'Y'";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setString(1, refId);
count = pstmtUpd.executeUpdate();
pstmtUpd.close();
pstmtUpd = null;
System.out.println("count in salesreturn "+count);
if(count != 1)
{
isError = true;
errCode = "DS000NR";
errString = getMsg("Update drcr_rcp failed ",errCode, conn);
break;
}
}
//end
else if("CRNRCP".equals(refSer) || "DRNRCP".equals(refSer)) // credit note (invoice)
{
errString = unPost(refSer, refId, conn);
......@@ -2482,18 +2553,20 @@ public class UnpostFin extends ProcessEJB
String errCode = "", siteCode = "", itemCode = "", locCode = "", lotNo = "", lotSl = "", porder = "", lineNoOrd = "", lineNoRcp = "";
String sql = "", errString = "";
double quantity = 0;
int count = 0;
int count = 0, lineNo = 0;
boolean isError = false;
PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null;
PreparedStatement pstmt = null, pstmt1 = null, pstmtUpd = null, pstmt2 = null, pstmt3= null, pstmt4= null;
ResultSet rs = null, rs1 = null;
String sorder=null,lineNoSord=null,explevel=null,retrepflag=null;
HashMap strAllocate = new HashMap();
InvAllocTraceBean invBean = new InvAllocTraceBean();
try
{
if ("P-RCP".equals(refSer.trim()))
{
sql = "select site_code, item_code, loc_code, lot_no, lot_sl, eff_qty, ref_line "
+ " from invtrace where ref_ser = ? and ref_id = ? and loc_code in('INTR','GIT') " ;
+ " from invtrace where ref_ser = ? and ref_id = ? ";//and loc_code in('INTR','GIT') " ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, refSer);
......@@ -2508,8 +2581,9 @@ public class UnpostFin extends ProcessEJB
lotNo = rs1.getString("lot_no");
lotSl = rs1.getString("lot_sl");
quantity = rs1.getDouble("eff_qty");
lineNoRcp = rs1.getString("site_code");
lineNoRcp = rs1.getString("ref_line");
if (quantity > 0)
{
sql = "select purc_order, line_no__ord from porcpdet "
+ " where tran_id = ? and line_no = ? " ;
pstmt = conn.prepareStatement(sql);
......@@ -2543,7 +2617,7 @@ public class UnpostFin extends ProcessEJB
rs = null;
pstmt.close();
pstmt = null;
}
sql = "update stock set quantity = quantity - ? "
+ " where item_code = ? "
......@@ -2611,6 +2685,7 @@ public class UnpostFin extends ProcessEJB
// 4. stock to be allocated against the despatch
// 5. update despatch/despatchdet status with ' ' (single space)
// 6. update despatch confirmed as N
System.out.println("inside unpost save sale despatch: ref ser[ "+refSer+"] refId ["+refId);
sql = "select site_code, item_code, loc_code, lot_no, lot_sl, eff_qty, ref_line "
+ " from invtrace where ref_ser = ? and ref_id = ? " ;
......@@ -2618,29 +2693,289 @@ public class UnpostFin extends ProcessEJB
pstmt1.setString(1, refSer);
pstmt1.setString(2, refId);
rs1 = pstmt1.executeQuery();
System.out.println("sql---"+sql);
while(rs1.next())
{
System.out.println("sql11---"+sql);
siteCode = rs1.getString("site_code");
itemCode = rs1.getString("item_code");
locCode = rs1.getString("loc_code");
lotNo = rs1.getString("lot_no");
lotSl = rs1.getString("lot_sl");
quantity = rs1.getDouble("eff_qty");
lineNoRcp = rs1.getString("site_code");
lineNoRcp = rs1.getString("ref_line");
//select --sale order--no---
System.out.println(" Despatch details ref ser1 sitecode ["+siteCode+" ] item_code["+itemCode+"] loc_code"+locCode+" ]quantity"+quantity+" ]lineNoRcp"+lineNoRcp);
sql = "select purc_order, line_no__ord from porcpdet "
+ " where tran_id = ? and line_no = ? " ;
sql = "select sord_no,line_no__sord ,exp_lev from despatchdet where desp_id= ? and line_no=?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
pstmt.setString(2, lineNoRcp);
rs = pstmt.executeQuery();
if(rs.next())
{
porder = rs.getString("purc_order");
lineNoOrd = rs.getString("line_no__ord");
sorder = rs.getString("sord_no");
lineNoSord = rs.getString("line_no__sord");
explevel = rs.getString("exp_lev");//end
//added by monika
//(1)update qty_desptch,status
System.out.println("eff qty :"+quantity+ " sql");
sql = "update porddet set dlv_qty = dlv_qty - ? "
if(quantity<0)
{
sql = "update sorditem set qty_desp = qty_desp + ? ,status= ? "
+ " where sale_order = ? and line_no=? and exp_lev=?";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setDouble(1, quantity);
pstmtUpd.setString(2, "P");
pstmtUpd.setString(3, sorder);
pstmtUpd.setString(4, lineNoSord);
pstmtUpd.setString(5, explevel);
count = pstmtUpd.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update purchase order detail failed ",errCode, conn);
break;
}
//end
//(2)update sorddet set status
sql = "update sorddet set status='P' where sale_order = ? and line_no=?";
pstmt2 = conn.prepareStatement(sql);
pstmt2.setString(1,sorder);
pstmt2.setString(2, lineNoSord);
count = pstmt2.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update purchase order detail failed ",errCode, conn);
break;
}
pstmt2.close();
pstmt2=null;//end
}
//(3)update stock set quantity with eff_qty
// sql = "update stock set quantity =(-1) * ? where item_code = ? "
sql = "update stock set quantity =quantity - ? where item_code = ? "
+ " and site_code = ? "
+ " and loc_code = ? "
+ " and lot_no = ? "
+ " and lot_sl = ? ";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setDouble(1, quantity);
pstmtUpd.setString(2, itemCode);
pstmtUpd.setString(3, siteCode);
pstmtUpd.setString(4, locCode);
pstmtUpd.setString(5, lotNo);
pstmtUpd.setString(6, lotSl);
count = pstmtUpd.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update stock order detail failed ",errCode, conn);
break;
}
pstmtUpd.close();
pstmtUpd=null;//end
//update invalocate trace
if(quantity<0)
{
strAllocate = null;
strAllocate = new HashMap();
strAllocate.put("ref_id",refId);
strAllocate.put("ref_line",lineNoRcp.substring(lineNoRcp.length()-3));
strAllocate.put("site_code",siteCode);
strAllocate.put("item_code",itemCode);
strAllocate.put("loc_code",locCode);
strAllocate.put("lot_no",lotNo);
strAllocate.put("lot_sl",lotSl);
strAllocate.put("alloc_qty",new Double(-1 * quantity));
strAllocate.put("chg_win","W_DESPATCH");
strAllocate.put("ref_ser","S-DSP");
String logMsg= refId +" "+explevel+" "+lineNoRcp.substring(lineNoRcp.length()-3) + " "+"Allocation of stock from DespatchPos";
strAllocate.put("alloc_ref",logMsg);
errString = invBean.updateInvallocTrace(strAllocate,conn);
sql ="UPDATE SORDITEM SET QTY_ALLOC = QTY_ALLOC - ? "
+"WHERE SALE_ORDER = ? "
+"AND LINE_NO = ? "
+"AND EXP_LEV = ? ";
System.out.println("Update sql :"+sql);
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setDouble(1,quantity);
pstmtUpd.setString(2,sorder);
pstmtUpd.setString(3,lineNoSord);
pstmtUpd.setString(4,explevel);
count = pstmtUpd.executeUpdate();
System.out.println("Updated the no of records : updateCnt :"+count);
// pstmt.clearParameters();
pstmtUpd.close();
pstmtUpd=null;
}
//end
//update despatch /despatchdet
sql="update despatch set status = ? where desp_id= ? ";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setString(1," ");
pstmtUpd.setString(2, refId);
count = pstmtUpd.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update purchase order detail failed ",errCode, conn);
break;
}
pstmtUpd.close();
pstmtUpd=null;//end
sql = "update despatchdet set status = ? where desp_id= ? and line_no=? ";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setString(1, " ");
pstmtUpd.setString(2, refId);
pstmtUpd.setString(3, lineNoRcp);
count = pstmtUpd.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update purchase order detail failed ",errCode, conn);
break;
}
pstmtUpd.close();
pstmtUpd=null;//end
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
} // to check for sreturn--
/* 1. select invtrace and update stock with -1 * eff_qty
2. if ret_repl_flag in detail is P then allocate stock
3. update sreturn confirmed = 'N', tran_id__crn = null*/
//start
else if ("S-RET".equals(refSer.trim()))
{
sql = "select site_code, item_code, loc_code, lot_no, lot_sl, eff_qty, ref_line "
+ " from invtrace where ref_ser = ? and ref_id = ? ";//and loc_code in('INTR','GIT') " ;
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, refSer);
pstmt1.setString(2, refId);
rs1 = pstmt1.executeQuery();
while(rs1.next())
{
siteCode = rs1.getString("site_code");
itemCode = rs1.getString("item_code");
locCode = rs1.getString("loc_code");
lotNo = rs1.getString("lot_no");
lotSl = rs1.getString("lot_sl");
quantity = rs1.getDouble("eff_qty");
lineNoRcp = rs1.getString("ref_line");
System.out.println(" Despatch details ref ser1 sitecode ["+siteCode+" ] item_code["+itemCode+"] loc_code"+locCode+" ]quantity"+quantity+" ]lineNoRcp"+lineNoRcp);
//(1)update stock set quantity with eff_qty
//sql = "update stock set quantity =quantity - ? where item_code = ? "
sql = "update stock set quantity =quantity - ? where item_code = ? "
+ " and site_code = ? "
+ " and loc_code = ? "
+ " and lot_no = ? "
+ " and lot_sl = ? ";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setDouble(1, quantity);
pstmtUpd.setString(2, itemCode);
pstmtUpd.setString(3, siteCode);
pstmtUpd.setString(4, locCode);
pstmtUpd.setString(5, lotNo);
pstmtUpd.setString(6, lotSl);
count = pstmtUpd.executeUpdate();
if (count != 1)
{
errCode = "DS000NR";
errString = getMsg("Update stock order detail failed ",errCode, conn);
break;
}
pstmtUpd.close();//end
pstmtUpd=null;
lineNo = Integer.parseInt(lineNoRcp.trim());
sql = "select ret_rep_flag from sreturndet where tran_id = ? and line_no = ? " ;
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setString(1, refId);
pstmtUpd.setInt(2, lineNo);
rs = pstmtUpd.executeQuery();
if(rs.next())
{
retrepflag = rs.getString("ret_rep_flag");
}
rs.close();
rs = null;
System.out.println("retrepflag1 ["+retrepflag);
if(quantity<0 && "P".equals(retrepflag))
{
strAllocate = null;
strAllocate = new HashMap();
System.out.println("retrepflag1 ["+retrepflag);
strAllocate.put("ref_id",refId);
strAllocate.put("ref_line",lineNoRcp.substring(lineNoRcp.length()-3));
strAllocate.put("site_code",siteCode);
strAllocate.put("item_code",itemCode);
strAllocate.put("loc_code",locCode);
strAllocate.put("lot_no",lotNo);
strAllocate.put("lot_sl",lotSl);
strAllocate.put("alloc_qty",new Double(-1 * quantity));
strAllocate.put("chg_win","w_salesreturn_retn");
strAllocate.put("ref_ser","S-RET");
String logMsg= refId +" "+explevel+" "+lineNoRcp.substring(lineNoRcp.length()-3) + " "+"Allocation of stock from UnpostFin";
strAllocate.put("alloc_ref",logMsg);
errString = invBean.updateInvallocTrace(strAllocate,conn);
}
}
pstmt1.close();
pstmt1=null;
rs1.close();
rs1=null;
}
//end [MONIKA SALLA]
/* sql = "update porddet set dlv_qty = dlv_qty - ? "
+ " where purc_order = ? and line_no = ? ";
pstmtUpd = conn.prepareStatement(sql);
pstmtUpd.setDouble(1, quantity);
......@@ -2657,14 +2992,16 @@ public class UnpostFin extends ProcessEJB
}
pstmtUpd=null;
pstmtUpd.close();
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
pstmt = null;*/
sql = "update stock set quantity = quantity - ? "
/* sql = "update stock set quantity = quantity - ? "
+ " where item_code = ? "
+ " and site_code = ? "
+ " and loc_code = ? "
......@@ -2685,8 +3022,9 @@ public class UnpostFin extends ProcessEJB
errString = getMsg("Update stock order detail failed ",errCode, conn);
break;
}
}
}*/
/*}
rs1.close();
rs1 = null;
pstmt1.close();
......@@ -2720,8 +3058,8 @@ public class UnpostFin extends ProcessEJB
isError = true;
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