Commit 5478659d authored by ppatro's avatar ppatro

Physical count verification


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@92173 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 32a86ed3
......@@ -299,7 +299,8 @@ public class CartonNoGenIC extends ValidatorEJB implements CartonNoGenICLocal, C
if(currentColumn.trim().equalsIgnoreCase("itm_default"))
{
siteCode = checkNull(genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" ));
valueXmlString.append("<pallet_label>").append("N").append("</pallet_label>");
valueXmlString.append("<pallet_label>").append("N").append("</pallet_label>");
valueXmlString.append("<printer_name protect=\"1\">").append("").append("</printer_name>");
}
else if("pallet_label".equalsIgnoreCase(currentColumn.trim()))
{
......
......@@ -42,6 +42,7 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca
int lineNo = 0;
String invStat = "",sql = "";
Double quantityInput = 0.0;
int rec=0;
try
{
conn.setAutoCommit(false);
......@@ -128,6 +129,32 @@ public class MPhyItemScanPos extends ValidatorEJB implements MPhyItemScanPosLoca
//added by Kunal ON 07/09/12
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";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranId);
pstmt.setInt(2,lineNo);
rs=pstmt.executeQuery();
if(rs.next())
{
rec=rs.getInt(1);
}
rs.close();
rs=null;
pstmt.close();
pstmt=null;
if(rec==0)
{
sql="update physcandet set verified='Y',reverify='N' where tran_id=? and line_no=? ";
pstmt=conn.prepareStatement(sql);
pstmt1.setString(1,tranId);
pstmt1.setInt(2,lineNo);
pstmt.executeUpdate();
pstmt.close();
pstmt=null;
}
}
}
catch(Exception e)
......
......@@ -67,6 +67,7 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal,
String invStat = "", winName = "";
NodeList parentNodeList = null;
Node parentNode = null;
int rec=0;
try
{
......@@ -107,6 +108,7 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal,
if("w_phy_scan_verify".equalsIgnoreCase(winName))//added by Kunal on 07/09/12
{
lineNo=Integer.parseInt((genericUtility.getColumnValueFromNode("line_no",dom.getElementsByTagName("Detail3").item(i))).trim());
tranId=genericUtility.getColumnValueFromNode("tran_id",dom.getElementsByTagName("Detail3").item(i));
}
else
{
......@@ -176,7 +178,30 @@ public class PhyItemScanPos extends ValidatorEJB implements PhyItemScanPosLocal,
//added by Kunal on 07/09/12
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.setString(1,tranId);
pstmt1.setInt(2,lineNo);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
rec=rs1.getInt(1);
}
rs1.close();
rs1=null;
pstmt1.close();
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;
}
}
......@@ -383,8 +408,9 @@ class PhyScanQtyUpdate
sql = " SELECT L.PHY_HAN_BASIS, L.PHY_HAN_UOM , D.UNIT FROM PHYSCAN H,PHYSCANDET D,ITEM M,LOCATION L "
+ " WHERE H.TRAN_ID = ? AND D.ITEM_CODE = M.ITEM_CODE AND D.LOC_CODE = L.LOC_CODE AND L.INV_STAT = ? "
+ " WHERE H.TRAN_ID=D.TRAN_ID AND H.TRAN_ID = ? AND D.ITEM_CODE = M.ITEM_CODE AND D.LOC_CODE = L.LOC_CODE AND L.INV_STAT = ? "
+ " AND D.LOT_NO = ? AND D.ITEM_CODE = ? AND D.LOT_SL = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
......
This diff is collapsed.
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.dis.DistCommon;
import java.rmi.RemoteException;
import org.w3c.dom.*;
//import javax.ejb.EJBObject;
import java.sql.Connection;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Local; // added for ejb3
@Local // added for ejb3
public interface PhyItemVerifyICLocal extends ValidatorLocal
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(Document currDom, Document hdrDom, Document allDom, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlCurrFrmString, String xmlHdrFrmString, String xmlAllFrmString, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged() throws RemoteException,ITMException;
public String itemChanged(String xmlCurrFrmString, String xmlHdrFrmString,String xmlAllFrmString, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document currDom, Document hdrDom, Document allDom, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.dis.DistCommon;
import java.rmi.RemoteException;
import org.w3c.dom.*;
//import javax.ejb.EJBObject;
import java.sql.Connection;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.ITMException;
import javax.ejb.Remote; // added for ejb3
@Remote // added for ejb3
public interface PhyItemVerifyICRemote extends ValidatorRemote
{
public String wfValData() throws RemoteException,ITMException;
public String wfValData(Document currDom, Document hdrDom, Document allDom, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String wfValData(String xmlCurrFrmString, String xmlHdrFrmString, String xmlAllFrmString, String objContext, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged() throws RemoteException,ITMException;
public String itemChanged(String xmlCurrFrmString, String xmlHdrFrmString,String xmlAllFrmString, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
public String itemChanged(Document currDom, Document hdrDom, Document allDom, String objContext, String currentColumn, String editFlag, String xtraParams) throws RemoteException,ITMException;
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.*;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.*;
import java.text.SimpleDateFormat;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@javax.ejb.Stateless
public class PhyItemVerifyPos extends ValidatorEJB implements PhyItemVerifyPosLocal, PhyItemVerifyPosRemote
{
public String postSave()throws RemoteException,ITMException
{
return "";
}
public String postSave(String domString, String tranId,String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException
{
String errString = "";
String sSQL="",itemCode = "", locCode = "";
String siteCode = "";
String lotNo = "";
String lotSl = "";
NodeList parentNodeList = null;
Node parentNode = null;
int parentNodeListLength = 0;
int ctr = 0;
Document dom = null;
PreparedStatement pstmt = null, pstmt1 = null;
ResultSet rs = null,rs1=null;
java.util.Date utilDate = new java.util.Date();
int lineNo = 0;
String invStat = "",sql = "";
Double quantityInput = 0.0;
String refId="";
int refLineNo=0;
int rec=0;
try
{
conn.setAutoCommit(false);
GenericUtility genericUtility = GenericUtility.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getDBDateFormat());
Timestamp date1 = Timestamp.valueOf(sdf.format(utilDate).toString() + " 00:00:00.0");
System.out.println("STRING{"+domString+"}");
dom = genericUtility.parseString(domString);
siteCode = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginSiteCode" );
parentNodeList = dom.getElementsByTagName("Detail2");
parentNodeListLength = parentNodeList.getLength();
for(ctr = 0; ctr < parentNodeListLength ; ctr++ )
{
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
System.out.println("lineNo----"+lineNo);
parentNode = parentNodeList.item(ctr);
itemCode = genericUtility.getColumnValueFromNode("item_code", 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");
}
rs.close();
rs = null;
pstmt.close();
System.out.println("invStat"+invStat+" quantityInput="+quantityInput);
sSQL = "UPDATE STOCK SET LAST_PHYC_DATE = ? WHERE ITEM_CODE = ? AND SITE_CODE = ? AND LOC_CODE = ? AND LOT_NO = ? AND LOT_SL = ?";
pstmt1 = conn.prepareStatement(sSQL);
pstmt1.setTimestamp(1, date1);
pstmt1.setString(2, itemCode);
pstmt1.setString(3, siteCode);
pstmt1.setString(4, locCode);
pstmt1.setString(5, lotNo);
pstmt1.setString(6, lotSl);
pstmt1.executeUpdate();
pstmt1.close();
pstmt1 = null;
sSQL = "UPDATE PHYSCANDET SET STATUS=?,VERIFIED = ? WHERE TRAN_ID = ? AND LINE_NO = ? ";
pstmt1 = conn.prepareStatement(sSQL);
pstmt1.setString(1, "Y");
pstmt1.setString(2, "Y");
pstmt1.setString(3, refId);
pstmt1.setInt(4, refLineNo);
pstmt1.executeUpdate();
pstmt1.close();
pstmt1 = null;
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.setString(1,tranId);
pstmt1.setInt(2,lineNo);
rs1=pstmt1.executeQuery();
if(rs1.next())
{
rec=rs1.getInt(1);
}
rs1.close();
rs1=null;
pstmt1.close();
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;
}
}
}
catch(Exception e)
{
try
{
System.out.println("Exception "+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
catch (Exception e1)
{
e1.printStackTrace();
}
}
finally
{
try
{
if( rs != null )
{
rs.close();
rs = null;
}
if( pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
catch(Exception e)
{
e.printStackTrace();
throw new ITMException(e);
}
}
return errString;
}
}
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorLocal;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
@javax.ejb.Local
public interface PhyItemVerifyPosLocal extends ValidatorLocal
{
public String postSave()throws RemoteException,ITMException;
public String postSave( String domString,String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
\ No newline at end of file
package ibase.webitm.ejb.wms;
import ibase.webitm.ejb.ValidatorRemote;
import ibase.webitm.utility.ITMException;
import java.rmi.RemoteException;
import java.sql.Connection;
@javax.ejb.Remote
public interface PhyItemVerifyPosRemote extends ValidatorRemote
{
public String postSave()throws RemoteException,ITMException;
public String postSave( String domString,String tranId, String editFlag, String xtraParams, Connection conn ) throws RemoteException,ITMException;
}
......@@ -1251,7 +1251,7 @@ public class PhyScanVerifyIC extends ValidatorEJB implements PhyScanVerifyICLoca
if( rs.next() )
{
tranId = rs.getString("TRAN_ID");
valueXmlString.append( "<tran_id><![CDATA[" ).append( tranId ).append( "]]></tran_id>\r\n" );
//valueXmlString.append( "<tran_id><![CDATA[" ).append( tranId ).append( "]]></tran_id>\r\n" );
}
if(rs != null)
{
......
......@@ -34922,4 +34922,151 @@ update obj_forms set SCAN_METADATA = '<SCAN_INFO><MAPPING_SCAN ORDER="1"><SCAN_L
where win_name ='w_active_repl_iss' and form_no = 3;
commit;
------------- Manoj sharma 22-nov-12
alter table physcandet add ref_id char(10);
alter table physcandet add verified char(1);
alter table physcandet add ref_line_no number(5);
ALTER TABLE PHYSCANDET ADD REVERIFY CHAR(1);
update transetup set header_form_no='1' where tran_window='w_phy_scan_verify';
delete from TARO.obj_forms where win_name='w_phy_scan_verify';
INSERT INTO TARO.obj_forms VALUES (
'w_phy_scan_verify',
'Header',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'1',
'F',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'E',
NULL,
NULL,
NULL);
INSERT INTO TARO.obj_forms VALUES (
'w_phy_scan_verify',
'Detail',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'2',
'T',
NULL,
NULL,
'<SCAN_INFO><MAPPING_SCAN ORDER="1"> <SCAN_LABEL>LOCATION:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>loc_code</FIELD></FIELDS> </MAPPING_SCAN><MAPPING_SCAN ORDER="2"> <SCAN_LABEL>LPN NO:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>lot_sl</FIELD></FIELDS> </MAPPING_SCAN> <MAPPING_SCAN ORDER="3"> <SCAN_LABEL>Item Code:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>item_code</FIELD></FIELDS> </MAPPING_SCAN> <MAPPING_SCAN ORDER="4"> <SCAN_LABEL>Lot No:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>lot_no</FIELD></FIELDS> </MAPPING_SCAN> <INPUT_SCAN ORDER="1"> <SCAN_LABEL>Case Count:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>phy_input</FIELD></FIELDS> </INPUT_SCAN><INPUT_SCAN ORDER="2"> <SCAN_LABEL>Re-verify (Y/N)?:</SCAN_LABEL> <FIELDS SEPARATOR="" DELIMITER=""><FIELD>reverify</FIELD></FIELDS> </INPUT_SCAN> <SCAN_CONDITION field="loc_code">parseInt(quantity) != 0</SCAN_CONDITION><SCAN_CONDITION field="reverify">parseInt(phy_input) != parseInt(no_art)</SCAN_CONDITION></SCAN_INFO>',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'checkedImage@img<descr>(<item_code>),<loc_code>,<lot_no>,<lot_sl>',
NULL,
NULL,
NULL,
'E',
NULL,
NULL,
NULL);
delete from system_events where obj_name='phy_scan_verify';
INSERT INTO system_events VALUES (
'phy_scan_verify',
'default_data_wiz',
'1',
'phy_scan_default_data',
NULL,
'0',
sysdate,
'MANOJ ',
'BASE',
'2',
'EJB',
'PhyItemVerifyIC',
NULL);
INSERT INTO system_events VALUES (
'phy_scan_verify',
'post_save',
'1',
'pos_phy_scan',
NULL,
'0',
sysdate,
'MANOJ ',
'BASE',
'2',
'EJB',
'PhyItemVerifyPos',
NULL);
INSERT INTO system_events VALUES (
'phy_scan_verify',
'pre_navigate_next',
'1',
'prv_phy_scan',
NULL,
'0',
sysdate,
'MANOJ ',
'BASE',
'2',
'EJB',
'PhyItemVerifyIC',
NULL);
INSERT INTO system_events VALUES (
'phy_scan_verify',
'pre_validate',
'1',
'prv_phy_scan',
NULL,
'0',
sysdate,
'MANOJ ',
'BASE',
'2',
'EJB',
'PhyItemVerifyIC',
NULL);
INSERT INTO system_events VALUES (
'phy_scan_verify',
'pre_navigate_finish',
'1',
'prv_phy_scan',
NULL,
'0',
sysdate,
'MANOJ ',
'BASE',
'2',
'EJB',
'PhyItemVerifyIC',
NULL);
Insert into MESSAGES (MSG_NO,MSG_STR,MSG_DESCR,MSG_TYPE,MSG_OPT,MSG_TIME,ALARM,ERR_SOURCE,CHG_DATE,CHG_USER,CHG_TERM,OVERRIDE_INPUT,MAIL_OPTION) values ('INVVERIFY','Invalid Value','Please enter Y/N to Re-verify','E','Y',null,null,null,SYSDATE,'BASE ','BASE ',null,null);
commit;
\ No newline at end of file
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