Commit 42e79389 authored by asikarwar's avatar asikarwar

add to column hold flag and qty allocated and update hold flag in sorderdet table


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91897 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b391ff1b
/*
Window Name : w_sordalloc
*/
*/
package ibase.webitm.ejb.dis;
......@@ -41,7 +41,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String custCodeTo = null;
String custCode = null;
String DefaultQtyFlag= null;
String saleOrderFr = null;
String saleOrderTo = null;
String postOrderFg = null;
......@@ -57,7 +57,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
ArrayList saleOrderArr = new ArrayList();
ArrayList custCodeArr = new ArrayList();
ArrayList dueDateArr = new ArrayList();
InvAllocTrace invallocTrace = new InvAllocTrace();
GenericUtility genericUtility = GenericUtility.getInstance();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
......@@ -66,12 +66,12 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String chgUser = null;
String chgTerm = null;
/*public void ejbCreate() throws RemoteException, CreateException
/*public void ejbCreate() throws RemoteException, CreateException
{
try
{
System.out.println("StockAllocationPrcEJB ejbCreate called.........");
}
catch (Exception e)
{
......@@ -88,7 +88,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
public void ejbPassivate()
{
}
*/
*/
public String process() throws RemoteException,ITMException
{
return "";
......@@ -125,13 +125,13 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
public String getData(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
String errCode = "";
String errString = "";
String getDataSql= "" ;
String sql= "" ;
String resultString = "";
Connection conn = null;
ResultSet rs = null;
ResultSet rs1 = null;
......@@ -141,14 +141,14 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
double pendQty = 0;
double allocQty = 0;
boolean bappend = false ;
try
{
ConnDriver connDriver = new ConnDriver();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getDBDateFormat());
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
siteCode = genericUtility.getColumnValue("site_code",headerDom);
if ( siteCode == null || siteCode.trim().length() == 0 )
{
......@@ -184,8 +184,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
return errString;
}
System.out.println("Item Ser To"+itemSerTo);
custCodeFr = genericUtility.getColumnValue("cust_code__from",headerDom);
if ( custCodeFr == null || custCodeFr.trim().length() == 0 )
custCodeFr = genericUtility.getColumnValue("cust_code__from",headerDom);
if ( custCodeFr == null || custCodeFr.trim().length() == 0 )
{
custCodeFr = "";
System.out.println("Cust Code From is Null...");
......@@ -202,15 +202,15 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
return errString;
}
System.out.println("custCodeTo"+ custCodeTo);
saleOrderFr = genericUtility.getColumnValue("sale_order__from",headerDom);
if ( saleOrderFr == null || saleOrderFr.trim().length() == 0 )
saleOrderFr = genericUtility.getColumnValue("sale_order__from",headerDom);
if ( saleOrderFr == null || saleOrderFr.trim().length() == 0 )
{
saleOrderFr = "";
System.out.println("Sale Order From is Null...");
errString = itmDBAccessEJB.getErrorString("","VTMRPPARM","","",conn);
return errString;
}
saleOrderTo = genericUtility.getColumnValue("sale_order__to",headerDom);
if ( saleOrderTo == null || saleOrderTo.trim().length() == 0 )
{
......@@ -219,8 +219,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
errString = itmDBAccessEJB.getErrorString("","VTMRPPARM","","",conn);
return errString;
}
sDateFr = genericUtility.getColumnValue("due_date__from",headerDom);
if ( sDateFr == null || sDateFr.trim().length() == 0 )
sDateFr = genericUtility.getColumnValue("due_date__from",headerDom);
if ( sDateFr == null || sDateFr.trim().length() == 0 )
{
sDateFr = "";
System.out.println("Date From is Null...");
......@@ -229,7 +229,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
sDateFr = genericUtility.getValidDateString(sDateFr, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
dateFr = java.sql.Timestamp.valueOf(sDateFr + " 00:00:00");
sDateTo = genericUtility.getColumnValue("due_date__to",headerDom);
if ( sDateTo == null || sDateTo.trim().length() == 0 )
{
......@@ -240,7 +240,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
sDateTo = genericUtility.getValidDateString(sDateTo, genericUtility.getApplDateFormat(), genericUtility.getDBDateFormat());
dateTo = java.sql.Timestamp.valueOf(sDateTo + " 00:00:00");
DefaultQtyFlag = genericUtility.getColumnValue("default_qty_flag",headerDom);
if(DefaultQtyFlag == null || DefaultQtyFlag.trim().length() == 0)
{
......@@ -249,36 +249,37 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
errString = itmDBAccessEJB.getErrorString("","VTMRPPARM","","",conn);
return errString;
}
getDataSql = "SELECT SORDER.CUST_CODE, CUSTOMER.CUST_NAME,SORDDET.LINE_NO, "
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE__SHIP,SORDITEM.EXP_LEV "
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM "
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
+" SORDER.SITE_CODE = ? AND "
+" ITEM.ITEM_SER >=? AND "
+" ITEM.ITEM_SER <=? AND "
+" CUSTOMER.CUST_CODE >=? AND "
+" CUSTOMER.CUST_CODE <=? AND "
+" SORDER.SALE_ORDER >= ? AND "
+" SORDER.SALE_ORDER <= ? AND "
+" SORDER.DUE_DATE >= ? AND"
+" SORDER.DUE_DATE <= ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+"AND SORDITEM.LINE_TYPE = 'I'"
+"ORDER BY SORDER.CUST_CODE,SORDER.SALE_ORDER,SORDITEM.ITEM_CODE__ORD";
+"SORDER.SALE_ORDER,SORDER.DUE_DATE,SORDITEM.ITEM_CODE,"
+"ITEM.DESCR,SORDITEM.QUANTITY,"
+"SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC PENDING_QUANTITY,"
+"SORDITEM.QTY_ALLOC,SORDDET.PACK_INSTR,"
+"SORDER.SITE_CODE__SHIP,SORDITEM.EXP_LEV , "
+"CASE WHEN SORDDET.HOLD_FLAG IS NULL THEN 'N' ELSE SORDDET.HOLD_FLAG END "// ADDED BY AKHILESH FOR NEW COLUNM
+"FROM SORDDET,SORDER,SORDITEM,CUSTOMER,ITEM "
+"WHERE ( SORDER.SALE_ORDER = SORDDET.SALE_ORDER ) AND "
+"( SORDITEM.SALE_ORDER = SORDER.SALE_ORDER ) AND "
+"( SORDDET.LINE_NO = SORDITEM.LINE_NO ) AND "
+"( SORDITEM.ITEM_CODE = ITEM.ITEM_CODE ) AND "
+"( SORDER.CUST_CODE = CUSTOMER.CUST_CODE ) AND "
+"( SORDDET.SITE_CODE = SORDITEM.SITE_CODE ) AND "
+" SORDER.SITE_CODE = ? AND "
+" ITEM.ITEM_SER >=? AND "
+" ITEM.ITEM_SER <=? AND "
+" CUSTOMER.CUST_CODE >=? AND "
+" CUSTOMER.CUST_CODE <=? AND "
+" SORDER.SALE_ORDER >= ? AND "
+" SORDER.SALE_ORDER <= ? AND "
+" SORDER.DUE_DATE >= ? AND"
+" SORDER.DUE_DATE <= ? "
+"AND CASE WHEN SORDDET.STATUS IS NULL THEN 'P' ELSE SORDDET.STATUS end <> 'C' "
+"AND CASE WHEN SORDER.STATUS IS NULL THEN 'P' ELSE SORDER.STATUS end = 'P' "
+"AND SORDITEM.QUANTITY - SORDITEM.QTY_DESP - SORDITEM.QTY_ALLOC > 0 "
+"AND SORDITEM.LINE_TYPE = 'I' "
+"ORDER BY SORDER.CUST_CODE,SORDER.SALE_ORDER,SORDITEM.ITEM_CODE__ORD";
pstmt = conn.prepareStatement(getDataSql);
pstmt.setString(1,siteCode);
pstmt.setString(2,itemSerFr);
pstmt.setString(3,itemSerTo);
......@@ -290,7 +291,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
pstmt.setTimestamp(9,dateTo);
st = conn.createStatement();
rs = pstmt.executeQuery();
if(rs.next())
{
do
......@@ -302,19 +303,19 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
balStockQty = Double.parseDouble(itemCodeMap.get(rs.getString(6)).toString());
bappend = false ;
}
else
{
sql ="SELECT SUM(STOCK.QUANTITY - STOCK.ALLOC_QTY ) "
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = '"+ rs.getString(6) + "'"
+"AND STOCK.SITE_CODE = '"+ rs.getString(12) +"'"
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY) > 0 ";
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = '"+ rs.getString(6) + "'"
+"AND STOCK.SITE_CODE = '"+ rs.getString(12) +"'"
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY) > 0 ";
rs1 = st.executeQuery(sql);
if (rs1.next())
{
......@@ -328,7 +329,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
rs1.close();
}
//if (balStockQty > 0)
if(itemCodeMap.containsKey(rs.getString(6)))
{
......@@ -344,7 +345,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//DUE_DATE
retTabSepStrBuff.append(rs.getTimestamp(5)).append("\t");
dueDate = rs.getTimestamp(5);
//ITEM_CODE
retTabSepStrBuff.append(rs.getString(6)).append("\t");
//DESCR
......@@ -354,8 +355,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//PENDING_QUANTITY
retTabSepStrBuff.append(rs.getDouble(9)).append("\t");
//STOCK_QUANTITY
pendQty = rs.getDouble(9);
pendQty = rs.getDouble(9);
//***** check itemhashmap wheather current item_code already exists
// if not add to itemhashmap and get the stock as follows and set in
// tabdelimited string else nothing is to be done just consider the stock as 0
......@@ -367,12 +368,14 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
retTabSepStrBuff.append("0").append("\t");
}
///////////////////////////////////////////////////////////////////////////////////
// alloc_qty to be set based on stock availability
// it should not be more than pending quantity
// the balance quantity to be updated in itemCodeMap
// and to be used for the item's next iteration
//QTY_ALLOC
if(balStockQty >= pendQty)
{
......@@ -392,10 +395,9 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
retTabSepStrBuff.append("0").append("\t");
}
// this line has to be commented later
// as this will be a input from the user
// as this will be a input from the user
itemCodeMap.put(rs.getString(6), new Double(balStockQty));
//PACK_INSTR
retTabSepStrBuff.append(rs.getString(11)).append("\t");
......@@ -403,16 +405,22 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
retTabSepStrBuff.append(rs.getString(12)).append("\t");
//EXP_LEV
retTabSepStrBuff.append(rs.getString(13)).append("\t");
retTabSepStrBuff.append(" ").append("\n");
//Hold Flag
retTabSepStrBuff.append(rs.getString(14)).append("\t");// ADDED BY AKHILESH
//qty allocated
retTabSepStrBuff.append(rs.getDouble(10)).append("\t");// ADDED BY AKHILESH
retTabSepStrBuff.append("\n");
}
}while(rs.next());
resultString = retTabSepStrBuff.toString();
System.out.println("ResultString....." + resultString);
pstmt.clearParameters();
}
else
{
errCode ="VTNOREC2";
......@@ -422,7 +430,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
resultString = itmDBAccessEJB.getErrorString("", errCode, "", "", conn);
System.out.println("resultString: "+resultString);
}
rs.close();
}
catch (SQLException e)
......@@ -462,7 +470,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
return resultString;
}
//Process Method
public String process(String xmlString, String xmlString2, String windowName, String xtraParams) throws RemoteException,ITMException
......@@ -470,7 +478,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String retStr = "";
Document detailDom = null;
Document headerDom = null;
GenericUtility genericUtility = GenericUtility.getInstance();
System.out.println("below genericUtility--------------->>>>>>>>>");
try
......@@ -485,9 +493,9 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
detailDom = genericUtility.parseString(xmlString2);
System.out.println("detailDom" + detailDom);
}
retStr = process(headerDom, detailDom, windowName, xtraParams);
retStr = process(headerDom, detailDom, windowName, xtraParams);
}
catch (Exception e)
{
......@@ -496,7 +504,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
retStr = e.getMessage();
}
return retStr;
}
public String process(Document headerDom, Document detailDom, String windowName, String xtraParams) throws RemoteException,ITMException
{
......@@ -520,36 +528,37 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
double qtyAvailAlloc = 0;
String stockQuantity = "";
String errString = "";
String holdFlag = "";
String getDataSql= null;
String insertSql = null;
String updateSql = null;
Connection conn = null;
ResultSet rs = null;
ResultSet rs1 = null;
ResultSet rs2 = null;
int updCnt = 0;
int parentNodeListLength = 0;
int childNodeListLength = 0;
NodeList parentNodeList = null;
NodeList childNodeList = null;
Node parentNode = null;
Node childNode = null;
PreparedStatement pstmt = null;
Statement st = null;
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
try
{
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
chgTerm = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "termId");
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
......@@ -559,7 +568,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
for (int selectedRow = 0; selectedRow < parentNodeListLength; selectedRow++)
{
parentNode = parentNodeList.item(selectedRow);
childNodeList = parentNode.getChildNodes();
childNodeListLength = childNodeList.getLength();
System.out.println("childNodeListLength---->>> "+ childNodeListLength);
......@@ -567,12 +576,12 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
childNode = childNodeList.item(childRow);
childNodeName = childNode.getNodeName();
System.out.println("childNodeName---->>> "+ childNodeName);
System.out.println("childNodeName---->>> "+ childNodeName);
if (childNodeName.equals("stock_quantity"))
{
stockQuantity = childNode.getFirstChild().getNodeValue();
}
if (childNodeName.equals("sale_order"))
{
saleOrder = childNode.getFirstChild().getNodeValue();
......@@ -596,25 +605,29 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
expLev = childNode.getFirstChild().getNodeValue();
}
if (childNodeName.equals("hold_flag"))
{
holdFlag = childNode.getFirstChild().getNodeValue();
}
}//inner for loop
if(allocQty > 0)
{
System.out.println("if calling........");
errString = sorderAllocate(saleOrder, lineNo, itemCode, allocQty, expLev);
errString = sorderAllocate(saleOrder, lineNo, itemCode, allocQty, expLev ,holdFlag);
if (errString != null && errString.trim().length() > 0)
{
System.out.println("errString :"+errString);
return errString;
}
}
}// out for loop
/*Commented By Manoj Sharma dtd 29/032012 Not required as discussed with Manohar Sir
/*Commented By Manoj Sharma dtd 29/032012 Not required as discussed with Manohar Sir
if(postOrderFg.equals("Y"))
{
errString = postOrder(saleOrderArr, xtraParams);
if (errString != null && errString.trim().length() > 0)
{
......@@ -622,7 +635,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
return errString;
}
}*/
}//try end
catch(Exception e)
{
......@@ -646,14 +659,14 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
conn.close();
conn = null;
}
}
catch(Exception e)
{
errString = e.getMessage();
e.printStackTrace();
return errString ;
}
if (errString == null || errString.trim().length() == 0)
{
......@@ -666,13 +679,13 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
errString="VTPRCERR";
errString = itmDBAccessEJB.getErrorString("",errString,"","",conn);
return errString;
}
}
}
private String sorderAllocate(String saleOrder, String lineNo, String itemCode, double allocQty, String expLev) throws ITMException
private String sorderAllocate(String saleOrder, String lineNo, String itemCode, double allocQty, String expLev ,String holdFlag) throws ITMException
{
System.out.println("updateSOrder calling ..............");
String getDataSql = null;
......@@ -718,7 +731,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
Statement st = null;
ResultSet rs = null ;
ResultSet rsSItem = null;
try
{
ConnDriver connDriver = new ConnDriver();
......@@ -727,11 +740,11 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
// 21/08/12 manoharan get the shipping site
getDataSql = "SELECT SITE_CODE__SHIP FROM SORDER WHERE SALE_ORDER = ? ";
pstmtStock = conn.prepareStatement(getDataSql);
pstmtStock.setString(1,saleOrder);
rs = pstmtStock.executeQuery();
System.out.println("siteCode------"+ siteCode);
if(rs.next())
{
......@@ -742,29 +755,29 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
pstmtStock.close();
pstmtStock = null;
// end 21/08/12 manoharan get the shipping site
System.out.println("siteCode------"+ siteCode);
getDataSql = "SELECT STOCK.LOT_NO,STOCK.LOT_SL,"
+"STOCK.LOC_CODE, "
+"STOCK.UNIT, "
+"(STOCK.QUANTITY - STOCK.ALLOC_QTY ) AS QTY_AVAIL_ALLOC ,"
+"STOCK.GRADE,STOCK.EXP_DATE,STOCK.CONV__QTY_STDUOM,STOCK.QUANTITY, "
+"STOCK.MFG_DATE,STOCK.SITE_CODE__MFG "
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = ? AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY) > 0 "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' )";
+"STOCK.LOC_CODE, "
+"STOCK.UNIT, "
+"(STOCK.QUANTITY - STOCK.ALLOC_QTY ) AS QTY_AVAIL_ALLOC ,"
+"STOCK.GRADE,STOCK.EXP_DATE,STOCK.CONV__QTY_STDUOM,STOCK.QUANTITY, "
+"STOCK.MFG_DATE,STOCK.SITE_CODE__MFG "
+"FROM STOCK,ITEM,LOCATION,INVSTAT "
+"WHERE (ITEM.ITEM_CODE = STOCK.ITEM_CODE) "
+"AND (LOCATION.LOC_CODE = STOCK.LOC_CODE ) "
+"AND (LOCATION.INV_STAT = INVSTAT.INV_STAT) "
+"AND INVSTAT.AVAILABLE = 'Y' "
+"AND STOCK.ITEM_CODE = ? AND STOCK.SITE_CODE = ? "
+"AND (STOCK.QUANTITY - STOCK.ALLOC_QTY) > 0 "
+"AND NOT EXISTS (SELECT 1 FROM INV_RESTR I WHERE I.INV_STAT = INVSTAT.INV_STAT AND I.REF_SER = 'S-DSP' )";
pstmtStock = conn.prepareStatement(getDataSql);
pstmtStock.setString(1,itemCode);
pstmtStock.setString(2,siteCode);
rs = pstmtStock.executeQuery();
System.out.println("siteCode------"+ siteCode);
System.out.println("itemCode------"+ itemCode);
......@@ -794,7 +807,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
mfgDate = rs.getDate(10);
//SITE_CODE__MFG
siteCodeMfg = rs.getString(11);
invallocTrace.setRefSer("S-ALC");
invallocTrace.setRefId(saleOrder);
invallocTrace.setRefLine(lineNo);
......@@ -812,34 +825,34 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
lotQtyToBeAllocated = allocQty;
}
invallocTrace.setAllocQty(lotQtyToBeAllocated);
//
//
allocQty -= lotQtyToBeAllocated ;
System.out.print("AllocQty = " + lotQtyToBeAllocated);
if (lotQtyToBeAllocated > 0)
{
invallocTrace.setChgUser(chgUser);
invallocTrace.setChgTerm(chgTerm);
invallocTrace.setChgWin("W_SORDALLOC" );
errString = updateInvallocTrace(invallocTrace, conn);
if (errString != null && errString.trim().length() > 0)
{
System.out.println("manohar connection rolledback errString :::"+ errString );
conn.rollback();
return errString;
}
if (!saleOrderArr.contains(saleOrder))
{
saleOrderArr.add(saleOrderArr.size() , saleOrder);
}
sorditemSql = "SELECT ITEM_CODE,ITEM_CODE__ORD,UNIT, QTY_DESP, ITEM_REF,"
+" QUANTITY - QTY_DESP PENDING_QUANTITY "
+" FROM SORDITEM WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
+" QUANTITY - QTY_DESP PENDING_QUANTITY "
+" FROM SORDITEM WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
System.out.println("sorditemSql:::"+sorditemSql);
st = conn.createStatement();
rsSItem = st.executeQuery(sorditemSql);
......@@ -862,24 +875,24 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
rsSItem.close();
st.close();
updateSorditem ="UPDATE SORDITEM SET QTY_ALLOC = CASE WHEN QTY_ALLOC IS NULL THEN 0 ELSE QTY_ALLOC END + " + new Double(lotQtyToBeAllocated).toString()
+" WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
+" WHERE SALE_ORDER = '" + saleOrder + "' "
+" AND LINE_NO = '" + lineNo + "' "
+" AND EXP_LEV = '" + expLev + "' ";
System.out.println("updateSql------->"+updateSorditem);
st = conn.createStatement();
st.executeUpdate(updateSorditem);
System.out.println("UPDATE SUCCESS FOR SORDITEM....>>>>>>>>");
sorditemSql = "SELECT COUNT(1) FROM SORDALLOC "
+ " WHERE SALE_ORDER = '" + saleOrder + "' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
+ " WHERE SALE_ORDER = '" + saleOrder + "' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
rsSItem = st.executeQuery(sorditemSql);
int count = 0 ;
if (rsSItem.next())
......@@ -890,18 +903,18 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
rsSItem=null;
st.close();
st=null;
if (count > 0 )
{
updateSql = "UPDATE SORDALLOC SET QTY_ALLOC = QTY_ALLOC + " + new Double(lotQtyToBeAllocated).toString()
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' "
+ " AND EXP_LEV = '" + expLev + "' "
+ " AND ITEM_CODE__ORD = '" + itemCodeOrd + "' "
+ " AND ITEM_CODE = '" + itemCode + "' "
+ " AND LOT_NO = '" + lotNo + "' "
+ " AND LOT_SL = '" + lotSl + "' "
+ " AND LOC_CODE = '" + locCode + "' " ;
System.out.println("updateSql:::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
......@@ -912,15 +925,15 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
else
{
insertSql ="INSERT INTO SORDALLOC (SALE_ORDER,LINE_NO,EXP_LEV,ITEM_CODE__ORD,SITE_CODE ,"
+"ITEM_CODE,QUANTITY ,LOT_NO, LOT_SL, LOC_CODE, UNIT, QTY_ALLOC,"
+"ITEM_REF, DATE_ALLOC, STATUS,ITEM_GRADE, EXP_DATE, ALLOC_MODE, "
+" CONV__QTY_STDUOM, UNIT__STD, QUANTITY__STDUOM, "
+"MFG_DATE, SITE_CODE__MFG ) "
+"VALUES ( ?, ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,"
+" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ;
+"ITEM_CODE,QUANTITY ,LOT_NO, LOT_SL, LOC_CODE, UNIT, QTY_ALLOC,"
+"ITEM_REF, DATE_ALLOC, STATUS,ITEM_GRADE, EXP_DATE, ALLOC_MODE, "
+" CONV__QTY_STDUOM, UNIT__STD, QUANTITY__STDUOM, "
+"MFG_DATE, SITE_CODE__MFG ) "
+"VALUES ( ?, ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ,"
+" ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) " ;
pstmtStockInsertSordAlloc = conn.prepareStatement(insertSql);
System.out.println("Insert Sql :"+ insertSql );
//SALE_ORDER
pstmtStockInsertSordAlloc.setString(1, saleOrder);
......@@ -981,7 +994,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
//UNIT__STD
pstmtStockInsertSordAlloc.setString(20,unitStd);
System.out.println("unitStd------->"+unitStd);
quantityStduom = convQtyStduom * lotQtyToBeAllocated ;
//QUANTITY__STDUOM
pstmtStockInsertSordAlloc.setDouble(21,quantityStduom);
......@@ -993,14 +1006,29 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
pstmtStockInsertSordAlloc.setString(23,siteCodeMfg);
System.out.println("siteCodeMfg------->"+siteCodeMfg);
//QTY_DESP
intCnt = pstmtStockInsertSordAlloc.executeUpdate();
System.out.println("insertion success ...............>>>>>>>>");
pstmtStockInsertSordAlloc.close();
}//end else
//st.close();
//added by akhilesh to update hold_flag
updateSql = "UPDATE SORDDET SET HOLD_FLAG ='"+holdFlag+"'"
+ " WHERE SALE_ORDER = '" + saleOrder + " ' "
+ " AND LINE_NO = '" + lineNo + "' ";
System.out.println("updateSql::>>>>"+ updateSql);
st = conn.createStatement();
st.executeUpdate(updateSql);
st.close();
st=null;
System.out.println("UPDATE SUCCESS FOR SORDDET....");
//ended by akhilesh
}//end of if(lotQtyToBeAllocated > 0)
}//end of while
rs.close();
pstmtStock.clearParameters();
......@@ -1033,8 +1061,8 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
e = e1;
}
return errString ;
}
finally
{
......@@ -1071,11 +1099,11 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
errString = e.getMessage();
e.printStackTrace();
return errString ;
}
return errString;
}
}
// updateInvallocTrace
......@@ -1097,21 +1125,21 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
String lotSl = invallocTrace.getLotSl();
double allocQty = invallocTrace.getAllocQty();
String chgUser = invallocTrace.getChgUser();
String chgTerm = invallocTrace.getChgTerm();
String chgWin = invallocTrace.getChgWin();
String chgTerm = invallocTrace.getChgTerm();
String chgWin = invallocTrace.getChgWin();
java.sql.Date chgDate = new java.sql.Date(System.currentTimeMillis());
//Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rSet = null ;
Statement stmt = null;
String tranId = null;
try
{
keyStringQuery = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE UPPER(TRAN_WINDOW) = 'T_ALLOCTRACE'";
System.out.println("keyStringQuery--------->>"+keyStringQuery);
try
{
keyStringQuery = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE UPPER(TRAN_WINDOW) = 'T_ALLOCTRACE'";
System.out.println("keyStringQuery--------->>"+keyStringQuery);
//ConnDriver connDriver = new ConnDriver();
//conn = connDriver.getConnectDB("DriverITM");
//conn = connDriver.getConnectDB("DriverITM");
//connDriver = null;
stmt = conn.createStatement();
rSet = stmt.executeQuery(keyStringQuery);
......@@ -1125,19 +1153,19 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
keyCol = rSet.getString(2);
tranSer1 = rSet.getString(3);
}
java.util.Date date = null;
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(genericUtility.getDBDateFormat());
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
System.out.println(genericUtility.getDBDateFormat());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
String tranDateStr = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString();
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
String tranDateStr = (new SimpleDateFormat(genericUtility.getApplDateFormat())).format(timestamp).toString();
System.out.println("keyString :"+keyString);
System.out.println("keyCol :"+keyCol);
System.out.println("tranSer1 :"+tranSer1);
String xmlValues = "";
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
......@@ -1152,13 +1180,13 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE", commonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer1, keyCol, keyString, conn);
System.out.println("tranId :"+tranId);
sql = "INSERT INTO INVALLOC_TRACE (TRAN_ID, TRAN_DATE, REF_SER, REF_ID,"
+"REF_LINE,ITEM_CODE, SITE_CODE, LOC_CODE,LOT_NO, LOT_SL, ALLOC_QTY, CHG_WIN,"
+"CHG_USER, CHG_TERM, CHG_DATE )VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
System.out.println("trans id="+tranId);
System.out.println("tranDate="+tranDate);
System.out.println("refSer="+refSer);
......@@ -1174,7 +1202,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
System.out.println("chgUser="+chgUser);
System.out.println("chgTerm="+chgTerm);
System.out.println("chgDate="+chgDate);
pstmt.setString(1,tranId);
pstmt.setDate(2,tranDate);
pstmt.setString(3,refSer);
......@@ -1192,13 +1220,13 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
pstmt.setDate(15,chgDate);
pstmt.executeUpdate();
System.out.println("insertion of sql inside updateInvallocTrace success on date "+ chgDate);
System.out.println("Stock Updated...............................");
if(allocQty >= 0)
{
sqlUpdate = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ? "
+"WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
+"WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt = conn.prepareStatement(sqlUpdate);
pstmt.setDouble(1,allocQty);
pstmt.setString(2,itemCode);
......@@ -1222,7 +1250,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
errString = e.getMessage();
e.printStackTrace();
return errString;
}
catch(Exception e)
{
......@@ -1238,7 +1266,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
e = e1;
}
return errString;
}
finally
{
......@@ -1246,18 +1274,18 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
{
//if(conn != null)
//{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(stmt != null)
{
stmt.close();
stmt = null;
}
//conn.close();
//conn = null;
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if(stmt != null)
{
stmt.close();
stmt = null;
}
//conn.close();
//conn = null;
//}
}
catch(Exception e)
......@@ -1268,7 +1296,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
return errString;
}
}
/*Commented By Manoj Sharma dtd 29/032012 Not required as discussed with Manohar Sir
private String postOrder(ArrayList saleOrderArr, String xtraParams) throws ITMException
......@@ -1299,7 +1327,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
SessionManager.Session session = manager.createSession("jagadmin", "");
SessionManager.Factory factory = FactoryHelper.narrow(session.lookup("webitm4/nvo_business_object_win_methods"));
comp = nvo_business_object_win_methodsHelper.narrow(factory.create());
System.out.println("saleOrderArr.size() ::" + saleOrderArr.size());
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
......@@ -1333,7 +1361,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
System.out.println("dueDate to ::"+ dueDate);
//lot_sl
TabSepStrBuff.append(" ").append("\t");
TabSepStrBuff.append(" ").append("\t");
System.out.println("orderType:::"+orderType);
adjDrcr = itmDBAccessEJB.getEnvDis("999999", "ADJUST_DR_CR_NOTE",conn);
......@@ -1369,20 +1397,20 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
System.out.println("siteCode::"+ siteCode);
TabSepStrBuff.append("TEMP SITE").append("\n");
String retTabSepStr = TabSepStrBuff.toString();
System.out.println("Tabstring :" + retTabSepStr);
errString = comp.gbf_process("nvo_bo_post_order",retTabSepStr , "" , xtraParams);
if (errString != null && errString.trim().length() > 0)
{
System.out.println("errString :"+ errString);
return errString ;
}
}
}
}//try
catch(SQLException se)
......@@ -1391,7 +1419,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
se.printStackTrace();
errString = se.getMessage();
return errString ;
}
catch(Exception e)
{
......@@ -1407,7 +1435,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
e = e1;
}
return errString ;
}
finally
{
......@@ -1432,7 +1460,7 @@ public class StockAllocationPrc extends ProcessEJB implements StockAllocationPrc
}
return errString ;
}
}*/
void cleanup()
{
......
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