Commit a5b78e09 authored by ssarkar's avatar ssarkar

Update by Manoj Sharma on 06/02/13


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92648 ce508802-f39f-4f6c-b175-0d175dae99d5
parent f53536d2
...@@ -100,6 +100,10 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -100,6 +100,10 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
Timestamp date1 = null; Timestamp date1 = null;
String remarks=""; String remarks="";
String isStock=""; String isStock="";
SimpleDateFormat sdf=null;
//java.util.Date currDate=null;
//String currDateStr="";
java.sql.Timestamp dts=null;
// added by cpatil end 06-sept-12 // added by cpatil end 06-sept-12
...@@ -117,6 +121,9 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -117,6 +121,9 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
{ {
case 1: case 1:
{ {
sdf= new SimpleDateFormat(genericUtility.getDBDateFormat());
dts=java.sql.Timestamp.valueOf(sdf.format(new java.util.Date()).toString() + " 00:00:00.0");
parentNodeList = dom.getElementsByTagName("Detail1"); parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0); parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes(); childNodeList = parentNode.getChildNodes();
...@@ -160,6 +167,32 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -160,6 +167,32 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
errString = getErrorString("loc_code","VTLOCCD",userId); errString = getErrorString("loc_code","VTLOCCD",userId);
break; break;
} }
else
{
count=0;
sql = "select count(*) from physcan h , physcandet d where h.tran_id = d.tran_id and h.tran_date = ? "
+" and d.loc_code= ? and status='Y' ";
pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, dts);
pstmt.setString(2, locCode);
rs = pstmt.executeQuery();
if(rs.next())
{
count = rs.getInt(1);
}
pstmt.close();
pstmt = null;
rs.close();
rs = null;
if(count > 0)
{
errString = getErrorString("loc_code","ALLRDSCN",userId);
break;
}
}
} }
} }
} }
...@@ -167,6 +200,9 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -167,6 +200,9 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
break; break;
case 2 : case 2 :
{ {
parentNodeList = dom.getElementsByTagName("Detail2"); parentNodeList = dom.getElementsByTagName("Detail2");
parentNode = parentNodeList.item(0); parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes(); childNodeList = parentNode.getChildNodes();
...@@ -464,14 +500,18 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -464,14 +500,18 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
lotNo = genericUtility.getColumnValue("lot_no", dom); lotNo = genericUtility.getColumnValue("lot_no", dom);
lotSl = genericUtility.getColumnValue("lot_sl", dom); lotSl = genericUtility.getColumnValue("lot_sl", dom);
sql = "select count(*) from physcan h , physcandet d where h.tran_id = d.tran_id and h.tran_date = ? " /*sql = "select count(*) from physcan h , physcandet d where h.tran_id = d.tran_id and h.tran_date = ? "
+" and d.loc_code= ? and d.lot_no = ? and d.lot_sl = ? and d.item_code = ? "; +" and d.loc_code= ? and d.lot_no = ? and d.lot_sl = ? and d.item_code = ? ";*/
//Condition changed for Already scanned transaction
//Commented by manoj dtd 05/02/2013 to add validation while entering location at beginning
/*sql = "select count(*) from physcan h , physcandet d where h.tran_id = d.tran_id and h.tran_date = ? "
+" and d.loc_code= ? ";//and d.lot_no = ? and d.lot_sl = ? and d.item_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setTimestamp(1, date1); pstmt.setTimestamp(1, date1);
pstmt.setString(2, locCode); pstmt.setString(2, locCode);
pstmt.setString(3, lotNo); //pstmt.setString(3, lotNo);
pstmt.setString(4, lotSl); //pstmt.setString(4, lotSl);
pstmt.setString(5, itemCode); //pstmt.setString(5, itemCode);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
if(rs.next()) if(rs.next())
{ {
...@@ -485,7 +525,7 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal, ...@@ -485,7 +525,7 @@ public class MPhyItemScanIC extends ValidatorEJB implements MPhyItemScanICLocal,
{ {
errString = getErrorString("phy_input","ALLRDSCN",userId); errString = getErrorString("phy_input","ALLRDSCN",userId);
break; break;
} }*/
//added by Kunal on 10/10/12 end //added by Kunal on 10/10/12 end
sSQL = "select inv_stat from location where loc_code = ? "; sSQL = "select inv_stat from location where loc_code = ? ";
......
...@@ -42,6 +42,7 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca ...@@ -42,6 +42,7 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca
int lineNo = 0; int lineNo = 0;
String invStat = "",sql = ""; String invStat = "",sql = "";
Double quantityInput = 0.0; Double quantityInput = 0.0;
String unit="";
int rec=0; int rec=0;
try try
{ {
...@@ -72,6 +73,19 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca ...@@ -72,6 +73,19 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca
lotSl = genericUtility.getColumnValueFromNode("lot_sl", parentNode); lotSl = genericUtility.getColumnValueFromNode("lot_sl", parentNode);
System.out.println("ITEM CODE["+itemCode+"] SITE CODE["+siteCode+"] LOC CODE["+locCode+"] LOT_NO["+lotNo+"] LOT SL["+lotSl+"]"); System.out.println("ITEM CODE["+itemCode+"] SITE CODE["+siteCode+"] LOC CODE["+locCode+"] LOT_NO["+lotNo+"] LOT SL["+lotSl+"]");
sql ="select unit from item where item_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, itemCode);
rs = pstmt.executeQuery();
if( rs.next())
{
unit = rs.getString("unit");
}
rs.close();
rs = null;
pstmt.close();
pstmt=null;
sql ="select inv_stat from location where loc_code = ? "; sql ="select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, locCode); pstmt.setString(1, locCode);
...@@ -98,15 +112,16 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca ...@@ -98,15 +112,16 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
sSQL = "UPDATE PHYSCANDET SET STATUS = ? WHERE TRAN_ID = ? AND ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?"; sSQL = "UPDATE PHYSCANDET SET STATUS = ?,UNIT=? WHERE TRAN_ID = ? AND ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt1 = conn.prepareStatement(sSQL); pstmt1 = conn.prepareStatement(sSQL);
pstmt1.setString(1, "Y"); pstmt1.setString(1, "Y");
pstmt1.setString(2, tranId); pstmt1.setString(2, unit);
pstmt1.setString(3, itemCode); pstmt1.setString(3, tranId);
pstmt1.setString(4, siteCode); pstmt1.setString(4, itemCode);
pstmt1.setString(5, locCode); pstmt1.setString(5, siteCode);
pstmt1.setString(6, lotNo); pstmt1.setString(6, locCode);
pstmt1.setString(7, lotSl); pstmt1.setString(7, lotNo);
pstmt1.setString(8, lotSl);
pstmt1.executeUpdate(); pstmt1.executeUpdate();
pstmt1.close(); pstmt1.close();
pstmt1 = null; pstmt1 = null;
......
...@@ -67,6 +67,7 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal, ...@@ -67,6 +67,7 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal,
String invStat = "", winName = ""; String invStat = "", winName = "";
NodeList parentNodeList = null; NodeList parentNodeList = null;
Node parentNode = null; Node parentNode = null;
String unit="";
int rec=0; int rec=0;
try try
...@@ -134,11 +135,29 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal, ...@@ -134,11 +135,29 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal,
locCode=rs.getString("LOC_CODE"); locCode=rs.getString("LOC_CODE");
lotSl=rs.getString("LOT_SL"); lotSl=rs.getString("LOT_SL");
quantityInput = rs.getDouble("PHY_INPUT"); quantityInput = rs.getDouble("PHY_INPUT");
sql="update PHYSCANDET SET STATUS='Y' WHERE " + unit=rs.getString("UNIT");
if(unit == null || unit.trim().length() == 0)
{
sql1 ="select unit from item where item_code = ? ";
pstmt1 = conn.prepareStatement(sql1);
pstmt1.setString(1, itemCode);
rs1 = pstmt1.executeQuery();
if( rs1.next())
{
unit = rs1.getString("unit");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
sql="update PHYSCANDET SET STATUS='Y',UNIT=? WHERE " +
" tran_id=? and line_no=?"; " tran_id=? and line_no=?";
pstmt1=conn.prepareStatement(sql); pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,tranId); pstmt1.setString(1,unit);
pstmt1.setInt(2,lineNo); pstmt1.setString(2,tranId);
pstmt1.setInt(3,lineNo);
pstmt1.executeUpdate(); pstmt1.executeUpdate();
pstmt1.close(); pstmt1.close();
pstmt1=null; pstmt1=null;
......
...@@ -816,85 +816,7 @@ public class PhyItemVerifyIC extends ValidatorEJB implements PhyItemVerifyICLoca ...@@ -816,85 +816,7 @@ public class PhyItemVerifyIC extends ValidatorEJB implements PhyItemVerifyICLoca
return (endTime - startTime)/(1000 * 60 * 60 * 24) ; return (endTime - startTime)/(1000 * 60 * 60 * 24) ;
} }
private String generateTranId( String windowName, Connection conn )throws
ITMException
{
PreparedStatement pstmt = null;
ResultSet rs = null;
String selSql = "";
String tranId = "";
String tranSer = "";
String keyString = "";
String keyCol = "";
String xmlValues = "";
String paySiteCode = "";
String effectiveDate = "";
java.sql.Date effDate = null;
try
{
selSql = "SELECT KEY_STRING, TRAN_ID_COL, REF_SER FROM TRANSETUP WHERE TRAN_WINDOW = ? ";
//System.out.println("selSql :"+selSql);
pstmt = conn.prepareStatement(selSql);
pstmt.setString( 1, windowName );
rs = pstmt.executeQuery();
if (rs.next())
{
keyString = rs.getString("KEY_STRING");
keyCol = rs.getString("TRAN_ID_COL");
tranSer = rs.getString("REF_SER");
}
rs.close();rs = null;
pstmt.close();pstmt = null;
System.out.println("keyString :"+keyString);
System.out.println("keyCol :"+keyCol);
System.out.println("tranSer :"+tranSer);
xmlValues ="<?xml version=\"1.0\" encoding=\"utf-8\"?><Root>";
xmlValues = xmlValues + "<Header></Header>";
xmlValues = xmlValues + "<Detail1>";
xmlValues = xmlValues + "<tran_id></tran_id>";
xmlValues = xmlValues + "</Detail1></Root>";
System.out.println("xmlValues :["+xmlValues+"]");
TransIDGenerator tg = new TransIDGenerator(xmlValues, "BASE",
CommonConstants.DB_NAME);
tranId = tg.generateTranSeqID(tranSer, keyCol, keyString, conn);
System.out.println("tranId :"+tranId);
}
catch (SQLException ex)
{
System.out.println("Exception ::" +selSql+ ex.getMessage() + ":");
ex.printStackTrace();
throw new ITMException(ex);
}
catch (Exception e)
{
System.out.println("Exception ::" + e.getMessage() + ":");
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if (rs != null)
{
rs.close();
rs = null;
}
if (pstmt != null)
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e){}
}
return tranId;
}//generateTranTd()
private String validateQty(Document dom,Document dom2,Connection conn,String userId) private String validateQty(Document dom,Document dom2,Connection conn,String userId)
{ {
......
...@@ -53,80 +53,87 @@ public class PhyItemVerifyPos extends ValidatorEJB implements PhyItemVerifyPosLo ...@@ -53,80 +53,87 @@ public class PhyItemVerifyPos extends ValidatorEJB implements PhyItemVerifyPosLo
for(ctr = 0; ctr < parentNodeListLength ; ctr++ ) for(ctr = 0; ctr < parentNodeListLength ; ctr++ )
{ {
lineNo=Integer.parseInt((genericUtility.getColumnValueFromNode("line_no",dom.getElementsByTagName("Detail2").item(ctr))).trim()); //lineNo=Integer.parseInt((genericUtility.getColumnValueFromNode("line_no",dom.getElementsByTagName("Detail2").item(ctr))).trim());
quantityInput = Double.parseDouble(genericUtility.getColumnValue("phy_input", dom) == null ?"0":genericUtility.getColumnValue("phy_input", dom)); //change done by kunal on 10/09/12 //quantityInput = Double.parseDouble(genericUtility.getColumnValue("phy_input", dom) == null ?"0":genericUtility.getColumnValue("phy_input", dom)); //change done by kunal on 10/09/12
System.out.println("lineNo----"+lineNo);
parentNode = parentNodeList.item(ctr); parentNode = parentNodeList.item(ctr);
itemCode = genericUtility.getColumnValueFromNode("item_code", parentNode); if( "A".equalsIgnoreCase( getCurrentUpdateFlag( parentNode ) ))
locCode = genericUtility.getColumnValueFromNode("loc_code", parentNode);
lotNo = genericUtility.getColumnValueFromNode("lot_no", parentNode);
lotSl = genericUtility.getColumnValueFromNode("lot_sl", parentNode);
refId=genericUtility.getColumnValueFromNode("ref_id", parentNode);
refLineNo=Integer.parseInt(genericUtility.getColumnValueFromNode("ref_line_no", parentNode));
System.out.println("ITEM CODE["+itemCode+"] SITE CODE["+siteCode+"] LOC CODE["+locCode+"] LOT_NO["+lotNo+"] LOT SL["+lotSl+"]");
sql ="select inv_stat from location where loc_code = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, locCode);
rs = pstmt.executeQuery();
if( rs.next())
{ {
invStat = rs.getString("inv_stat"); System.out.println("Update Flag---"+getCurrentUpdateFlag( parentNode ));
} lineNo=Integer.parseInt(genericUtility.getColumnValueFromNode("line_no", parentNode));
rs.close(); System.out.println("lineNo----"+lineNo);
rs = null; quantityInput= Double.parseDouble(genericUtility.getColumnValueFromNode("phy_input", parentNode));
pstmt.close(); itemCode = genericUtility.getColumnValueFromNode("item_code", parentNode);
System.out.println("invStat"+invStat+" quantityInput="+quantityInput); locCode = genericUtility.getColumnValueFromNode("loc_code", parentNode);
lotNo = genericUtility.getColumnValueFromNode("lot_no", parentNode);
lotSl = genericUtility.getColumnValueFromNode("lot_sl", parentNode);
sSQL = "UPDATE STOCK SET LAST_PHYC_DATE = ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?"; refId=genericUtility.getColumnValueFromNode("ref_id", parentNode);
pstmt1 = conn.prepareStatement(sSQL); refLineNo=Integer.parseInt(genericUtility.getColumnValueFromNode("ref_line_no", parentNode));
pstmt1.setTimestamp(1, date1); System.out.println("ITEM CODE["+itemCode+"] SITE CODE["+siteCode+"] LOC CODE["+locCode+"] LOT_NO["+lotNo+"] LOT SL["+lotSl+"]");
pstmt1.setString(2, itemCode);
pstmt1.setString(3, siteCode); sql ="select inv_stat from location where loc_code = ? ";
pstmt1.setString(4, locCode); pstmt = conn.prepareStatement(sql);
pstmt1.setString(5, lotNo); pstmt.setString(1, locCode);
pstmt1.setString(6, lotSl); rs = pstmt.executeQuery();
pstmt1.executeUpdate(); if( rs.next())
pstmt1.close(); {
pstmt1 = null; invStat = rs.getString("inv_stat");
}
sSQL = "UPDATE PHYSCANDET SET STATUS=?,VERIFIED = ? WHERE TRAN_ID = ? AND LINE_NO = ? "; rs.close();
pstmt1 = conn.prepareStatement(sSQL); rs = null;
pstmt1.setString(1, "Y"); pstmt.close();
pstmt1.setString(2, "Y"); System.out.println("invStat"+invStat+" quantityInput="+quantityInput);
pstmt1.setString(3, refId);
pstmt1.setInt(4, refLineNo);
sSQL = "UPDATE STOCK SET LAST_PHYC_DATE = ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt1.executeUpdate(); pstmt1 = conn.prepareStatement(sSQL);
pstmt1.close(); pstmt1.setTimestamp(1, date1);
pstmt1 = null; pstmt1.setString(2, itemCode);
PhyScanQtyUpdate qtyUpdate = new PhyScanQtyUpdate(); pstmt1.setString(3, siteCode);
qtyUpdate.quantityUpdate( tranId, lineNo, locCode, itemCode, lotNo, lotSl, quantityInput , invStat, conn); pstmt1.setString(4, locCode);
rec=0; pstmt1.setString(5, lotNo);
sql="select count(*) from physcandet where tran_id=? and line_no=? and QUANTITY<>QTY_PHYSICAL"; pstmt1.setString(6, lotSl);
pstmt1=conn.prepareStatement(sql); pstmt1.executeUpdate();
pstmt1.setString(1,tranId); pstmt1.close();
pstmt1.setInt(2,lineNo); pstmt1 = null;
rs1=pstmt1.executeQuery();
if(rs1.next()) sSQL = "UPDATE PHYSCANDET SET STATUS=?,VERIFIED = ? WHERE TRAN_ID = ? AND LINE_NO = ? ";
{ pstmt1 = conn.prepareStatement(sSQL);
rec=rs1.getInt(1); pstmt1.setString(1, "Y");
} pstmt1.setString(2, "Y");
rs1.close(); pstmt1.setString(3, refId);
rs1=null; pstmt1.setInt(4, refLineNo);
pstmt1.close();
pstmt1=null; pstmt1.executeUpdate();
if(rec==0) pstmt1.close();
{ pstmt1 = null;
sql="update physcandet set verified='Y',reverify='N' where tran_id=? and line_no=? "; PhyScanQtyUpdate qtyUpdate = new PhyScanQtyUpdate();
qtyUpdate.quantityUpdate( tranId, lineNo, locCode, itemCode, lotNo, lotSl, quantityInput , invStat, conn);
rec=0;
sql="select count(*) from physcandet where tran_id=? and line_no=? and QUANTITY<>QTY_PHYSICAL";
pstmt1=conn.prepareStatement(sql); pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,tranId); pstmt1.setString(1,tranId);
pstmt1.setInt(2,lineNo); pstmt1.setInt(2,lineNo);
pstmt1.executeUpdate(); rs1=pstmt1.executeQuery();
if(rs1.next())
{
rec=rs1.getInt(1);
}
rs1.close();
rs1=null;
pstmt1.close(); pstmt1.close();
pstmt1=null; pstmt1=null;
if(rec==0)
{
sql="update physcandet set verified='Y',reverify='N' where tran_id=? and line_no=? ";
pstmt1=conn.prepareStatement(sql);
pstmt1.setString(1,tranId);
pstmt1.setInt(2,lineNo);
pstmt1.executeUpdate();
pstmt1.close();
pstmt1=null;
}
} }
} }
} }
...@@ -167,6 +174,25 @@ public class PhyItemVerifyPos extends ValidatorEJB implements PhyItemVerifyPosLo ...@@ -167,6 +174,25 @@ public class PhyItemVerifyPos extends ValidatorEJB implements PhyItemVerifyPosLo
} }
return errString; return errString;
} }
private String getCurrentUpdateFlag(Node currDetail)
{
NodeList currDetailList = null;
String updateStatus = "",nodeName = "";
int currDetailListLength = 0;
currDetailList = currDetail.getChildNodes();
currDetailListLength = currDetailList.getLength();
for (int i=0;i< currDetailListLength;i++)
{
nodeName = currDetailList.item(i).getNodeName();
if (nodeName.equalsIgnoreCase("Attribute"))
{
updateStatus = currDetailList.item(i).getAttributes().getNamedItem("updateFlag").getNodeValue();
break;
}
}
return updateStatus;
}
} }
......
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