Commit 17bc5669 authored by agaikwad's avatar agaikwad

Request_id-M16ASUN001-work order track event is open do not allowed...

Request_id-M16ASUN001-work order track event is open do not allowed provisional realease of Qc Order


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@101715 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 20eca6b8
......@@ -7,12 +7,15 @@ import ibase.webitm.ejb.ActionHandlerEJB;
import ibase.webitm.ejb.E12CreateBatchLoadEjb;
import ibase.webitm.ejb.ITMDBAccessEJB;
import ibase.webitm.ejb.MasterStatefulLocal;
import ibase.webitm.ejb.ValidatorEJB;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.StockUpdate;
import ibase.webitm.ejb.sys.CreateRCPXML;
//import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.GenericUtility;
import ibase.webitm.utility.ITMException;
import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.PreparedStatement;
......@@ -20,6 +23,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
......@@ -53,8 +57,7 @@ QcOdrProvisionalReleaseConfLocal, QcOdrProvisionalReleaseConfRemote
return str;
}
public String confirm(String tranId, String xtraParams, String forcedFlag)
throws RemoteException, ITMException
public String confirm(String tranId, String xtraParams, String forcedFlag) throws RemoteException, ITMException
{
System.out.println("QCTransferConf confirm called...230914...........");
String confirmed = "",locCodeTo="",locCodeFrm="",trnfQty="",loginSiteCode="",itemCode="",locCode="",porcpNo="",lotNo="",lotSl="";
......@@ -70,6 +73,8 @@ QcOdrProvisionalReleaseConfLocal, QcOdrProvisionalReleaseConfRemote
int recCnt = 0, cnt = 0;
StringBuffer xmlBuff = null;
ITMDBAccessEJB itmDBAccessLocal = new ITMDBAccessEJB();
String porCpNO="",workOrder="";
int count=0;
QCTransferConf qcTrnsCnf=new QCTransferConf(); // Object required to confirm Qc transfer.
try
......@@ -216,7 +221,52 @@ QcOdrProvisionalReleaseConfLocal, QcOdrProvisionalReleaseConfRemote
errCode = "QCTRLOCNVL"; //QC transfer Location code TO not valid.
errString = itmDBAccessLocal.getErrorString("",errCode,"");
}
sql = "select porcp_no from qc_order where QORDER_NO=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tranId);
rs = pstmt.executeQuery();
if (rs.next())
{
porCpNO = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
sql = "select work_order from workorder_receipt where tran_id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, porCpNO);
rs = pstmt.executeQuery();
if (rs.next())
{
workOrder = rs.getString(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(count > 0)
{
System.out.println("Count is"+ count);
errString=getTrackEvent(porCpNO, xtraParams,conn);
}
sql = "select count(1) from workorder where work_order=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, workOrder);
rs = pstmt.executeQuery();
if (rs.next())
{
count = rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
if(count > 0)
{
System.out.println("Count is"+ count);
errString=getTrackEvent(porCpNO, xtraParams,conn);
}
}
if (errString == null || errString.trim().length() == 0)
......@@ -503,4 +553,419 @@ QcOdrProvisionalReleaseConfLocal, QcOdrProvisionalReleaseConfRemote
{
return Math.round(round*Math.pow(10, scale))/Math.pow(10, scale);
}
private String getTrackEvent(String PorCpNo,String xtraParams,Connection conn)throws ITMException
{
System.out.println("IN GET track Event List");
String lsworkorder="", lsordertype="",lserrcode="" , lswono="", lsworkordertrack="",errString="",lllinenowostatus="" ;
String lstrackstatsql="",lstrackupdsql="", lswostring="" , lsmsg="" , lssql="" , lstranidwostatus="" , lsworefid="",lseventid="", lsoldworefid="" , lssql1="" , lstranidwostatuspck="" ,lsworefidpck="" , lseventidpck="" , lsoldworefidpck= "";
String lsmsg1="",lsmsg2="",lslinenowostatuspck="";
int j = 0,i = 0 , k = 0;
double llsatuscnt=0,llupdatecnt=0,llwotrackstatcnt=0,llupdatecntpak= 0, llstatuscnt=0,lllinenowostatus_pck=0;
boolean lbtemp=false,lbflagfresh=false,lbflagpack=false ,lbflagfreshpck = false;
PreparedStatement pstmt = null;
ResultSet rs = null;
PreparedStatement pstmt1 = null;
ResultSet rs1=null;
String errCode = "";
int a=0;
String sql="",lswono1="",lswordertemp="",ldeventdate="",ldeventpckdate="";
ArrayList<String> errList = new ArrayList<String>();
ArrayList<String> errFields = new ArrayList<String>();
String userId="";
ibase.utility.E12GenericUtility genericUtility = new ibase.utility.E12GenericUtility();
String errorType = "";
String startStr ="",endStr = "",descrStr = "",descrStart ="", descrEnd ="" ,exchRateStr ="",value ="",workorderRecepitTranId="";
StringBuffer errStringXml = new StringBuffer("<?xml version = \"1.0\"?> \r\n <Root> <Errors>");
String workorder="";
try
{
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
userId = genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
sql="SELECT workorder_receipt.work_order,workorder.order_type FROM workorder_receipt, workorder" +
" WHERE workorder_receipt.work_order = workorder.work_order and workorder_receipt.tran_id =?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, PorCpNo);
rs = pstmt.executeQuery();
if (rs.next())
{
lsworkorder= rs.getString("work_order");
lsordertype= rs.getString("order_type");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Work Order In Workorder Receipt ::"+lsworkorder);
System.out.println("Work Order type ::"+lsordertype);
if( lsworkorder!= null && lsworkorder.trim().length() > 0 && "P".equals(lsordertype.trim()) )
{
System.out.println("IN order type P status");
sql="select work_order from workorder " +
"where ( (item_code,lot_no) IN ((SELECT A.ITEM_CODE, A.LOT_NO FROM workorder_issdet A, workorder_iss B, workorder C, " +
"BOMDET D WHERE A.tran_id = B.tran_id AND B.work_order = ? " +
"AND A.ITEM_CODE = D.ITEM_CODE AND B.work_order = C.work_order AND " +
"C.bom_code = D.bom_code AND D.CONSIDER_LOT_NO__ISSUE='Y' ))) " +
"and TRIM(order_type) = 'F'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsworkorder);
rs = pstmt.executeQuery();
while (rs.next())
{
j++;
lswono= rs.getString("work_order");
System.out.println("WorkOrder While "+lswono);
lswono1= lswono;
if(j>1)
{
lswono1=lswono1 + lswono +"',";
}
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("WorkOrder put sql Input STring "+lswono1);
lsworkordertrack = gfgetSqlInString(lswono1,conn);
System.out.println("Track is"+lsworkordertrack);
if(lswono1.contains(","))
{
lswordertemp= lswordertemp +lsworkorder+"',";
}
lswordertemp=lsworkorder;
System.out.println("lswordertemp"+lswordertemp);
do
{
if(lswordertemp.length() >0)
{
String tempArray1[]=lswordertemp.split(",");
System.out.println("tempArray[].length :-["+tempArray1.length+"]");
for(int itrArr=0; itrArr < tempArray1.length;itrArr++)
{
a++;
lsworkordertrack=tempArray1[itrArr];
if(a>1)
{
lsworkordertrack=lsworkordertrack+"'"+tempArray1[itrArr]+"',";
}
}
System.out.println("line1 before sql:- ["+lsworkordertrack+"]");
//lsworkordertrack=lsworkordertrack.substring(0, lsworkordertrack.length()-1);
System.out.println("line1 After sql:- ["+lsworkordertrack+"]");
}
}
while(lbtemp);
lsworkordertrack = gfgetSqlInString(lswono1,conn);
sql="select tran_id,line_no,ref_id from wo_track_status where ref_id in ( " + lsworkordertrack + ") and (tran_id,line_no) not in " +
"(select ref_id ,ref_line_no " +
"from wo_track_update where work_order in ( " + lsworkordertrack + ") " +
"and case when STATUS_FLAG is null then '2' else STATUS_FLAG end = '1') " +
" order by ref_id ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
lstranidwostatus= rs1.getString("tran_id");
lllinenowostatus= rs1.getString("line_no");
lsworefid= rs1.getString("ref_id");
System.out.println("Tran id Status:- ["+lstranidwostatus+"]");
System.out.println("line Status:- ["+lllinenowostatus+"]");
System.out.println("Ref_id:- ["+lsworefid+"]");
sql="select event_no,CHG_DATE from wo_track_status where tran_id = ? and line_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lstranidwostatus);
pstmt.setString(2, lllinenowostatus);
rs = pstmt.executeQuery();
if (rs.next())
{
lseventid= rs.getString("event_no");
ldeventdate=rs.getString("CHG_DATE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Event Id Status:- ["+lseventid+"]");
System.out.println("Event Date Status:- ["+ldeventdate+"]");
System.out.println("lsoldworefid != lsworefid"+lsoldworefid != lsworefid);
if (lsoldworefid != lsworefid)
{
lsmsg1 +="Work Order No : " +lsworefid +" Event_id = " + lseventid + " Event Date = " + ldeventdate;
}
else
{
lsmsg1 +=" Event_id = " + lseventid + " Event Date = " + ldeventdate;
}
System.out.println("lsmsg1:- ["+lsmsg1+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql="select count(1) from wo_track_status" +
" where (ref_id in " +
" (select work_order from workorder " +
" where ( (item_code,lot_no) IN ((SELECT A.ITEM_CODE,A.LOT_NO " +
" FROM workorder_issdet A,workorder_iss B,workorder C,BOMDET " +
" D, workorder_bill e " +
" WHERE A.tran_id = B.tran_id " +
" and e.work_order = c.work_order " +
" and e.ITEM_CODE__REF = d.item_ref " +
" and e.operation = d.operation " +
" and e.item_code = d.item_code " +
" and a.exp_lev = e.exp_lev " +
" AND B.work_order in (" + lsworkordertrack + ") " +
" AND A.ITEM_CODE = D.ITEM_CODE " +
" AND B.work_order = C.work_order " +
" AND C.bom_code = D.bom_code " +
" AND D.CONSIDER_LOT_NO__ISSUE = 'Y')) ) " +
" and TRIM (order_type)= 'F') ) or (REF_ID = ' " + lsworkorder + " ') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
llstatuscnt=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("llstatuscnt:- ["+llstatuscnt+"]");
sql="select count(1) " +
" from wo_track_update " +
" where (work_order in (select work_order from workorder " +
" where ( (item_code,lot_no) IN ((SELECT A.ITEM_CODE,A.LOT_NO " +
" FROM workorder_issdet A,workorder_iss B,workorder C,BOMDET " +
" D, workorder_bill e " +
" WHERE A.tran_id = B.tran_id " +
" and e.work_order = c.work_order " +
" and e.ITEM_CODE__REF = d.item_ref " +
" and e.operation = d.operation " +
" and e.item_code = d.item_code " +
" and a.exp_lev = e.exp_lev " +
" AND B.work_order in (" + lsworkordertrack + ") " +
" AND A.ITEM_CODE = D.ITEM_CODE " +
" AND B.work_order = C.work_order " +
" AND C.bom_code = D.bom_code " +
" AND D.CONSIDER_LOT_NO__ISSUE = 'Y')) ) " +
" and TRIM (order_type)= 'F') " +
" and case when STATUS_FLAG is null then '2' else STATUS_FLAG end = '1') ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
llupdatecnt=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("llupdatecnt:- ["+llupdatecnt+"]");
sql="select count(1) from wo_track_status where ref_id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsworkorder);
rs = pstmt.executeQuery();
if (rs.next())
{
llwotrackstatcnt=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("llwotrackstatcnt:- ["+llwotrackstatcnt+"]");
System.out.println("llstatuscnt:- ["+llstatuscnt+"]");
llstatuscnt = llstatuscnt + llwotrackstatcnt ;
System.out.println("llstatuscnt after:- ["+llstatuscnt+"]");
System.out.println("llstatuscnt= llstatuscnt:- ["+llupdatecntpak+"]+llstatuscnt:- ["+llwotrackstatcnt+"] ");
sql=" select count(1) from wo_track_update " +
"where work_order = ? and " +
"case when STATUS_FLAG is null then '2' else STATUS_FLAG end = '1'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lsworkorder);
rs = pstmt.executeQuery();
if (rs.next())
{
llupdatecntpak=rs.getInt(1);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("llupdatecntpak:- ["+llupdatecntpak+"]");
System.out.println("llstatuscnt:- ["+llupdatecnt+"]");
llupdatecnt = llupdatecnt + llupdatecntpak;
System.out.println("llupdatecnt= llupdatecntpak:- ["+llupdatecntpak+"]+llstatuscnt:- ["+llupdatecnt+"] ");
System.out.println("llupdatecnt after@@@:- ["+llupdatecnt+"]");
System.out.println("llupdatecnt"+llupdatecntpak+"< llstatuscnt"+llstatuscnt+"&& llstatuscnt"+" > 0 ");
if (llupdatecnt < llstatuscnt && llstatuscnt > 0 )
{
String PendingWoOrder="";
double PendingWoOrder1=0;
PendingWoOrder1=(llstatuscnt-llupdatecnt);
PendingWoOrder=Double.toString(PendingWoOrder1);
lsmsg += " Pending work order Track status count : " + PendingWoOrder;
System.out.println("lsmsg:- ["+lsmsg+"]");
}
sql="select tran_id,line_no,ref_id from wo_track_status where ref_id = '"+lsworkorder+"' and (tran_id,line_no) not in " +
"(select ref_id ,ref_line_no " +
"from wo_track_update where work_order in ( " + lsworkordertrack + ") " +
"and case when STATUS_FLAG is null then '2' else STATUS_FLAG end = '1') " +
" order by ref_id ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
while (rs1.next())
{
lstranidwostatuspck= rs1.getString("tran_id");
lslinenowostatuspck= rs1.getString("line_no");
lsworefidpck= rs1.getString("ref_id");
System.out.println("Tran idpck:- ["+lstranidwostatuspck+"]");
System.out.println("line pck:- ["+lslinenowostatuspck+"]");
System.out.println("Ref_id pck:- ["+lsworefidpck+"]");
sql="select event_no,CHG_DATE from wo_track_status where tran_id =? and line_no = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, lstranidwostatuspck);
pstmt.setString(2, lslinenowostatuspck);
rs = pstmt.executeQuery();
if (rs.next())
{
lseventidpck= rs.getString("event_no");
ldeventpckdate=rs.getString("CHG_DATE");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
System.out.println("Event no pck:- ["+lseventidpck+"]");
System.out.println("Event date pck:- ["+ldeventpckdate+"]");
if( lsoldworefidpck != lsworefidpck)
{
lsmsg2 += ";Work Order No : " + lsworefidpck.trim() +" Event_id =" +lseventidpck.trim() + " Event Date = " + ldeventpckdate;
}
else
{
lsmsg2 +=" Event_id = " +lseventidpck.trim() + " Event Date =" + ldeventpckdate;
}
System.out.println("lsmsg2:- ["+lsmsg2+"]");
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
lsoldworefidpck = lsworefidpck;
System.out.println("lsmsg"+lsmsg);
System.out.println("lsmsg length "+lsmsg.length());
if (lsmsg.trim().length()>0)
{
//lserrcode = "VTPENTRK" + lsmsg + lsmsg1 + lsmsg2;
//lserrcode = "VTPENTRK";
// errList.add(lserrcode);
System.out.println("In approxcost validation>>");
errCode = "VTPENTRK";
errCode = new ValidatorEJB().getErrorString("", errCode, "");
System.out.println("::: errCode["+errCode+"]");
startStr = errCode.substring(0,errCode.indexOf("<description>") + 13);
endStr = errCode.substring(errCode.indexOf("</description>"),errCode.length());
System.out.println("endStr ["+endStr+"]");
descrStr = errCode.substring(errCode.indexOf("<description>") + 13,errCode.indexOf("</description>"));
System.out.println("::: descrStr ["+descrStr+"]");
descrStart = descrStr.substring(0, descrStr.indexOf("]"));
descrEnd = descrStr.substring(descrStr.indexOf("]"),descrStr.length());
value ="; " + lsmsg
+ "; "+ lsmsg1
+ "; "+ lsmsg2;
System.out.println("Value ::: "+ value);
descrStart = descrStart.concat(value).concat(descrEnd);
errCode = startStr.concat(descrStart).concat(endStr);
return errCode;
}
}
}
catch (SQLException sqx)
{
System.out.println("The SQLException occurs in PayrollVoucherComPrc :"+sqx);
sqx.printStackTrace();
throw new ITMException(sqx);
}
catch(Exception e)
{
System.out.println("The SQLException occurs in PayrollVoucherComPrc :"+e);
e.printStackTrace();
throw new ITMException(e);
}
finally
{
try
{
if(pstmt != null)
{
pstmt.close();
pstmt = null;
}
if (rs != null)
{
rs.close();
rs = null;
}
}
catch(Exception e)
{
System.err.println("Exception :DBAccessEJB :getITMVersion :\n"+e.getMessage());
e.printStackTrace();
throw new ITMException(e);
}
}
return errCode;
}
private String gfgetSqlInString(String lsworder,Connection conn)throws ITMException
{
String lsworkordertrack="";
if(lsworder.length() >0)
{
String tempArray[]=lsworder.split(",");
System.out.println("tempArray[].length :-["+tempArray.length+"]");
for(int itrArr=0; itrArr < tempArray.length;itrArr++)
{
lsworkordertrack=lsworkordertrack+"'"+tempArray[itrArr]+"',";
}
System.out.println("line1 before sql:- ["+lsworkordertrack+"]");
lsworkordertrack=lsworkordertrack.substring(0, lsworkordertrack.length()-1);
System.out.println("line1 After sql:- ["+lsworkordertrack+"]");
}
return lsworkordertrack;
}
}
\ 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