Commit dd7da3f6 authored by smisra's avatar smisra

confirming all transactions for a workorder, previously only confirming one...

confirming all transactions for a workorder, previously only confirming one transaction having the max operation


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@91483 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 2286e8b9
package ibase.webitm.ejb.mfg; package ibase.webitm.ejb.mfg;
import ibase.system.config.ConnDriver; import ibase.system.config.ConnDriver;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.ValidatorEJB; import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.utility.GenericUtility; import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException; import ibase.webitm.utility.ITMException;
...@@ -31,8 +32,6 @@ import javax.ejb.EJBException; ...@@ -31,8 +32,6 @@ import javax.ejb.EJBException;
public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote,WIPScanPvSolarLocal public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote,WIPScanPvSolarLocal
{ {
GenericUtility genericUtility=GenericUtility.getInstance(); GenericUtility genericUtility=GenericUtility.getInstance();
public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws ITMException public String wfValData(String xmlString, String xmlString1, String objContext, String editFlag, String xtraParams) throws ITMException
{ {
String errString=""; String errString="";
...@@ -65,23 +64,21 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -65,23 +64,21 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
String errCode=""; String errCode="";
String errFieldName=""; String errFieldName="";
String errorType=""; String errorType="";
String userId="";
Connection conn=null; Connection conn=null;
GenericUtility genutility=null; GenericUtility genutility=null;
String lotNo= ""; //LOT NO FOR BAR CODE READING FIELD FROM WORKORDER TABLE //int currOperation = 0,maxOperation = 0;
String lotSl= ""; String lotNo= "",lotSl= "",siteCode = "",tranId = "",userId="",currOperation = "",maxOperation = "",reasonCode = "",prevLotNo = "",prvLotSl = "",remarks = "",opreration = "", qcApprovalReject = "",mcCode = "",workOrd = "",itemCode = "",procCode = "",conf = "",waitTime = ""; //LOT NO FOR BAR CODE READING FIELD FROM WORKORDER TABLE
String siteCode = "";//LOT SL FOR BAR CODE READING FIELD FROM WORKORDER TABLE
String workOrd = ""; //WORK_ORDER FROM WORKORDER TABLE
String itemCode = ""; //ITEM CODE FROM WORKORDER TABLE
String conf = ""; //CONFIRMED FOR WIP_SCANNING_HDR TABLE
ResultSet rs=null; ResultSet rs=null;
int cont = 0; int cont = 0;
int currentFormNo=0; int currentFormNo=0;
String sql = "";
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ArrayList <String> errList=new ArrayList<String>(); ArrayList <String> errList=new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>(); ArrayList<String> errFields = new ArrayList<String>();
ITMDBAccessEJB itmdbAccessEJB = new ITMDBAccessEJB();
ConnDriver connDriver=new ConnDriver(); ConnDriver connDriver=new ConnDriver();
StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>"); StringBuffer errStringXml = new StringBuffer("<?xml version=\"1.0\"?>\r\n<Root><Errors>");
System.out.println("EDIT FLAG "+editFlag);
try try
{ {
...@@ -89,6 +86,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -89,6 +86,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
conn=connDriver.getConnectDB("DriverITM"); conn=connDriver.getConnectDB("DriverITM");
connDriver=null; connDriver=null;
userId=getValueFromXTRA_PARAMS(xtraParams,"loginCode"); userId=getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("user id "+userId);
System.out.println("1---currentFormNo-------"+currentFormNo); System.out.println("1---currentFormNo-------"+currentFormNo);
if(objContext!=null && objContext.trim().length()>0) if(objContext!=null && objContext.trim().length()>0)
{ {
...@@ -102,166 +100,365 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -102,166 +100,365 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
parentNode=parentNodeList.item(0); parentNode=parentNodeList.item(0);
childNodeList=parentNode.getChildNodes(); childNodeList=parentNode.getChildNodes();
childNodeListLength=childNodeList.getLength(); childNodeListLength=childNodeList.getLength();
System.out.println("CHILD NODE LIST LENTH"+childNodeListLength);
for(int ctr=0;ctr<childNodeListLength;ctr++) for(int ctr=0;ctr<childNodeListLength;ctr++)
{ {
childNode=childNodeList.item(ctr); childNode=childNodeList.item(ctr);
childNodeName=childNode.getNodeName(); childNodeName=childNode.getNodeName();
//VALIDATION FOR DUPLICATE TRAN_ID
if (childNodeName.equalsIgnoreCase("tran_id"))
{
System.out.println("EDIT FLAG ["+editFlag+"]");
System.out.println(" >>>>>>>..edit flag length ["+editFlag.length()+")");
if(!("E".equalsIgnoreCase(editFlag)))
{
System.out.println(" +++++++++ In Save Method 1 +++++++++++++++++++");
tranId = genericUtility.getColumnValue("tran_id", dom);
System.out.println("========tran id ["+tranId+"]");
if(tranId == null || tranId.trim().length()==0)
{
errList.add("VTWIPTI1");
errFields.add("tran_id");
break ;
}
sql = "SELECT COUNT(1) FROM WIP_SCANNING_PS_HDR WHERE TRAN_ID = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,tranId);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==1)
{
//errString = itmdbAccessEJB.getErrorString("tran_id"," VTWIPTI", userId);
errList.add("VTWIPTI");
errFields.add("tran_id");
System.out.println("EXTING TRAN ID : \t"+tranId);
break ;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
}
if (childNodeName.equalsIgnoreCase("lot_no")) if (childNodeName.equalsIgnoreCase("lot_no"))
{ {
lotNo = getColumnValue("lot_no", dom); lotNo = getColumnValue("lot_no", dom);
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+lotNo); System.out.println(" +++++++++ In Save Method 2 +++++++++++++++++++");
if ( lotNo != null || lotNo.trim().length() == 0 ) System.out.println("This is in wfValdata Case1 & LOT_NO is \t"+lotNo);
{
errList.add("WIPB1");
errFields.add("lotNo");
System.out.println("Bar code Comming null in wfvaldata & bar_code is : \t"+lotNo);
}
} }
else if (childNodeName.equalsIgnoreCase("lot_sl")) else if (childNodeName.equalsIgnoreCase("lot_sl"))
{ {
lotNo = getColumnValue("lot_no", dom); lotNo = getColumnValue("lot_no", dom);
lotSl = getColumnValue("lot_sl", dom); lotSl = getColumnValue("lot_sl", dom);
System.out.println("LOT NO "+lotNo);
System.out.println("LOT SL "+lotSl);
String sql = "SELECT W1.WORK_ORDER,W1.ITEM_CODE FROM WORKORDER W1 WHERE W1.LOT_NO = ? AND W1.LOT_SL = ? ";
//VALIDATIN FOR EXISTING DATA IN WORKORDER TABLE AGAINST LOT NO AND LOT SL.
sql = "SELECT COUNT(1) FROM WORKORDER WHERE lot_no = ? and lot_sl = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lotNo);
pstmt.setString(2,lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==0)
{
errList.add("VTWIPLN1");
errFields.add("lot_sl");
System.out.println("WORK WORKORDER FEILD ");
}
else
{
sql = "SELECT WORK_ORDER,ITEM_CODE FROM WORKORDER WHERE LOT_NO = ? AND LOT_SL = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lotNo);
pstmt.setString(2,lotSl);
rs = pstmt.executeQuery();
System.out.println(" +++++++++ In Save Method 3 +++++++++++++++++++");
if(rs.next())
{
System.out.println("All column value ");
workOrd=rs.getString("WORK_ORDER");
itemCode = rs.getString("ITEM_CODE");
}
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//
sql = " SELECT MAX(OPERATION) FROM WIP_SCANNING_PS_HDR WHERE WORK_ORDER = ?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
currOperation = rs.getString(1);
System.out.println("current operation in wip scanning ps hdr table"+currOperation);
System.out.println("current operation in wip scanning ps hdr table"+itemCode);
}
rs.close();
pstmt.close();
rs = null;
pstmt = null;
//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);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//VALIDATION FOR DUPLICATE BAR CODE AND COMPARE WITH
if(currOperation == maxOperation)
{
if(!("E".equalsIgnoreCase(editFlag)))
{
sql = "SELECT count(1) FROM WIP_SCANNING_PS_HDR WHERE LOT_NO = ? AND LOT_SL = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lotNo); pstmt.setString(1,lotNo);
pstmt.setString(2,lotSl); pstmt.setString(2,lotSl);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) if(rs.next())
{ {
System.out.println("All column value "); if(rs.getInt(1)>0)
workOrd=rs.getString("WORK_ORDER"); {
System.out.println("WORK_ORDER"+workOrd); errList.add("VTWIPSBC");
itemCode=rs.getString("ITEM_CODE"); errFields.add("lot_no");
System.out.println("item code"+itemCode); System.out.println("WORK WORKORDER FEILD ");
} }
pstmt.close();
rs.close();
pstmt = null;
rs = null;
//SELECTING CONFIRMED COLUMN FOR SCANNING FROM WORKORDER ISS
pstmt = conn.prepareStatement("SELECT CONFIRMED FROM WORKORDER_ISS WHERE WORK_ORDER = ?");
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
while(rs.next())
{
conf=rs.getString("confirmed");
} }
pstmt.close();
rs.close(); rs.close();
pstmt = null;
rs = null; rs = null;
if(conf =="N") pstmt.close();
pstmt = null;
}
}
//VALIDATION FOR CONFIRM WORK ORDER
sql = "SELECT CONFIRMED FROM WORKORDER_ISS WHERE WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
System.out.println(" +++++++++ In Save Method 4 +++++++++++++++++++");
while(rs.next())
{
conf=rs.getString("confirmed");
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
if(conf =="Y")
{
errList.add("VTWIPCONF");
errFields.add("confirmed");
System.out.println("CONFIRM FIELD ");
}
}
//VALIDATION FOR EXISTING DATA IN WORKORDER_ROUTE TABLE
if (childNodeName.equalsIgnoreCase("mc_code") )
{
mcCode = genericUtility.getColumnValue("mc_code", dom);
System.out.println(" +++++++++ In Save Method 5 +++++++++++++++++++");
sql = "SELECT COUNT(*) FROM WORDER_ROUTE WHERE WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==0)
{ {
errList.add("WIPINVBC"); errList.add("VTWIPMC");
errFields.add("conf"); errFields.add("MC_CODE");
System.out.println("confirmed field "); System.out.println("INVALID MACHINE CODE : \t"+mcCode);
break ;
} }
//VALIDATION FOR LOT SL }
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+lotSl); rs.close();
if ( lotSl != null || lotSl.trim().length() == 0 ) rs = null;
{ pstmt.close();
String sql1 = " SELECT COUNT(*) FROM WORKORDER WHERE LOT_SL = ? "; pstmt = null;
pstmt = conn.prepareStatement(sql1);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
cont = rs.getInt(1);
if(cont == 0)
{
errList.add("WIPB1");
errFields.add("lotSl");
System.out.println("Lot_sl Comming null in wfvaldata & bar_code is : \t"+lotSl);
break ;
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
} }
//VALIDATION FOR QC APPROVAL REJECT //VALIDATION FOR EXISTING DATA IN ITEM TABLE
if (childNodeName.equalsIgnoreCase("qc_approval_reject")) if(childNodeName.equalsIgnoreCase("ITEM_CODE") )
{ {
String qc_approval_reject = getColumnValue("qc_approval_reject", dom); System.out.println(" +++++++++ In Save Method 6 +++++++++++++++++++");
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+qc_approval_reject); sql = "SELECT COUNT(1) FROM ITEM WHERE ITEM_CODE = ?";
if ( qc_approval_reject == null || qc_approval_reject.trim().length() == 0 ) pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==0)
{ {
errList.add("WIPQCAR1"); errList.add("VTWIITM");
errFields.add("qc_approval_reject"); errFields.add("ITEM_CODE");
System.out.println("Bar code Comming null in wfvaldata & bar_code is : \t"+qc_approval_reject); System.out.println("ITEM TABLE FIELD ");
} break ;
}
} }
//VALIDATION FOR REASON CODE rs.close();
if (childNodeName.equalsIgnoreCase("reason_code")) rs = null;
{ pstmt.close();
String reason_code = getColumnValue("reason_code", dom); pstmt = null;
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+reason_code); }
if ( reason_code == null || reason_code.trim().length() == 0 )
//VALIDATION FOR EXISTING DATA IN PROCESS TABLE
if(childNodeName.equalsIgnoreCase("PROC_CODE") )
{
System.out.println("+++++++++++++= IN SAVE METHOD 7 ++++++++++++++++=");
procCode = genericUtility.getColumnValue("proc_code", dom);
System.out.println("proc code"+procCode);
sql = " SELECT COUNT(1) FROM PROCESS WHERE PROC_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,procCode);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==0)
{ {
errList.add("WIPRC1"); errList.add("VTWIPPC");
errFields.add("reason_code"); errFields.add("PROC_CODE");
System.out.println("Bar code Comming null in wfvaldata & bar_code is : \t"+reason_code); System.out.println("PROCESS CODE----- >>> ");
} break ;
}
} }
if (childNodeName.equalsIgnoreCase("remarks")) rs.close();
{ rs = null;
String remarks = getColumnValue("remarks", dom); pstmt.close();
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+remarks); pstmt = null;
if ( remarks == null || remarks.trim().length() == 0 ) }
//VALIDATION FOR EXISTING DATA IN WORKORDER_FEEDBACK TABLE
if(childNodeName.equalsIgnoreCase("WAIT_TIME") )
{
System.out.println("++++++++=IN SAVE METHOD 8 +++++++++++++=");
waitTime = genericUtility.getColumnValue("wait_time", dom);
sql ="SELECT COUNT(1) FROM WORKORDER_FEEDBACK WF,WORKORDER W1 WHERE WF.WORK_ORDER = W1.WORK_ORDER AND W1.WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
if(rs.getInt(1)==0)
{ {
errList.add("WIPQCAR1"); errList.add("VTWIPWT");
errFields.add("remarks"); errFields.add("WAIT_TIME");
System.out.println("Bar code Comming null in wfvaldata & bar_code is : \t"+remarks); System.out.println("WORK ORDER FEEDBACK TABLE FEILD ");
}
}
break; }
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
} //VALIDATION FOR QC APPROVAL REJECT
int errListSize=errList.size(); if (childNodeName.equalsIgnoreCase("qc_approval_reject"))
if(errListSize>0) {
{ System.out.println(" +++++++++ In Save Method 9 +++++++++++++++++++");
for(int cnt=0;cnt<errListSize;cnt++) qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject", dom);
{ System.out.println("This is in wfValdata Case1 & Emp_id is \t"+qcApprovalReject);
errCode=errList.get(cnt); if ( qcApprovalReject == null || qcApprovalReject.trim().length() == 0 )
errFieldName=errFields.get(cnt); {
errString=getErrorString(errFieldName, errCode, userId); errList.add("VTWIPQCAR1");
errorType = errorType( conn , errCode ); errFields.add("qc_approval_reject");
System.out.println("Qc approval validation : \t"+qcApprovalReject);
break ;
}
}
if ( errString.length() > 0) //VALIDATION FOR REASON CODE
if (childNodeName.equalsIgnoreCase("reason_code"))
{ {
String bifurErrString = errString.substring( errString.indexOf("<Errors>") + 8,errString.indexOf("<trace>")); // qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject", dom);
bifurErrString = bifurErrString;
bifurErrString = bifurErrString+errString.substring( errString.indexOf("</trace>") + 8,errString.indexOf("</Errors>")); if(!("A".equalsIgnoreCase(qcApprovalReject)))
errStringXml.append(bifurErrString); {
errString = ""; System.out.println(" +++++++++ In Save Method 10 +++++++++++++++++++");
reasonCode = genericUtility.getColumnValue("reason_code", dom);
System.out.println("______ This is in wfValdata Case1 &qcApprovalReject is \t"+reasonCode);
if ( reasonCode == null || reasonCode.trim().length() == 0 )
{
errList.add("VTWIPRC1");
errFields.add("reason_code");
System.out.println("reson code validation: \t"+reasonCode);
break ;
}
}
} }
if (childNodeName.equalsIgnoreCase("remarks"))
{
System.out.println(" +++++++++ In Save Method 11 +++++++++++++++++++");
remarks = genericUtility.getColumnValue("remarks", dom);
System.out.println("This is in wfValdata Case1 & Emp_id is \t"+remarks);
if ( remarks == null || remarks.trim().length() == 0 )
{
//errString = itmdbAccessEJB.getErrorString(" "," VTWIPRM1", "");
errList.add("VTWIPRM1");
errFields.add("remarks");
System.out.println("Remarks null : \t"+remarks);
break ;
}
}
}
if ( errorType.equalsIgnoreCase("E")) int errListSize=errList.size();
if(errListSize>0)
{
for(int cnt=0;cnt<errListSize;cnt++)
{ {
break; 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( "" );
} }
errList.clear();
errList = null;
errFields.clear();
errFields = null;
errStringXml.append("</Errors></Root>\r\n");
}else
{
errStringXml = new StringBuffer( "" );
}
} }
} }
catch(Exception e) catch(Exception e)
{ {
System.out.println(e); System.out.println(e);
e.printStackTrace(); e.printStackTrace();
...@@ -288,7 +485,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -288,7 +485,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
{ {
System.out.println(" $$ xmlString ::"+xmlString); System.out.println(" $$ xmlString ::"+xmlString);
System.out.println(" $$ xmlString2 ::"+xmlString1); System.out.println(" $$ xmlString2 ::"+xmlString1);
Document dom=null; Document dom=null;
Document dom1=null; Document dom1=null;
String valueXmlString=""; String valueXmlString="";
...@@ -315,39 +512,31 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -315,39 +512,31 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
ConnDriver connDriver=new ConnDriver(); ConnDriver connDriver=new ConnDriver();
Connection conn=null; Connection conn=null;
StringBuffer valueXmlString=null; StringBuffer valueXmlString=null;
PreparedStatement pstmt=null; PreparedStatement pstmt=null,pstmtInner = null;
ResultSet rs=null; ResultSet rs=null,rsInner = null;
int currentFormNo=0; int currentFormNo=0,prevOperation = 0, currOperation=0;
String lotNo= ""; //LOT NO FOR SCANING BAR CODE String lotNo= "",lotSl= "",procCode = "",procDescr = "",prodDescr = "",prevOperation1 = "",qcApprovalReject = "",reasonDescr = "",userId = "",reasonCode = "",prevOperationStr = "",workOrd = "",itemCode = "",mcCode= "",siteCode = ""; //LOT NO FOR SCANING BAR CODE
String lotSl= ""; //LOT SL FOR SCANING BAR CODE
int ctr; int ctr;
String columnValue = ""; String columnValue = "";
String opreration = ""; //OPERATION FROM WORKORDER_FEEDBACK
String procCode = ""; //PROCESS CODE FOR WIP_SCANNING_HDR FROM WORKORDER
String procDescr = ""; //PROCESS DESCR FOR WIP_SCANNING_HDR FROM WORKORDER_ROUTE
String workOrd = ""; //WORKORDER FROM WORKORDER TABLE
String itemCode = "";
GenericUtility genutility=null; GenericUtility genutility=null;
String mcCode= "";
String siteCode = "";
String runStartTime = "" ; //SCANNING TIME String runStartTime = "" ; //SCANNING TIME
Date runEndTime = null; //RUN END TIME FROM WORKORDER_FEEDBACK TABLE Date runEndTime = null; //RUN END TIME FROM WORKORDER_FEEDBACK TABLE
Double waitTime = 0.0; //FROM WORKORDER_FEEDBACK TABLE Double waitTime = 0.0; //FROM WORKORDER_FEEDBACK TABLE
double totalRunTime = 0.0 ; //DEFRENCE BETWEEN START TIME AND END TIME double totalRunTime = 0.0 ; //DEFRENCE BETWEEN START TIME AND END TIME
Double cummulRunTime = 0.0; //TOTAL RUN TIME Double cummulRunTime = 0.0; //TOTAL RUN TIME
String prodDescr = ""; //ITEM DESCR FROM ITEM TABLE String errString="";
String reasonCode = "";
String sql = "";//FLD VALUE FROM REASON CODE String sql = "";//FLD VALUE FROM REASON CODE
String reasonDescr = ""; //DESCR FROM REASON CODE boolean flag = true;//FROM WIP_SCANNING_HDR
String qcApprovalReject = ""; //FROM WIP_SCANNING_HDR ArrayList <String> errList=new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
try try
{ {
genutility=GenericUtility.getInstance(); genutility=GenericUtility.getInstance();
conn = connDriver.getConnectDB("DriverITM"); conn = connDriver.getConnectDB("DriverITM");
conn.setAutoCommit(false); conn.setAutoCommit(false);
connDriver=null; connDriver=null;
siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode"); siteCode = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginSiteCode");
userId=getValueFromXTRA_PARAMS(xtraParams,"loginCode");
System.out.println("^^^^^^^^^SITE CODE^^^^^^^^^^^^^"+siteCode); System.out.println("^^^^^^^^^SITE CODE^^^^^^^^^^^^^"+siteCode);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat()); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(genericUtility.getApplDateFormat());
SimpleDateFormat simpleDateTimeFormat = new SimpleDateFormat(genericUtility.getApplDateTimeFormat()); SimpleDateFormat simpleDateTimeFormat = new SimpleDateFormat(genericUtility.getApplDateTimeFormat());
...@@ -363,6 +552,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -363,6 +552,7 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
parentNodeList = dom.getElementsByTagName("Detail1"); parentNodeList = dom.getElementsByTagName("Detail1");
parentNode = parentNodeList.item(0); parentNode = parentNodeList.item(0);
childNodeList = parentNode.getChildNodes(); childNodeList = parentNode.getChildNodes();
ITMDBAccessEJB itmdbAccessEJB = new ITMDBAccessEJB();
ctr = 0; ctr = 0;
valueXmlString.append("<Detail>"); valueXmlString.append("<Detail>");
System.out.println("+++++++++++++current form no++++++++++"+currentFormNo); System.out.println("+++++++++++++current form no++++++++++"+currentFormNo);
...@@ -387,211 +577,225 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote ...@@ -387,211 +577,225 @@ public class WIPScanPvSolar extends ValidatorEJB implements WIPScanPvSolarRemote
qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject",dom); qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject",dom);
valueXmlString.append("<tran_date>").append("<![CDATA["+simpleDateFormat.format(new Date())+"]]>").append("</tran_date>"); valueXmlString.append("<tran_date>").append("<![CDATA["+simpleDateFormat.format(new Date())+"]]>").append("</tran_date>");
valueXmlString.append("<confirmed><![CDATA[").append("N").append("]]></confirmed >"); valueXmlString.append("<confirmed><![CDATA[").append("N").append("]]></confirmed >");
valueXmlString.append("<reason_code protect=\"1\">").append("").append("</reason_code>"); valueXmlString.append("<reason_code protect=\"1\">").append("").append("</reason_code>");
} }
if(currentColumn.trim().equalsIgnoreCase("lot_no") || currentColumn.trim().equalsIgnoreCase("lot_SL"))
if(currentColumn.trim().equalsIgnoreCase("lot_no"))
{ {
System.out.println("Current column["+currentColumn+"]");
lotNo = genericUtility.getColumnValue("lot_no",dom); lotNo = genericUtility.getColumnValue("lot_no",dom);
if(lotNo !=null && lotNo.trim().length() >0 )
{
lotNo = lotNo.toUpperCase();
System.out.println("lot no "+lotNo);
}
System.out.println("lot no "+lotNo);
valueXmlString.append("<lot_no>").append("<![CDATA["+lotNo+"]]>").append("</lot_no>");
valueXmlString.append("<tran_date>").append("<![CDATA["+simpleDateFormat.format(new Date())+"]]>").append("</tran_date>");
}
else if(currentColumn.trim().equalsIgnoreCase("lot_sl"))
{
System.out.println("Current column["+currentColumn+"]");
lotSl = genericUtility.getColumnValue("lot_sl",dom) ; lotSl = genericUtility.getColumnValue("lot_sl",dom) ;
lotNo = genericUtility.getColumnValue("lot_no",dom) ; System.out.println("Lot sl "+lotSl);
runStartTime = genericUtility.getColumnValue("run_time_start",dom) ; sql = "select count(1) from workorder where lot_no = ? and lot_sl = ? ";
sql = "SELECT W1.WORK_ORDER,W1.ITEM_CODE FROM WORKORDER W1 WHERE W1.LOT_NO = ? AND W1.LOT_SL = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lotNo); pstmt.setString(1,lotNo);
pstmt.setString(2,lotSl); pstmt.setString(2,lotSl);
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) if(rs.next())
{ {
workOrd=rs.getString("WORK_ORDER"); if(rs.getInt(1)==0)
itemCode=rs.getString("ITEM_CODE"); {
flag=false;
} }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT OPERATION,WAIT_TIME,PROC_CODE,DESCR 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())
{
int operation1 = 0;
opreration = rs.getString("operation");
operation1 = operation1+1;
operation1 = operation1+1;
waitTime=rs.getDouble("wait_time");
procCode=rs.getString("proc_code");
procDescr=rs.getString("descr");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = " SELECT DESCR FROM PROCESS WHERE PROC_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,procCode);
rs = pstmt.executeQuery();
if(rs.next())
{
procDescr=rs.getString("descr");
} }
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
prodDescr=rs.getString("DESCR");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql ="SELECT RUN_TIME_START,RUN_TIME_END FROM WORKORDER_FEEDBACK WF,WORKORDER W1 WHERE WF.WORK_ORDER = W1.WORK_ORDER AND W1.WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
runEndTime=rs.getTimestamp("RUN_TIME_END");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT RUN_TIME_START-RUN_TIME_END AS TOTAL_RUN_TIME FROM WORKORDER_FEEDBACK WF,WORKORDER W1 WHERE W1.WORK_ORDER = WF.WORK_ORDER AND W1.WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
//totalRunTime=rs.getString("TOTAL_RUN_TIME");
System.out.println("TOTAL RUN TIME"+totalRunTime);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT MC_CODE FROM WORDER_ROUTE WHERE OPERATION = ? AND WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,opreration);
pstmt.setString(2,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
mcCode=rs.getString("mc_code");
System.out.println("TOTAL RUN TIME"+cummulRunTime);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "SELECT SUM(RUN_TIME) AS CUMULATIVE_TIME 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())
{
cummulRunTime=rs.getDouble("cumulative_time");
System.out.println("TOTAL RUN TIME"+cummulRunTime);
} }
rs.close(); if(flag)
rs = null; {
pstmt.close(); if(currentColumn.trim().equalsIgnoreCase("lot_no"))
pstmt = null; {
System.out.println("Current column["+currentColumn+"]");
valueXmlString.append("<work_order>").append("<![CDATA[" +workOrd+ "]]>").append("</work_order>"); lotNo = genericUtility.getColumnValue("lot_no",dom);
valueXmlString.append("<lot_no>").append("<![CDATA[" + lotNo + "]]>").append("</lot_no>"); if(lotNo !=null && lotNo.trim().length() >0 )
valueXmlString.append("<lot_sl>").append("<![CDATA[" + lotSl + "]]>").append("</lot_sl>"); {
valueXmlString.append("<product_code>").append("<![CDATA[" + itemCode + "]]>").append("</product_code>"); lotNo = lotNo.toUpperCase();
valueXmlString.append("<descr>").append("<![CDATA[" + prodDescr + "]]>").append("</descr>"); }
valueXmlString.append("<operation>").append("<![CDATA[" + opreration + "]]>").append("</operation>"); System.out.println("lot no "+lotNo);
valueXmlString.append("<proc_code>").append("<![CDATA[" +procCode+ "]]>").append("</proc_code>"); //valueXmlString.append("<lot_no>").append("<![CDATA["+lotNo+"]]>").append("</lot_no>");
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode+ "]]>").append("</site_code>"); }
valueXmlString.append("<process_descr>").append("<![CDATA[" + procDescr + "]]>").append("</process_descr>"); else if(currentColumn.trim().equalsIgnoreCase("lot_sl"))
valueXmlString.append("<wait_time>").append("<![CDATA[" + waitTime + "]]>").append("</wait_time>"); {
valueXmlString.append("<mc_code>").append("<![CDATA[" + mcCode + "]]>").append("</mc_code>"); System.out.println("Current column["+currentColumn+"]");
valueXmlString.append("<run_start_time>").append("<![CDATA["+simpleDateTimeFormat.format(new Timestamp(System.currentTimeMillis()))+"]]>").append("</run_start_time>"); lotSl = genericUtility.getColumnValue("lot_sl",dom) ;
valueXmlString.append("<run_end_time>").append("<![CDATA["+ simpleDateTimeFormat.format(runEndTime) + "]]>").append("</run_end_time>"); lotNo = genericUtility.getColumnValue("lot_no",dom) ;
System.out.println("END TIME"+runEndTime); System.out.println("lot no "+lotNo);
try{ System.out.println("lot sl"+lotSl);
if(runEndTime != null ) //GET WORK_ORDER FROM WORKORDER TABLE
sql = "SELECT WORK_ORDER,ITEM_CODE FROM WORKORDER WHERE LOT_NO = ? AND LOT_SL = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,lotNo);
pstmt.setString(2,lotSl);
rs = pstmt.executeQuery();
if(rs.next())
{
workOrd=rs.getString("WORK_ORDER")==null?"":rs.getString("WORK_ORDER");
itemCode=rs.getString("ITEM_CODE")==null?"":rs.getString("ITEM_CODE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET MAX OPERATION FROM WORKORDER ROUTE TABLE DEPENDING ON THE WORK ORDER NUMBER
sql = " SELECT MAX(OPERATION) FROM WIP_SCANNING_PS_HDR WHERE WORK_ORDER = ?" ;
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
prevOperation= Integer.parseInt(rs.getString(1)==null?"0":rs.getString(1)) ;
System.out.println("previous operation["+prevOperation+" ]");
System.out.println("get string ["+rs.getString(1)+"]");
currOperation = prevOperation + 1;
System.out.println("current operation ["+currOperation+"]");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET WAIT_TIME PROC_CODE FROM WORDER_ROUTE TABLE
sql = "SELECT WAIT_TIME, MC_CODE,PROC_CODE FROM WORDER_ROUTE WR ,WORKORDER W1 WHERE WR.WORK_ORDER= W1.WORK_ORDER AND W1.WORK_ORDER = ? ";
pstmt = conn.prepareStatement(sql);
prevOperationStr = Integer.toString(prevOperation);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
waitTime= (Double)rs.getDouble("wait_time")== null ?0.0:(Double)rs.getDouble("wait_time");
procCode=rs.getString("proc_code")==null?" ":rs.getString("proc_code");
mcCode=rs.getString("mc_code")==null?" ":rs.getString("mc_code");
System.out.println("process code"+procCode);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET PROCESS DESCRIPTION FROM PPROCESS TABLE
sql = " SELECT DESCR FROM PROCESS WHERE PROC_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,procCode);
rs = pstmt.executeQuery();
if(rs.next())
{
procDescr=rs.getString("descr")==null?" ":rs.getString("descr");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET ITEM DESCR FROM ITEM TABLE
sql = "SELECT DESCR FROM ITEM WHERE ITEM_CODE = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,itemCode);
rs = pstmt.executeQuery();
if(rs.next())
{
prodDescr=rs.getString("DESCR")==null?" ":rs.getString("DESCR");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//GET RUN_TIME_START,RUN_TIME_END FROM WORKORDER_FEEDBACK
sql ="SELECT RUN_TIME_START,RUN_TIME_END FROM WORKORDER_FEEDBACK WF,WORKORDER W1 WHERE WF.WORK_ORDER = W1.WORK_ORDER AND W1.WORK_ORDER = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,workOrd);
rs = pstmt.executeQuery();
if(rs.next())
{
runEndTime=rs.getTimestamp("RUN_TIME_END");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
//CALCULATING CUMULATIVE TIME FROM WORDER_ROUTE TABLE
sql = "SELECT SUM(RUN_TIME) AS CUMULATIVE_TIME 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())
{
cummulRunTime=(Double)rs.getDouble("cumulative_time")==null?0.0:(Double)rs.getDouble("cumulative_time");
System.out.println("CUMULATIVE RUN TIME"+cummulRunTime);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
valueXmlString.append("<work_order>").append("<![CDATA[" +workOrd+ "]]>").append("</work_order>");
valueXmlString.append("<lot_no>").append("<![CDATA[" + lotNo + "]]>").append("</lot_no>");
valueXmlString.append("<lot_sl>").append("<![CDATA[" + lotSl + "]]>").append("</lot_sl>");
valueXmlString.append("<product_code>").append("<![CDATA[" + itemCode+ "]]>").append("</product_code>");
valueXmlString.append("<descr>").append("<![CDATA[" + prodDescr+ "]]>").append("</descr>");
valueXmlString.append("<operation>").append("<![CDATA[" + currOperation + "]]>").append("</operation>");
valueXmlString.append("<proc_code>").append("<![CDATA[" +procCode + "]]>").append("</proc_code>");
valueXmlString.append("<site_code>").append("<![CDATA[" + siteCode+ "]]>").append("</site_code>");
valueXmlString.append("<process_descr>").append("<![CDATA[" + procDescr + "]]>").append("</process_descr>");
valueXmlString.append("<wait_time>").append("<![CDATA[" + waitTime + "]]>").append("</wait_time>");
valueXmlString.append("<mc_code>").append("<![CDATA[" + mcCode + "]]>").append("</mc_code>");
valueXmlString.append("<run_start_time>").append("<![CDATA["+simpleDateTimeFormat.format(new Timestamp(System.currentTimeMillis()))+"]]>").append("</run_start_time>");
if(runEndTime != null)
{
valueXmlString.append("<run_end_time>").append("<![CDATA["+ simpleDateTimeFormat.format(runEndTime) + "]]>").append("</run_end_time>");
}
else
{
valueXmlString.append("<run_end_time/>");
}
if(runEndTime != null)
{ {
double runTime = ((System.currentTimeMillis())-(runEndTime.getTime()))/3600000 ; double runTime = ((System.currentTimeMillis())-(runEndTime.getTime()))/3600000 ;
totalRunTime = runTime ; totalRunTime = runTime ;
valueXmlString.append("<total_run_time>").append("<![CDATA[" + totalRunTime+ "]]>").append("</total_run_time>"); valueXmlString.append("<total_run_time>").append("<![CDATA[" + totalRunTime+ "]]>").append("</total_run_time>");
}
else
{
valueXmlString.append("<total_run_time/>");
} }
valueXmlString.append("<cumulativ_run_time>").append("<![CDATA[" + cummulRunTime + "]]>").append("</cumulativ_run_time>");
valueXmlString.append("<gencodes_descr>").append("<![CDATA["+reasonDescr+"]]>").append("</gencodes_descr>");
} }
catch(NullPointerException nop)
{ if(currentColumn.trim().equalsIgnoreCase("qc_approval_reject"))
nop.printStackTrace();
}
valueXmlString.append("<cumulativ_run_time>").append("<![CDATA[" + cummulRunTime + "]]>").append("</cumulativ_run_time>");
valueXmlString.append("<gencodes_descr>").append("<![CDATA["+reasonDescr+"]]>").append("</gencodes_descr>");
}
if(currentColumn.trim().equalsIgnoreCase("qc_approval_reject"))
{
qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject",dom);
if("A".equals(qcApprovalReject) )
{
valueXmlString.append("<reason_code protect=\"1\">").append("").append("</reason_code>");
}
else
{
valueXmlString.append("<reason_code protect=\"0\">").append("").append("</reason_code>");
}
}
if(currentColumn.trim().equalsIgnoreCase("reason_code"))
{
reasonCode = genericUtility.getColumnValue("reason_code",dom);
if(reasonCode != null && reasonCode.length()== 0)
{ {
System.out.println("reason_code comming null in itemChanged event of case 1"); qcApprovalReject = genericUtility.getColumnValue("qc_approval_reject",dom);
if("A".equals(qcApprovalReject) )
{
valueXmlString.append("<reason_code protect=\"1\">").append("").append("</reason_code>");
}
else
{
valueXmlString.append("<reason_code protect=\"0\">").append("").append("</reason_code>");
}
} }
pstmt= conn.prepareStatement("SELECT DESCR FROM GENCODES WHERE fld_value = ? ");
pstmt.setString(1,reasonCode); if(currentColumn.trim().equalsIgnoreCase("reason_code"))
rs = pstmt.executeQuery();
if(rs.next())
{ {
reasonDescr = rs.getString(1); reasonCode = genericUtility.getColumnValue("reason_code",dom);
if(reasonCode != null && reasonCode.length()== 0)
{
System.out.println("reason_code comming null in itemChanged event of case 1");
}
pstmt= conn.prepareStatement("SELECT DESCR FROM GENCODES WHERE fld_value = ? ");
pstmt.setString(1,reasonCode);
rs = pstmt.executeQuery();
if(rs.next())
{
reasonDescr = rs.getString(1)==null?" ":rs.getString("DESCR");
}
pstmt.close();
rs.close();
pstmt = null;
rs = null;
valueXmlString.append("<gencodes_descr>").append("<![CDATA["+reasonDescr+"]]>").append("</gencodes_descr>");
} }
pstmt.close();
rs.close();
pstmt = null;
rs = null;
valueXmlString.append("<gencodes_descr>").append("<![CDATA["+reasonDescr+"]]>").append("</gencodes_descr>");
} }
valueXmlString.append("</Detail>"); valueXmlString.append("</Detail>");
break ; break ;
}//switch case end }//switch case end
......
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