Commit 75b9059e authored by smisra's avatar smisra

confirming all transactions against a work order. Previously only one...

confirming all transactions against a work order. Previously only one transaction was getting confirmed having the max operation no.


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91484 ce508802-f39f-4f6c-b175-0d175dae99d5
parent dd7da3f6
......@@ -5,9 +5,15 @@ import ibase.webitm.utility.ITMException;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.system.config.AppConnectParm;
import ibase.system.config.ConnDriver;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.rpc.ParameterMode;
import java.util.ArrayList;
import java.util.Date;
import java.util.Calendar;
import java.text.*;
......@@ -22,8 +28,10 @@ import javax.ejb.Stateless;
public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfPvSolarRemote,WIPScanConfPvSolarLocal
{
public String confirm(String tranID,String xtraParams, String forcedFlag) throws RemoteException,ITMException
{
ValidatorEJB validatorEJB = new ValidatorEJB();
System.out.println("!!! $$ Confirm method $$ !!! ");
GenericUtility genericUtility = null;
ITMDBAccessEJB itmDBAccessEJB =null;
......@@ -36,42 +44,25 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
GenericUtility genutility=null;
SimpleDateFormat sdf=null;
SimpleDateFormat sdf2=null;
//varialble declaration for workorder receipt xml gena
String workOrder = "";
String siteCode = "";
String loCoInsp = "";
String xmlString = "";
String workOrder = "",siteCode = "",loCoInsp = "",xmlString = "",currOperation = "",maxOperation="",confrm = "",userId = "",qcReqd = "",loCoAprv ="",workOrd = "";
//int currOperation =0,maxOperation=0;
ArrayList <String> errList=new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
ITMDBAccessEJB itmdbAccessEJB = new ITMDBAccessEJB();
String errString="";
boolean flag = false;
String errCode="";
String errFieldName="";
String errorType="";
int rowcnt = 0;
String qcReqd = "";
int shelfLife = 0;
String loCoAprv ="";
Date expDate = null;
String sql = null;
String sql = "";
Date relDate = null;
String tranIdForReciept="";
boolean status = false;
String retString = "";
//varible declaration end for xml
xmlBuffer.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuffer.append("<DocumentRoot>");
System.out.println("Xml creation");
xmlBuffer.append("<description>").append("Datawindow Root").append("</description>");
xmlBuffer.append("<group0>");
xmlBuffer.append("<description>").append("Group0 description").append("</description>");
xmlBuffer.append("<Header0>");
xmlBuffer.append("<objName><![CDATA[").append("worder_rcp").append("]]></objName>");
xmlBuffer.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuffer.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuffer.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuffer.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuffer.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuffer.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuffer.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuffer.append("<taxKeyValue><![CDATA[").append(" ").append("]]></taxKeyValue>");
xmlBuffer.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuffer.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuffer.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuffer.append("<description>").append("Header0 members").append("</description>");
try
{
......@@ -82,27 +73,89 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
itmDBAccessEJB = new ITMDBAccessEJB();
connDriver = new ConnDriver();
siteCode = genutility.getValueFromXTRA_PARAMS(xtraParams,"site_code");
System.out.println("SITE CODE --->>> "+siteCode);
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
System.out.println("Tran Id"+tranID);
userId=validatorEJB.getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("^^^^^^^ Message: Forced Flag ..> " + forcedFlag);
pstmt=conn.prepareStatement("SELECT WORK_ORDER,PRODUCT_CODE FROM WIP_SCANNING_HDR WHERE TRAN_ID = ?");
//VALIDATION FOR CONFIRM TRANSECTION
sql = " SELECT CONFIRMED FROM WIP_SCANNING_PS_HDR WHERE TRAN_ID = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranID);
rs = pstmt.executeQuery();
if(rs.next())
{
workOrder = rs.getString(1);
confrm = rs.getString(1);
System.out.println("<<<<<,,,------confirmed column value------>>>>."+confrm );
if("y".equalsIgnoreCase(confrm))
{
errString = itmdbAccessEJB.getErrorString("","VTWIPCONFT", "");
System.out.println("vnfirmed transaction"+errString);
return errString;
}
else
{
flag=true;
}
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
if(flag)
{
//GET OPERATION FROM WIP_SCANNING_PS_HDR TABLE
sql = "SELECT MAX(OPERATION) FROM WIP_SCANNING_PS_HDR WHERE TRAN_ID = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranID);
rs = pstmt.executeQuery();
if(rs.next())
{
currOperation = rs.getString(1);
System.out.println("CURRENT OPERATION IN WIP SCANNING PS HDR TABLE["+currOperation+"]");
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
//GET WORK_ORDER,PRODUCT_CODE FROM WIP_SCANNING_PS_HDR TABLE
sql = "SELECT WORK_ORDER,PRODUCT_CODE FROM WIP_SCANNING_PS_HDR WHERE TRAN_ID = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,tranID);
rs = pstmt.executeQuery();
if(rs.next())
{
workOrd=rs.getString(1);
itemCode = rs.getString(2);
System.out.println("current operation in wip scanning ps hdr table"+itemCode);
System.out.println("WORK ORDER "+workOrd);
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
pstmt=conn.prepareStatement("SELECT SHELF_LIFE FROM ITEM WHERE ITEM_CODE = ?");
//GET MAX(OPERATION) FROM WORDER_ROUTE
sql = " SELECT MAX(OPERATION) FROM WORDER_ROUTE WR ,WORKORDER W1 WHERE WR.WORK_ORDER= W1.WORK_ORDER AND W1.WORK_ORDER = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
maxOperation = rs.getString(1);
System.out.println("MAX OPERATION -----------["+maxOperation+"]");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET SHELF_LIFE FROM ITEM
sql = "SELECT SHELF_LIFE FROM ITEM WHERE ITEM_CODE = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
......@@ -113,22 +166,32 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
pstmt.close();
rs = null;
pstmt = null;
pstmt=conn.prepareStatement("SELECT REL_DATE FROM WORKORDER WHERE WORK_ORDER = ?");
pstmt.setString(1,workOrder);
//GET REL DATE FROM WORKORDER
sql = "SELECT REL_DATE FROM WORKORDER WHERE WORK_ORDER = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
relDate = rs.getDate(1);
//relDate =sdf.format(new Date()) ;
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
pstmt=conn.prepareStatement("SELECT LOC_CODE__INSP,QC_REQD,LOC_CODE_APRV FROM SITEITEM WHERE ITEM_CODE = ? AND LOC_CODE__INSP IS NOT NULL");
//CALCULATIN FOR EXPIRY DATE
Calendar c=Calendar.getInstance();
Date d1 = new Date();
relDate = d1;
c.setTime(relDate);
c.add(Calendar.MONTH,shelfLife);
expDate=c.getTime();
System.out.println("EXPERY DATE OF METARIAL>>>>>."+expDate);
//GET LOC_CODE__INSP,QC_REQD,LOC_CODE_APRV FROM SITEITEM
sql = "SELECT LOC_CODE__INSP,QC_REQD,LOC_CODE_APRV FROM SITEITEM WHERE ITEM_CODE = ? AND LOC_CODE__INSP IS NOT NULL";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
......@@ -141,15 +204,39 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
pstmt.close();
rs = null;
pstmt = null;
pstmt=conn.prepareStatement ("select wo.unit,wo.work_order,wo.item_code,wo.lot_no,wo.lot_sl,wf.tran_date,wf.start_time,wf.end_time,wf.site_code from workorder wo,workorder_feedback wf where wo.work_order = wf.work_order and wo.work_order = ? ORDER BY wf.start_time ");
pstmt.setString(1,workOrder);
//GET UNIT,WORK_ORDER,ITEM_CODE,LOT_NO,LOT_SL,TRAN_DATE,START_TIME,END_TIME,SITE_CODE FROM WORKORDER ,WORKORDER_FEEDBACK
sql = "SELECT WO.UNIT,WO.WORK_ORDER,WO.ITEM_CODE,WO.LOT_NO,WO.LOT_SL,WF.TRAN_DATE,WF.START_TIME,WF.END_TIME,WF.SITE_CODE FROM WORKORDER WO,WORKORDER_FEEDBACK WF WHERE WO.WORK_ORDER = WF.WORK_ORDER AND WO.WORK_ORDER = ? ORDER BY WF.START_TIME";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs=pstmt.executeQuery();
System.out.println("^^^^^^tranId alias TRAN ID value^^^^^^:"+ tranID);
System.out.println("Sql for xml genaration ");
System.out.println("^^^^^^TRANID ALIAS TRAN ID VALUE^^^^^^:"+ tranID);
System.out.println("SQL FOR XML GENARATION ");
if(rs.next())
{
System.out.println("^^^^^^ BEFORE STARTING XML BUFFER^^^^^");
System.out.println("IN RESULT SET FOR RECEIPT CALL");
if(maxOperation.equalsIgnoreCase(currOperation))
{
System.out.println("<<<<<<<<<---XML FOR WORKORDER RECEIPT------>>>>>>>>>>...");
xmlBuffer.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuffer.append("<DocumentRoot>");
System.out.println("Xml creation");
xmlBuffer.append("<description>").append("Datawindow Root").append("</description>");
xmlBuffer.append("<group0>");
xmlBuffer.append("<description>").append("Group0 description").append("</description>");
xmlBuffer.append("<Header0>");
xmlBuffer.append("<objName><![CDATA[").append("worder_rcp").append("]]></objName>");
xmlBuffer.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuffer.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuffer.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuffer.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuffer.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuffer.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuffer.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuffer.append("<taxKeyValue><![CDATA[").append(" ").append("]]></taxKeyValue>");
xmlBuffer.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuffer.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuffer.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuffer.append("<description>").append("Header0 members").append("</description>");
System.out.println("^^^^^^tranId alias TRAN ID value^^^^^^:"+ tranID);
xmlBuffer.append("<Detail1 objContext =\"1\"").append(" objName=\"worder_rcp\" domID=\"1\" dbID=\"\">");
xmlBuffer.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
......@@ -160,11 +247,8 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
xmlBuffer.append("<work_order>").append("<![CDATA[").append(rs.getString("work_order")).append("]]>").append("</work_order>\r\n");
xmlBuffer.append("<date__start>").append("<![CDATA["+sdf.format(rs.getDate("start_time"))+"]]>").append("</date__start>");
xmlBuffer.append("<date__compl>").append("<![CDATA["+sdf2.format(new Date())+"]]>").append("</date__compl>\r\n");
Calendar c=Calendar.getInstance();
c.setTime(relDate);
c.add(Calendar.MONTH,shelfLife);
expDate=c.getTime();
xmlBuffer.append("<exp_date>").append("<![CDATA[").append(sdf2.format(expDate)).append("]]>").append("</exp_date>\r\n");
xmlBuffer.append("<exp_date>").append("<![CDATA["+sdf2.format(new Date())+"]]>").append("</exp_date>\r\n");
xmlBuffer.append("<item_code>").append("<![CDATA[").append(rs.getString("item_code")).append("]]>").append("</item_code>\r\n");
xmlBuffer.append("<lot_no>").append("<![CDATA[").append(rs.getString("lot_no")).append("]]>").append("</lot_no>\r\n");
xmlBuffer.append("<lot_sl>").append("<![CDATA[").append(rs.getString("lot_sl")).append("]]>").append("</lot_sl>\r\n");
......@@ -194,18 +278,19 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
xmlBuffer.append("</DocumentRoot>");
System.out.println("End of Xml string for xml");
xmlString=xmlBuffer.toString();
System.out.println("______________-XML STRING VALUE_____________"+xmlString);
tranIdForReciept=saveData(siteCode, xmlString, conn);
retString=tranIdForReciept;
if (tranIdForReciept.indexOf("Success") > -1)
{
String[] arrayForTranId = tranIdForReciept.split("<TranID>");
System.out.println("++++++++++++++=update hdr+++++++");
sql="update wip_scanning_hdr set emp_code__aprv = ?, confirmed = ?, conf_date = ? where tran_id = ? ";
sql="UPDATE WIP_SCANNING_PS_HDR SET EMP_CODE__APRV = ?, CONFIRMED = ?, CONF_DATE = ? WHERE WORK_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode"));
pstmt.setString(2,"Y");
pstmt.setTimestamp(3,new Timestamp(System.currentTimeMillis()));
pstmt.setString(4,tranID);
pstmt.setString(4,workOrd);
rowcnt = pstmt.executeUpdate();
pstmt.close();
pstmt = null;
......@@ -216,16 +301,20 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
{
conn.commit();
retString = itmDBAccessEJB.getErrorString("","VTSUCC1","","",conn);
System.out.println("Voucher Confirmed Sucessfully.......");
}
conn.close();
conn = null;
}
}
else
{
status =true;
return retString;
retString = itmDBAccessEJB.getErrorString("","VTWIPCOPR","","",conn);
System.out.println("receipt can not be genrate");
}
}
}
}
......@@ -266,10 +355,91 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
rs=null;
pstmt=null;
}
int errListSize=errList.size();
if(errListSize>0)
{
for(int cnt=0;cnt<errListSize;cnt++)
{
errCode=errList.get(cnt);
errFieldName=errFields.get(cnt);
errString=getErrorString(errFieldName, errCode, userId);
errorType = errorType( conn , errCode );
if ( errString.length() > 0)
{
String bifurErrString = errString.substring( errString.indexOf("<Errors>") + 8,errString.indexOf("<trace>"));
bifurErrString = bifurErrString;
bifurErrString = bifurErrString+errString.substring( errString.indexOf("</trace>") + 8,errString.indexOf("</Errors>"));
errStringXml.append(bifurErrString);
errString = "";
}
if ( errorType.equalsIgnoreCase("E"))
{
break;
}
}
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors></Root>\r\n");
}else
{
errStringXml = new StringBuffer( "" );
}
System.out.println("after finally block");
System.out.println("^^^^^^^^^^^final return string _____-"+retString);
System.out.println("^^^^^^^^^^^FINAL RETURN STRING FROM CONFIRM-.["+retString+"]");
return retString;
}
private String errorType( Connection conn , String errorCode )
{
String msgType = "";
System.out.println("IN ERROR METHOD");
PreparedStatement pstmt = null ;
ResultSet rs = null;
try
{
String sql = " SELECT MSG_TYPE FROM MESSAGES WHERE MSG_NO = ? ";
System.out.println("SQL IS EXECUTING");
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1, errorCode );
rs = pstmt.executeQuery();
while( rs.next() )
{
msgType = rs.getString("MSG_TYPE");
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
if ( rs != null )
{
rs.close();
rs = null;
}
if ( pstmt != null )
{
pstmt.close();
pstmt = null;
}
}
catch ( Exception e )
{
e.printStackTrace();
}
}
return msgType;
}
private String saveData(String siteCode, String xmlString, Connection conn) throws ITMException
{
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^saving data...........");
......@@ -300,7 +470,8 @@ public class WIPScanConfPvSolar extends ActionHandlerEJB implements WIPScanConfP
{
e.printStackTrace();
}
System.out.println("<<<<<<<<<, RETURN STRING FROM SAVE DATA >>>>.["+retString+"]");
return retString;
}
}
}
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