Commit 6290f46f authored by wansari's avatar wansari

W15GSUN003 changed by wasim updated loc_code from for ref ser PR and PZ


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@98907 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 25b15c14
......@@ -8,18 +8,25 @@
package ibase.webitm.utility.wms;
import ibase.scheduler.utility.interfaces.Schedule;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.rmi.RemoteException;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.sql.*;
import javax.naming.InitialContext;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import ibase.webitm.utility.ITMException;
import ibase.webitm.utility.TransIDGenerator;
import ibase.webitm.ejb.*;
import ibase.webitm.ejb.dis.CreateDistIssue;
import ibase.webitm.ejb.dis.CreateDistOrder;
import ibase.webitm.ejb.dis.DistCommon;
import ibase.webitm.ejb.dis.DistOrderClubBean;
import ibase.webitm.ejb.dis.DistStkUpdLocal;
......@@ -36,6 +43,8 @@ public class ScheduleAWMSInOutTasks implements Schedule
GenericUtility genericUtility = GenericUtility.getInstance();
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
DistCommon distComm = new DistCommon();
CreateDistOrder distOrder = new CreateDistOrder();
String isAutoConfirm = null;
StringBuffer failMsg = null;
/*HashMap<String,String> errMap=new HashMap<String, String>();
......@@ -48,6 +57,7 @@ public class ScheduleAWMSInOutTasks implements Schedule
String chgUser = null;
String chgTerm = null;
boolean isError = false;
private String currCode;
public String schedulePriority(String wrkflwPriority)throws Exception
{
......@@ -111,21 +121,21 @@ public class ScheduleAWMSInOutTasks implements Schedule
{
refSer = checkNullAndTrim(rs.getString("REF_SER"));
refId = checkNullAndTrim(rs.getString("REF_ID"));
isCountPllt = checkCountPalletReq(refId,conn);
if(isCountPllt)
{
//isCountPllt = checkCountPalletReq(refId,conn);
//if(isCountPllt)
//{
HashMap interfaceHmap = new HashMap();
interfaceHmap.put("REF_ID", refId);
interfaceHmap.put("REF_SER", refSer);
countError = 0;
flag = 0;
sqlInf = "SELECT COUNT(*) AS COUNT FROM INTERFACE WHERE REF_ID = ? AND MSG_STAT = 'E' ";
sqlInf = "SELECT COUNT(*) AS COUNT FROM INTERFACE WHERE REF_ID = ? AND MSG_STAT = 'E' "
+ "AND LINE_NO IN (SELECT LINE_NO FROM INTERFACE2 WHERE REF_ID = ? AND SCHEDULE_STATUS IS NULL)";
interfacePstmt = conn.prepareStatement(sqlInf);
interfacePstmt.setString(1, refId);
interfacePstmt.setString(2, refId);
rsInf = interfacePstmt.executeQuery();
if(rsInf.next())
{
......@@ -141,11 +151,11 @@ public class ScheduleAWMSInOutTasks implements Schedule
flag = 1;
}
if(flag == 0)
{
//if(flag == 0)
//{
System.out.println("Going for stock transfer refId["+refId+"]refSer["+refSer+"]inOut["+inOut+"]");
errString = stockTransfer(interfaceHmap,xtraParams,conn);
}
//}
/*if("E".equalsIgnoreCase(palletRej))
{
......@@ -171,7 +181,8 @@ public class ScheduleAWMSInOutTasks implements Schedule
}
}
}*/
}//End checkCountPalletReq check
//}//End checkCountPalletReq check
//}
}
rs.close();rs = null;
pstmt.close();pstmt = null;
......@@ -213,13 +224,13 @@ public class ScheduleAWMSInOutTasks implements Schedule
private String stockTransfer(HashMap interfaceMap,String xtraParams,Connection conn) throws SQLException, ITMException
{
PreparedStatement pstmt=null, pstmtHdr = null, pstmtDet = null;
ResultSet rs = null;
PreparedStatement pstmt=null, pstmtHdr = null, pstmtDet = null,pstmtInterface = null,pstmtUpdate = null;
ResultSet rs = null,rsInterface = null;
String sql = "",insertSql = "",tranID = "",loginSiteCode = "",userId = "",errString = "";
String sql = "",insertSql = "",tranID = "",loginSiteCode = "",userId = "",errString = "",sqlInterface = "",sqlUpdate = "";
String refSer = "",refId = "",noArt = "",itemCode = "",lotNo = "",lotSl = "",acctCodeInv = "",cctrCodeInv = "",
palletNo = "",locCodeTo = "",locCodeFrom = "",siteCode = "";
palletNo = "",locCodeTo = "",locCodeFrom = "",siteCode = "",lineNoInterface = "";
Double quantity = 0d;
int updCnt = 0,lineNo = 0;
......@@ -232,7 +243,13 @@ public class ScheduleAWMSInOutTasks implements Schedule
userId = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "loginCode" );
chgTerm = genericUtility.getValueFromXTRA_PARAMS( xtraParams, "chgTerm" );
boolean headerFlag = true;
DistStkUpdLocal distStkUpd = null;
ArrayList lineNoList = new ArrayList();
boolean isRecordExist = false;
try
{
System.out.println("Inside stock transfer");
......@@ -242,21 +259,25 @@ public class ScheduleAWMSInOutTasks implements Schedule
refSer = (String) interfaceMap.get("REF_SER");
refId = (String) interfaceMap.get("REF_ID");
/*lineNoInterface = (String) interfaceMap.get("LINE_NO");
lineNoInterface = " " + lineNoInterface;
lineNoInterface = lineNoInterface.substring( lineNoInterface.length()-3 );*/
if("D-SO".equalsIgnoreCase(refSer))
{
sql = "SELECT ITEM_CODE,LINE_NO,QUANTITY,QTY_ALLOC,UNIT,LOT_NO,LOT_SL,MFG_DATE,EXP_DATE,LOC_CODE,SITE_CODE__MFG AS SITE_CODE"
+ " FROM DISTORDER_ALLOC WHERE DIST_ORDER = ? ";
+ " FROM DISTORDER_ALLOC WHERE DIST_ORDER = ? AND LINE_NO = ?";
}
else if("S-ORD".equalsIgnoreCase(refSer))
{
sql = "SELECT ITEM_CODE,LINE_NO,QUANTITY,QTY_ALLOC,UNIT__STD AS UNIT,LOT_NO,LOT_SL,MFG_DATE,EXP_DATE,LOC_CODE,SITE_CODE "
+ "FROM SORDALLOC WHERE SALE_ORDER = ? ";
+ "FROM SORDALLOC WHERE SALE_ORDER = ? AND LINE_NO = ?";
}
else if("PZ".equalsIgnoreCase(refSer))
{
sql = "SELECT P.ITEM_CODE,P.LINE_NO,P.QUANTITY,S.ALLOC_QTY,S.UNIT,P.LOT_NO,P.LOT_SL,S.MFG_DATE,S.EXP_DATE,"
+ " P.LOC_CODE,P.SITE_CODE,P.PALLET_NO FROM PALLET_DET P,STOCK S WHERE TRAN_ID = ? "
+ " P.LOC_CODE,P.SITE_CODE,P.PALLET_NO FROM PALLET_DET P,STOCK S WHERE TRAN_ID = ? AND P.LINE_NO = ?"
+ " AND P.ITEM_CODE = S.ITEM_CODE AND P.SITE_CODE = S.SITE_CODE"
+ " AND P.LOC_CODE = S.LOC_CODE AND P.LOT_NO = S.LOT_NO AND P.LOT_SL = S.LOT_SL";
}
......@@ -264,160 +285,208 @@ public class ScheduleAWMSInOutTasks implements Schedule
{
sql = "SELECT S.ITEM_CODE,S.QUANTITY,S.LOT_NO,S.LOT_SL,P.LOC_CODE,P.PALLET_NO,"+
" S.SITE_CODE FROM STOCK S,PALLET_REQ_DET P WHERE S.LOC_CODE = P.PALLET_NO AND S.INV_STAT = 'AWMS'" +
" AND P.TRAN_ID = ?";
" AND P.TRAN_ID = ? AND P.LINE_NO = ?";
}
insertSql = "INSERT INTO STOCK_TRANSFER(TRAN_ID,TRAN_DATE,SITE_CODE,REF_SER__FOR,REF_ID__FOR,"+
"REAS_CODE,ITEM_SER,CONFIRMED,"+
"EMP_CODE__APRV,CHG_DATE,CHG_TERM,CHG_USER) "+
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtHdr = conn.prepareStatement(insertSql);
tranID = generateTranTd("w_stock_transfer", currDateStr, loginSiteCode, conn);
pstmtHdr.setString( 1, tranID );
pstmtHdr.setTimestamp( 2, currDate );
pstmtHdr.setString( 3, loginSiteCode );
pstmtHdr.setString( 4, "XFRX");
pstmtHdr.setString( 5, refId );
pstmtHdr.setString( 6, "" );
pstmtHdr.setString( 7, "" );
pstmtHdr.setString( 8, "N" );
pstmtHdr.setString( 9, "" );
pstmtHdr.setTimestamp( 10, currDate );
pstmtHdr.setString( 11, chgTerm );
pstmtHdr.setString( 12, userId );
updCnt = pstmtHdr.executeUpdate();
pstmtHdr.close();
pstmtHdr = null;
insertSql = "INSERT INTO STOCK_TRANSFER_DET(TRAN_ID, LINE_NO, ITEM_CODE, QUANTITY, LOC_CODE__FR,"
insertSql = "INSERT INTO STOCK_TRANSFER_DET(TRAN_ID, LINE_NO, ITEM_CODE, QUANTITY, LOC_CODE__FR,"
+ " LOC_CODE__TO, LOT_NO__FR, LOT_NO__TO, LOT_SL__FR, LOT_SL__TO, ACCT_CODE__CR, ACCT_CODE__DR,"
+ " CCTR_CODE__DR, CCTR_CODE__CR, NO_ART) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtDet = conn.prepareStatement(insertSql);
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
rs = pstmt.executeQuery();
while(rs.next())
{
itemCode = checkNullAndTrim(rs.getString("ITEM_CODE"));
quantity = rs.getDouble("QUANTITY");
lotNo = checkNullAndTrim(rs.getString("LOT_NO"));
lotSl = checkNullAndTrim(rs.getString("LOT_SL"));
siteCode = checkNullAndTrim(rs.getString("SITE_CODE"));
if("PZ".equalsIgnoreCase(refSer))
{
//locCodeFrom = checkNullAndTrim(rs.getString("LOC_CODE"));
//locCodeTo = checkNullAndTrim(rs.getString("PALLET_NO"));
locCodeFrom = checkNullAndTrim(rs.getString("PALLET_NO"));
locCodeTo = checkNullAndTrim(rs.getString("LOC_CODE"));
}
else if("PR".equalsIgnoreCase(refSer))
{
locCodeFrom = checkNullAndTrim(rs.getString("PALLET_NO"));
locCodeTo = checkNullAndTrim(rs.getString("LOC_CODE"));
}
else
{
locCodeFrom = checkNullAndTrim(rs.getString("LOC_CODE"));
locCodeTo = distComm.getDisparams("999999",refSer,conn);
}
System.out.println("Loc code to recieved="+locCodeTo);
sqlInterface = "SELECT LINE_NO FROM INTERFACE WHERE REF_ID = ? AND MSG_STAT != 'E'"
+ " AND LINE_NO IN (SELECT LINE_NO FROM INTERFACE2 WHERE REF_ID = ? AND SCHEDULE_STATUS IS NULL)";
pstmtInterface = conn.prepareStatement(sqlInterface);
pstmtInterface.setString(1, refId);
pstmtInterface.setString(2, refId);
rsInterface = pstmtInterface.executeQuery();
while(rsInterface.next())
{
isRecordExist = true;
lineNo++;
lineNoInterface = rsInterface.getString("LINE_NO");
pstmtDet.setString( 1, tranID );
pstmtDet.setInt( 2, lineNo );
pstmtDet.setString( 3, itemCode );
pstmtDet.setDouble( 4, quantity );
pstmtDet.setString( 5, locCodeFrom );
pstmtDet.setString( 6, locCodeTo );
pstmtDet.setString( 7, lotNo );
pstmtDet.setString( 8, lotNo );
pstmtDet.setString( 9, lotSl );
pstmtDet.setString( 10, lotSl );
pstmtDet.setString( 11, acctCodeInv );
pstmtDet.setString( 12, acctCodeInv );
pstmtDet.setString( 13, cctrCodeInv );
pstmtDet.setString( 14, cctrCodeInv );
pstmtDet.setString( 15, noArt );
lineNoInterface = " " + lineNoInterface;
lineNoInterface = lineNoInterface.substring( lineNoInterface.length()-3 );
//pstmtDet.addBatch();
//pstmtDet.clearParameters();
updCnt = pstmtDet.executeUpdate();
System.out.println("UPdate in stock transfer det="+updCnt);
pstmtDet.clearParameters();
lineNoList.add(lineNoInterface);
if("PR".equalsIgnoreCase(refSer))
if(headerFlag)
{
System.out.println("Going for Allocation");
hashMap.put("tran_date", new java.sql.Date(System.currentTimeMillis()));
hashMap.put("ref_ser",refSer);
hashMap.put("ref_id", tranID);
hashMap.put("ref_line", String.valueOf(lineNo));
hashMap.put("item_code", itemCode);
hashMap.put("site_code", siteCode);
hashMap.put("loc_code",locCodeFrom);
hashMap.put("lot_no",lotNo);
hashMap.put("lot_sl",lotSl);
hashMap.put("alloc_qty", quantity);
hashMap.put("chg_win","W_STOCK_TRANSFER_MULTI");
hashMap.put("chg_user", userId);
hashMap.put("chg_term", chgTerm);
insertSql = "INSERT INTO STOCK_TRANSFER(TRAN_ID,TRAN_DATE,SITE_CODE,REF_SER__FOR,REF_ID__FOR,"+
"REAS_CODE,ITEM_SER,CONFIRMED,"+
"EMP_CODE__APRV,CHG_DATE,CHG_TERM,CHG_USER) "+
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
pstmtHdr = conn.prepareStatement(insertSql);
tranID = generateTranTd("w_stock_transfer", currDateStr, loginSiteCode, conn);
pstmtHdr.setString( 1, tranID );
pstmtHdr.setTimestamp( 2, currDate );
pstmtHdr.setString( 3, loginSiteCode );
pstmtHdr.setString( 4, "XFRX");
pstmtHdr.setString( 5, refId );
pstmtHdr.setString( 6, "" );
pstmtHdr.setString( 7, "" );
pstmtHdr.setString( 8, "N" );
pstmtHdr.setString( 9, "" );
pstmtHdr.setTimestamp( 10, currDate );
pstmtHdr.setString( 11, chgTerm );
pstmtHdr.setString( 12, userId );
updCnt = pstmtHdr.executeUpdate();
pstmtHdr.close();
pstmtHdr = null;
}
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
pstmt.setString(2, lineNoInterface);
rs = pstmt.executeQuery();
while(rs.next())
{
itemCode = checkNullAndTrim(rs.getString("ITEM_CODE"));
quantity = rs.getDouble("QUANTITY");
lotNo = checkNullAndTrim(rs.getString("LOT_NO"));
lotSl = checkNullAndTrim(rs.getString("LOT_SL"));
siteCode = checkNullAndTrim(rs.getString("SITE_CODE"));
distStkUpd = getComponent("DistStkUpd");
if (distStkUpd.updAllocTrace(hashMap, conn) > 0)
if("PZ".equalsIgnoreCase(refSer))
{
//locCodeFrom = checkNullAndTrim(rs.getString("LOC_CODE"));
//locCodeTo = checkNullAndTrim(rs.getString("PALLET_NO"));
locCodeFrom = checkNullAndTrim(rs.getString("LOC_CODE"));
locCodeTo = checkNullAndTrim(rs.getString("PALLET_NO"));
}
else if("PR".equalsIgnoreCase(refSer))
{
locCodeFrom = checkNullAndTrim(rs.getString("PALLET_NO"));
locCodeTo = checkNullAndTrim(rs.getString("LOC_CODE"));
}
else
{
System.out.println("distStkUpd.UpdAllocTrace(HashMap, Connection) : Sucessuful!");
locCodeFrom = checkNullAndTrim(rs.getString("LOC_CODE"));
locCodeTo = distComm.getDisparams("999999",refSer,conn);
}
System.out.println("Loc code to recieved="+locCodeTo);
lineNo++;
pstmtDet.setString( 1, tranID );
pstmtDet.setInt( 2, lineNo );
pstmtDet.setString( 3, itemCode );
pstmtDet.setDouble( 4, quantity );
pstmtDet.setString( 5, locCodeFrom );
pstmtDet.setString( 6, locCodeTo );
pstmtDet.setString( 7, lotNo );
pstmtDet.setString( 8, lotNo );
pstmtDet.setString( 9, lotSl );
pstmtDet.setString( 10, lotSl );
pstmtDet.setString( 11, acctCodeInv );
pstmtDet.setString( 12, acctCodeInv );
pstmtDet.setString( 13, cctrCodeInv );
pstmtDet.setString( 14, cctrCodeInv );
pstmtDet.setString( 15, noArt );
//pstmtDet.addBatch();
//pstmtDet.clearParameters();
updCnt = pstmtDet.executeUpdate();
System.out.println("UPdate in stock transfer det="+updCnt);
pstmtDet.clearParameters();
if("PR".equalsIgnoreCase(refSer))
{
System.out.println("Going for Allocation");
hashMap.put("tran_date", new java.sql.Date(System.currentTimeMillis()));
hashMap.put("ref_ser",refSer);
hashMap.put("ref_id", tranID);
hashMap.put("ref_line", String.valueOf(lineNo));
hashMap.put("item_code", itemCode);
hashMap.put("site_code", siteCode);
hashMap.put("loc_code",locCodeFrom);
hashMap.put("lot_no",lotNo);
hashMap.put("lot_sl",lotSl);
hashMap.put("alloc_qty", quantity);
hashMap.put("chg_win","W_STOCK_TRANSFER_MULTI");
hashMap.put("chg_user", userId);
hashMap.put("chg_term", chgTerm);
distStkUpd = getComponent("DistStkUpd");
if (distStkUpd.updAllocTrace(hashMap, conn) > 0)
{
System.out.println("distStkUpd.UpdAllocTrace(HashMap, Connection) : Sucessuful!");
}
}
sqlUpdate = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? AND LINE_NO = ?";
pstmtUpdate = conn.prepareStatement(sqlUpdate);
pstmtUpdate.setString(1, refId);
pstmtUpdate.setString(2, lineNoInterface);
int caseCount = pstmtUpdate.executeUpdate();
System.out.println("Updated ="+caseCount);
pstmtUpdate.close();pstmtUpdate = null;
headerFlag = false;
}
}
//pstmtDet.executeBatch();
//pstmtDet.clearBatch();
pstmt.close();pstmt = null;
StockTransferConf stkConf = new StockTransferConf();
errString = stkConf.confirm(tranID, xtraParams, "", conn, false);
System.out.println("Return String from stock transfer="+errString);//CONFSUCC
//pstmtDet.executeBatch();
//pstmtDet.clearBatch();
pstmt.close();pstmt = null;
rs.close();rs = null;
}
pstmtInterface.close();pstmtInterface = null;
rsInterface.close();rsInterface = null;
if( errString != null && errString.indexOf( "CONFSUCC" ) > -1)
{
sql = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
int caseCount = pstmt.executeUpdate();
System.out.println("Updated ="+caseCount);
if(isRecordExist)
{
StockTransferConf stkConf = new StockTransferConf();
errString = stkConf.confirm(tranID, xtraParams, "", conn, false);
if("D-SO".equalsIgnoreCase(refSer))
{
System.out.println("Going for Distribution issue");
//errString = callDistIssue(refId,xtraParams,conn);//Using club
CreateDistIssue disIssue = new CreateDistIssue();//VTCONPARM
errString = disIssue.createDistIssue(loginSiteCode, "<Root><TranID>" + refId + "</TranID></Root>", xtraParams, conn);
System.out.println("Return from dist issue"+errString);
}
else if("S-ORD".equalsIgnoreCase(refSer))
{
System.out.println("Going for Despatch");
errString = createDespatch(refId,conn);//VTCONPARM
System.out.println("Return from despatch"+errString);
}
System.out.println("Return String from stock transfer="+errString);//CONFSUCC
if( errString != null && errString.indexOf( "VTCONPARM" ) > -1)
if( errString != null && errString.indexOf( "CONFSUCC" ) > -1)
{
System.out.println("Despatch/Dist issue created successfully");
/*sql = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
int caseCount = pstmt.executeUpdate();
System.out.println("Updated ="+caseCount);*/
if("D-SO".equalsIgnoreCase(refSer))
{
System.out.println("Going for Distribution issue");
//errString = callDistIssue(refId,xtraParams,conn);//Using club
//CreateDistIssue disIssue = new CreateDistIssue();//VTCONPARM
//errString = disIssue.createDistIssue(loginSiteCode, "<Root><TranID>" + refId + "</TranID></Root>", xtraParams, conn);
errString = callDistIssue(loginSiteCode, refId,lineNoList, xtraParams, conn);
System.out.println("Return from dist issue"+errString);
if( errString != null && errString.indexOf( "VTCONPARM" ) > -1)
{
System.out.println("Despatch/Dist issue created successfully");
}
else
{
throw new Exception (errString);
}
}
else if("S-ORD".equalsIgnoreCase(refSer))
{
System.out.println("Going for Despatch");
errString = createDespatch(refId,lineNoInterface,conn);//VTCONPARM
System.out.println("Return from despatch"+errString);
if( errString != null && errString.indexOf( "VTCONPARM" ) > -1)
{
System.out.println("Despatch/Dist issue created successfully");
}
else
{
throw new Exception (errString);
}
}
}
else
{
throw new Exception (errString);
}
}
else
{
throw new Exception (errString);
}
}
}
catch(Exception e)
{
......@@ -441,13 +510,13 @@ public class ScheduleAWMSInOutTasks implements Schedule
}
private String inventoryHold(HashMap interfaceMap,String siteCode, String xtraParams,Connection conn) throws SQLException, ITMException
{
PreparedStatement pstmt= null,pstmtHold = null,pstmtHolddet = null,pstmtInterface= null;
PreparedStatement pstmt= null,pstmtHold = null,pstmtHolddet = null,pstmtInterface= null,pstmtUpdate = null;
ResultSet rs = null,rsInterface = null;
String sql = "",loginSiteCode = "",userId = "",sqlInterface = "";
int updCnt = 0,lineNo = 0,caseCount = 0;
String holdInsertSql = "",holddetInsertSql = "",invtranId = "",invLockDetsql = "",errString = "";
String holdInsertSql = "",holddetInsertSql = "",invtranId = "",invLockDetsql = "",errString = "",sqlUpdate = "";
String refSer = "",refId = "",itemCode = "",locCode = "",lotNo = "",lotSl = "";
......@@ -459,6 +528,7 @@ public class ScheduleAWMSInOutTasks implements Schedule
String lockCodeName = "AWMS_LOCK",lockCode = "",lineNoInterface = "";
boolean headerFlag = true;
try
{
System.out.println("Inside inventory hold");
......@@ -492,7 +562,7 @@ public class ScheduleAWMSInOutTasks implements Schedule
sql = "SELECT P.ITEM_CODE,P.LOT_NO,P.LOT_SL,"
+ " P.LOC_CODE,P.SITE_CODE,P.PALLET_NO FROM PALLET_DET P,STOCK S WHERE TRAN_ID = ? AND P.LINE_NO = ?"
+ " AND P.ITEM_CODE = S.ITEM_CODE AND P.SITE_CODE = S.SITE_CODE"
+ " AND P.LOC_CODE = S.LOC_CODE AND P.LOT_NO = S.LOT_NO AND P.LOT_SL = S.LOT_SL";
+ " AND P.PALLET_NO = S.LOC_CODE AND P.LOT_NO = S.LOT_NO AND P.LOT_SL = S.LOT_SL";
}
else if("PR".equalsIgnoreCase(refSer))
{
......@@ -502,9 +572,11 @@ public class ScheduleAWMSInOutTasks implements Schedule
}
pstmt = conn.prepareStatement(sql);
sqlInterface = "SELECT LINE_NO FROM INTERFACE WHERE REF_ID = ? AND MSG_STAT = 'E'";
sqlInterface = "SELECT LINE_NO FROM INTERFACE WHERE REF_ID = ? AND MSG_STAT = 'E'"
+ "AND LINE_NO IN (SELECT LINE_NO FROM INTERFACE2 WHERE REF_ID = ? AND SCHEDULE_STATUS IS NULL)";
pstmtInterface = conn.prepareStatement(sqlInterface);
pstmtInterface.setString(1, refId);
pstmtInterface.setString(2, refId);
rsInterface = pstmtInterface.executeQuery();
while(rsInterface.next())
{
......@@ -569,6 +641,14 @@ public class ScheduleAWMSInOutTasks implements Schedule
rs.close();rs = null;
pstmt.close();pstmt = null;
sqlUpdate = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? AND LINE_NO = ?";
pstmtUpdate = conn.prepareStatement(sqlUpdate);
pstmtUpdate.setString(1, refId);
pstmtUpdate.setString(2, lineNoInterface);
caseCount = pstmtUpdate.executeUpdate();
System.out.println("Updated ="+caseCount);
pstmtUpdate.close();pstmtUpdate = null;
headerFlag = false;
}
rsInterface.close();rsInterface = null;
......@@ -580,11 +660,12 @@ public class ScheduleAWMSInOutTasks implements Schedule
System.out.println("Return String from inventory holdr="+errString);
if( errString != null && errString.indexOf( "VTCNFSUCC" ) > -1)
{
sql = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? ";
System.out.println("Inventory successfully go to hold");
/*sql = "UPDATE INTERFACE2 SET SCHEDULE_STATUS = 'Y' WHERE REF_ID = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
caseCount = pstmt.executeUpdate();
System.out.println("Updated ="+caseCount);
System.out.println("Updated ="+caseCount);*/
}
else
{
......@@ -1328,7 +1409,1508 @@ public class ScheduleAWMSInOutTasks implements Schedule
System.out.println("inside isstock count:"+count+"issToBeGenerated:"+issToBeGenerated+"unConf:"+unConf);
return count > 0 && issToBeGenerated && unConf == 0;
}*/
private String createDespatch(String refId,Connection conn) throws ITMException, Exception
private String callDistIssue(String loginSiteCode, String refId, ArrayList lineNoList,String xtraParams,Connection conn) throws ITMException, Exception
{
String result = "";
PreparedStatement pstmt=null;
ResultSet rs = null;
String sql = "";
String existTranId = "";
try
{
System.out.println("Inside callDistIssue");
sql = "SELECT TRAN_ID FROM DISTORD_ISS WHERE DIST_ORDER = ? AND CONFIRMED = 'N'";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
rs = pstmt.executeQuery();
if(rs.next())
{
existTranId = checkNullAndTrim(rs.getString("TRAN_ID"));
}
rs.close();rs = null;
pstmt.close();pstmt = null;
if(existTranId != null && existTranId.length() > 0)
{
result = createDistIssue(loginSiteCode, "<Root><TranID>" + refId + "</TranID></Root>" , lineNoList, existTranId, false, xtraParams, conn);
}
else
{
//result = createDistIssue(loginSiteCode, "<Root><TranID>" + refId + "</TranID></Root>" , lineNoList, existTranId ,false, xtraParams, conn);
CreateDistIssue disIssue = new CreateDistIssue();//VTCONPARM
result = disIssue.createDistIssue(loginSiteCode, "<Root><TranID>" + refId + "</TranID></Root>", xtraParams, conn);
}
}
catch(Exception 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 ex)
{
throw new ITMException(ex);
}
}
return result;
}
public String createDistIssue(String siteCode, String xmlString, ArrayList lineNoList, String tranId, boolean headerFlag, String xtraParams, Connection conn) throws RemoteException, ITMException
{
StringBuffer xmlBuff = new StringBuffer();
String xmldetail1 = null;
StringBuffer detail2xml = new StringBuffer();
StringBuffer xmldetail2ftr = new StringBuffer();
xmldetail2ftr.append("</Detail2>");
String distOrderNo = null;
String sql = null;
String tranDate = null;
String locCode = null;
String retString = "";
PreparedStatement pstmt = null; PreparedStatement pstmt1 = null; PreparedStatement pstmt2 = null;
ResultSet rs = null; ResultSet rs1 = null; ResultSet rs2 = null; ResultSet rs3 = null;
Statement stmt1 = null;
String lsPackCode = null; String unitAlt = null; String unit = null; String mLotNo = null;
int count = 0;
int linenoCtr = 0;
String tranType = "";
double mod = 0.0D; double minputQty = 0.0D; double remQuantity = 0.0D; double stockQty = 0.0D; double integralQty = 0.0D;
double grossPer = 0.0D; double netPer = 0.0D; double tarePer = 0.0D; double grossWt = 0.0D; double netWt = 0.0D; double tareWt = 0.0D; double rateClgVal = 0.0D; double rate2 = 0.0D;
double disAmount = 0.0D; double amount = 0.0D; double shipperQty = 0.0D; double discount = 0.0D;
int minShelfLife = 0; int noArt1 = 0; int cnt = 0;
int mLineNoDist = 0;
double qtyConfirm = 0.0D; double qtyShipped = 0.0D; double lcQtyOrderAlt = 0.0D; double lcFact = 0.0D;
String suppSour = ""; String trackShelfLife = ""; String siteCodeMfg = ""; String sundryCode = ""; String potencyPerc = "";
String priceList = ""; String tabValue = ""; String priceListClg = ""; String chkDate = ""; String disCountPer = "";
String tranTypePparent = null; String rate = ""; String lsTranTypeParent = "";
double qtyOrdAlt = 0d; String convQtyAlt = "";
String res = ""; String locCodeDamaged = ""; String itemCode = ""; String availableYn = "";
String checkIntegralQty = ""; String rate1 = ""; String tranTypeParent = ""; double quantity = 0d;
String active = ""; String itemDescr = ""; String errCode = ""; String sql2 = ""; int noArt = 0;
String detail2stock = ""; String errString = ""; String taxChap = ""; String siteCodeShip = "";
String lotNo = ""; String lotSl = ""; String packCode = ""; String rateClg = ""; String taxEnv = ""; String taxClass = "";
java.util.Date expDate = null; java.util.Date mfgDate = null; java.util.Date chkDate1 = null;
boolean isDetFound = false;
String prvDeptCode = null; String deptCode = ""; String ratefromStock = "";
StringBuffer xmldetail2stock = null;
int MAXLINESALLOWED = 0;
int countDtl = 0;
String locGroupJwiss = "";
String subSQL = "";
String rateFmDistOrd = "";
String lineNoInterface = "",sqlDistIssDet = "";
PreparedStatement distIssDetPstmt = null;
Timestamp today = new Timestamp(System.currentTimeMillis());
int lineNoIssDet = 0;
int distCount = 0;
try
{
SimpleDateFormat sdf = new SimpleDateFormat(this.genericUtility.getApplDateFormat());
if (conn == null)
{
System.out.println("Inside creating connection");
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
}
ITMDBAccessEJB itmDBAccessEJB = new ITMDBAccessEJB();
DistCommon disCommon = new DistCommon();
ByteArrayInputStream bais = new ByteArrayInputStream(xmlString.getBytes());
Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(bais);
NodeList parent = dom.getElementsByTagName("TranID");
distOrderNo = parent.item(0).getFirstChild().getNodeValue();
tranDate = getCurrdateAppFormat();
/*this.isAutoConfirm = disCommon.getDisparams("999999", "AUTO_DIST_ISS_CONFIRM", conn);
if ((this.isAutoConfirm != null) && (this.isAutoConfirm.trim().length() > 0))
{
this.isAutoConfirm = this.isAutoConfirm.substring(0, 1);
}
else
{
this.isAutoConfirm = "N";
}*/
this.isAutoConfirm = "N";
String maxLinesStr = disCommon.getDisparams("999999", "MAX_LINES_DIST_ISS", conn);
if ((maxLinesStr == null) || (maxLinesStr.trim().length() == 0) || (maxLinesStr.equals("NULLFOUND")))
{
maxLinesStr = "600";
}
MAXLINESALLOWED = Integer.parseInt(maxLinesStr.trim());
maxLinesStr = null;
prvDeptCode = "NULL";
sql = "SELECT D.DIST_ORDER,D.LINE_NO AS LINE_NO,D.TRAN_ID__DEMAND,D.ITEM_CODE AS ITEM_CODE,D.QTY_ORDER"
+ " AS QTY_ORDER,D.QTY_CONFIRM AS QTY_CONFIRM, D.QTY_RECEIVED AS QTY_RECEIVED,D.QTY_SHIPPED AS"
+ " QTY_SHIPPED,D.DUE_DATE AS DUE_DATE,D.TAX_CLASS AS TAX_CLASS,D.TAX_CHAP AS TAX_CHAP,"
+ " D.TAX_ENV AS TAX_ENV,D.UNIT AS UNIT,ITEM.DESCR AS ITEM_DESCR, D.SALE_ORDER AS SALE_ORDER,"
+ " D.LINE_NO__SORD AS LINE_NO__SORD,D.RATE AS RATE,D.QTY_RETURN AS QTY_RETURN,D.RATE__CLG AS"
+ " RATE__CLG,D.DISCOUNT AS DISCOUNT,D.REMARKS AS REMARKS,D.TOT_AMT AS TOT_AMT,D.TAX_AMT AS "
+ " TAX_AMT, D.NET_AMT AS NET_AMT,D.OVER_SHIP_PERC AS OVER_SHIP_PERC,SPACE(300) AS QTY_DETAILS,"
+ " D.UNIT__ALT AS UNIT__ALT,D.CONV__QTY__ALT AS CONV__QTY__ALT, D.QTY_ORDER__ALT AS QTY_ORDER__ALT,"
+ " D.SHIP_DATE AS SHIP_DATE,D.PACK_INSTR AS PACK_INSTR , ( CASE WHEN ITEM.DEPT_CODE__ISS IS NULL then ' ' "
+ " else ITEM.DEPT_CODE__ISS END ) AS DEPT_CODE, H.AVALIABLE_YN, H.TRAN_TYPE AS TRAN_TYPE, CASE WHEN "
+ " H.LOC_GROUP__JWISS IS NULL THEN ' ' ELSE H.LOC_GROUP__JWISS END AS LOC_GROUP FROM DISTORDER_DET "
+ " D,ITEM ITEM, DISTORDER H WHERE D.DIST_ORDER = H.DIST_ORDER AND D.ITEM_CODE = ITEM.ITEM_CODE "
+ " AND H.DIST_ORDER = ? "
+ " AND D.LINE_NO = ? "//Added by wasim
+ " AND CASE WHEN D.STATUS IS NULL THEN 'O' ELSE D.STATUS END<>'C' "
+ " ORDER BY item.dept_code__iss ASC,"
+ " D.LINE_NO ASC ";
Iterator itr = lineNoList.iterator();
while(itr.hasNext())
{
lineNoInterface = (String) itr.next();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, distOrderNo);
pstmt.setString(2, lineNoInterface);
rs = pstmt.executeQuery();
count = 0;
detail2xml = new StringBuffer();
countDtl = 0;
locGroupJwiss = "";
while (rs.next())
{
rateClg = Double.toString(rs.getDouble("RATE__CLG"));
rateFmDistOrd = Double.toString(rs.getDouble("RATE"));
System.out.println(" rateClg received from dist order iss det" + rateClg);
System.out.println(" rate received from dist order iss det" + rateFmDistOrd);
tranType = rs.getString("TRAN_TYPE");
locGroupJwiss = rs.getString("LOC_GROUP");
System.out.println("(locGroupJwiss.trim()).length()----" + locGroupJwiss.trim().length());
if (locGroupJwiss.trim().length() > 0)
{
subSQL = " AND C.LOC_GROUP ='" + locGroupJwiss + "' ";
}
else
{
subSQL = "";
}
availableYn = rs.getString("AVALIABLE_YN");
if (availableYn == null)
{
availableYn = "Y";
}
deptCode = rs.getString("DEPT_CODE");
if (prvDeptCode.equals("NULL"))
{
prvDeptCode = deptCode;
}
System.out.println("prvDeptCode----deptCode--" + prvDeptCode + "----" + deptCode);
System.out.println("match dept....................... ");
StringBuffer xmldetail2hdr = new StringBuffer();
xmldetail2hdr.append("<Detail2 dbID=\"\" domID=\"1\" objName=\"dist_order_post\" objContext=\"2\">");
xmldetail2hdr.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmldetail2hdr.append("<tran_id/>");
xmldetail2hdr.append("<dist_order><![CDATA[" + distOrderNo + "]]></dist_order>");
xmldetail2hdr.append("<line_no_dist_order><![CDATA[" + rs.getInt("LINE_NO") + "]]></line_no_dist_order>");
mLineNoDist = rs.getInt("LINE_NO");
unit = rs.getString("UNIT");
unitAlt = rs.getString("UNIT__ALT");
itemCode = rs.getString("ITEM_CODE");
qtyConfirm = rs.getDouble("QTY_CONFIRM");
qtyShipped = rs.getDouble("QTY_SHIPPED");
discount = rs.getDouble("DISCOUNT");
remQuantity = qtyConfirm - qtyShipped;
//xmldetail2hdr.append(getDetails(siteCode, mLineNoDist, distOrderNo, tranType, conn));
HashMap getData = new HashMap();
getData = getDetails(siteCode, mLineNoDist, distOrderNo, tranType, conn);
taxClass = (String) getData.get("tax_class");
taxChap = (String) getData.get("tax_chap");
taxEnv = (String) getData.get("tax_env");
if ((tranType != null) && (tranType.trim().length() > 0))
{
sql = "SELECT CHECK_INTEGRAL_QTY, TRAN_TYPE__PARENT FROM DISTORDER_TYPE WHERE TRAN_TYPE = '" + tranType + "' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
checkIntegralQty = rs1.getString(1);
tranTypeParent = rs1.getString(2);
if ((checkIntegralQty == null) || (checkIntegralQty.trim().length() == 0))
{
checkIntegralQty = "Y";
}
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
}
if (!tranType.equals(tranTypeParent))
{
quantity = qtyShipped;
qtyOrdAlt = qtyShipped;
}
else
{
quantity = qtyConfirm;
qtyOrdAlt = qtyConfirm;
}
sql = " SELECT (CASE WHEN ACTIVE IS NULL THEN 'Y' ELSE ACTIVE END) ACT, MIN_SHELF_LIFE, (CASE WHEN TRACK_SHELF_LIFE IS NULL THEN 'N' ELSE TRACK_SHELF_LIFE END) TRK_SHELF_LIFE, (CASE WHEN SUPP_SOUR IS NULL THEN 'M' ELSE SUPP_SOUR END) SUP_SOUR, DESCR FROM ITEM WHERE ITEM_CODE = '" +
itemCode + "' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
active = rs1.getString(1);
minShelfLife = rs1.getInt(2);
trackShelfLife = rs1.getString(3);
suppSour = rs1.getString(4);
itemDescr = rs1.getString(5);
if (active.equals("N"))
{
errCode = "VTITEM4";
errString = itmDBAccessEJB.getErrorString("", errCode, "", "", conn);
return errString;
}
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql = " SELECT LOC_CODE__DAMAGED, SUNDRY_CODE, PRICE_LIST, PRICE_LIST__CLG, SITE_CODE__SHIP FROM DISTORDER WHERE DIST_ORDER = '" +
distOrderNo + "' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
siteCodeShip = rs1.getString("SITE_CODE__SHIP");
locCodeDamaged = rs1.getString("LOC_CODE__DAMAGED");
sundryCode = rs1.getString(2);
priceList = rs1.getString(3);
priceListClg = rs1.getString(4);
if (locCodeDamaged == null)
{
locCodeDamaged = "";
}
if ((locCodeDamaged != null) && (locCodeDamaged.trim().length() > 0))
{
StringTokenizer st = new StringTokenizer(locCodeDamaged, ",");
res = "";
while (st.hasMoreTokens())
{
res = res + "'" + st.nextToken() + "',";
}
res = res.substring(0, res.length() - 1);
locCodeDamaged = res;
}
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
boolean isRecordFound = false;
sql = "SELECT A.LOT_NO, A.LOT_SL, A.QUANTITY, A.EXP_DATE, A.UNIT, A.ITEM_SER, A.SITE_CODE__MFG, A.MFG_DATE, A.POTENCY_PERC, A.ALLOC_QTY, A.PACK_CODE, A.LOC_CODE, A.BATCH_NO, A.GRADE , A.GROSS_WEIGHT, A.TARE_WEIGHT, A.NET_WEIGHT, A.DIMENSION, A.RETEST_DATE, A.SUPP_CODE__MFG, A.PACK_INSTR,A.RATE,C.DESCR FROM STOCK A, INVSTAT B, LOCATION C WHERE C.INV_STAT = B.INV_STAT AND A.LOC_CODE = C.LOC_CODE AND A.ITEM_CODE = '" +
itemCode + "' " +
"AND A.SITE_CODE = '" + siteCodeShip + "' " +
"AND B.AVAILABLE = '" + availableYn + "' " +
"AND B.USABLE = '" + availableYn + "' " +
"AND B.STAT_TYPE <> 'S' " +
subSQL +
" AND A.QUANTITY - A.ALLOC_QTY > 0 ";
if ((availableYn != null) && (availableYn.equals("Y")))
{
sql = sql + " AND NOT EXISTS (SELECT 1 FROM INV_RESTR I " +
"WHERE I.INV_STAT = B.INV_STAT AND I.REF_SER = 'D-ISS') ";
}
if ((locCodeDamaged != null) && (locCodeDamaged.trim().length() > 0))
{
sql = sql + "AND A.LOC_CODE IN (" + locCodeDamaged + ")";
}
sql = sql + " ORDER BY CASE WHEN A.EXP_DATE IS NULL THEN A.CREA_DATE ELSE A.EXP_DATE END,A.CREA_DATE,A.LOT_NO, A.LOT_SL ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
System.out.println("Resetting detail2xml----" + detail2xml);
System.out.println("ItemCode----" + itemCode);
while ((rs1.next()) && (linenoCtr < MAXLINESALLOWED))
{
isRecordFound = true;
lotNo = rs1.getString(1);
lotSl = rs1.getString(2);
packCode = rs1.getString(11);
ratefromStock = rs1.getString(22);
if (remQuantity == 0.0D)
{
break;
}
siteCodeMfg = rs1.getString(7);
if ((siteCodeMfg != null) && (siteCodeMfg.trim().length() > 0))
{
sql2 = "SELECT COUNT(*) FROM SITE WHERE SITE_CODE = ?";
pstmt2 = conn.prepareStatement(sql2);
pstmt2.setString(1, siteCodeMfg);
rs2 = pstmt2.executeQuery();
if (rs2.next())
{
count = rs2.getInt(1);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if (count == 0)
{
continue;
}
}
stockQty = rs1.getDouble(3) - rs1.getDouble(10);
if (availableYn.equals("Y"))
{
if (minShelfLife > 0)
{
chkDate = calcExpiry(tranDate, minShelfLife);
chkDate1 = sdf.parse(chkDate);
java.sql.Date date1 = rs1.getDate(4);
java.util.Date date2 = null;
if (date1 != null)
{
date2 = new java.util.Date(date1.getTime());
if (chkDate1.compareTo(date2) > 0)
{
continue;
}
}
}
}
if (!checkIntegralQty.equals("N"))
{
integralQty = getIntegralQty(siteCode, itemCode, lotNo, packCode, checkIntegralQty);
if (integralQty <= 0.0D)
{
errCode = "VINTGRLQTY";
errString = itmDBAccessEJB.getErrorString("", errCode, "", "", conn);
return errString;
}
}
if (stockQty >= remQuantity)
{
if (checkIntegralQty.equals("Y"))
{
remQuantity -= remQuantity % integralQty;
}
minputQty = remQuantity;
remQuantity = 0.0D;
}
else if (stockQty < remQuantity)
{
if (checkIntegralQty.equals("Y"))
{
stockQty -= stockQty % integralQty;
}
minputQty = stockQty;
remQuantity -= stockQty;
}
if (minputQty == 0.0D)
{
continue;
}
rate1 = rate;
if (rate1.equals(""))
{
rate1 = "0";
}
System.out.println("rate1----" + rate1 + "---priceList----" + priceList);
if (Double.parseDouble(rate1) == 0.0D)
{
if ((priceList != null) && (priceList.trim().length() > 0))
{
sql2 = "SELECT COUNT(*) FROM PRICELIST WHERE PRICE_LIST = '" +
priceList + "' AND LIST_TYPE = 'I' ";
pstmt2 = conn.prepareStatement(sql2);
rs2 = pstmt2.executeQuery();
if (rs2.next())
{
count = rs2.getInt(1);
}
rs2.close();
rs2 = null;
pstmt2.close();
pstmt2 = null;
if (count == 0)
{
rate2 = disCommon.pickRate(priceList, tranDate, itemCode, rs1.getString(1), "D", conn);
}
else
{
tabValue = siteCode + "~t" + rs1.getString(12) + "~t" + rs1.getString(1) + "~t";
System.out.println("printing tabValue----" + tabValue);
rate2 = disCommon.pickRate(priceList, tranDate, itemCode, tabValue, "I", conn);
}
}
rate1 = Double.toString(rate2);
}
if (Double.parseDouble(rs1.getString(3)) > 0.0D)
{
grossPer = rs1.getDouble(15) / rs1.getDouble(3);
netPer = rs1.getDouble(17) / rs1.getDouble(3);
tarePer = rs1.getDouble(16) / rs1.getDouble(3);
grossWt = minputQty * grossPer;
netWt = minputQty * netPer;
tareWt = minputQty * tarePer;
}
disAmount = amount * (discount / 100.0D);
noArt1 = 0;
noArt1 = getNoArt(siteCode, sundryCode, itemCode, packCode, minputQty, 'B', shipperQty, integralQty);
noArt = noArt1;
System.out.println("%^%^%^%^%^%NoArt is&***&*&*&*&[" + noArt + "]");
double shipperSize = 0.0D; double shipQty = 0.0D; double noArt11 = 0.0D; double remainder = 0.0D;
double integralqty = 0.0D;
double noArt12 = 0.0D; double acShipperQty = 0.0D; double acIntegralQty = 0.0D;
stmt1 = conn.createStatement();
sql = "select (case when shipper_size is null then 0 else shipper_size end) shipper_size from item_lot_packsize where item_code = '" +
itemCode + "'" +
" and '" + lotNo + "' >= lot_no__from " +
" and '" + lotNo + "' <= lot_no__to ";
System.out.println("sql :" + sql);
rs3 = stmt1.executeQuery(sql);
if (rs3.next())
{
shipperSize = rs3.getDouble(1);
}
System.out.println("shipperSize .............:" + shipperSize);
System.out.println("minputQty .............:" + minputQty);
if (shipperSize > 0.0D)
{
shipQty = shipperSize;
noArt11 = (minputQty - minputQty % shipQty) / shipQty;
System.out.println("noArt11 .............:" + noArt11);
remainder = minputQty % shipQty;
System.out.println("remainder .............:" + remainder);
sql = "select ( case when integral_qty is null then 0 else integral_qty end) integral_qty from customeritem where cust_code = '" +
sundryCode + "' and item_code ='" + itemCode + "'";
System.out.println("sql :" + sql);
rs3 = stmt1.executeQuery(sql);
if (rs3.next())
{
integralqty = rs3.getDouble(1);
}
System.out.println("integralqty .............:" + integralqty);
if (integralqty == 0.0D)
{
sql = "select ( case when integral_qty is null then 0 else integral_qty end) integral_qty from siteitem where site_code = '" +
siteCode + "' and item_code ='" + itemCode + "'";
System.out.println("sql :" + sql);
rs3 = stmt1.executeQuery(sql);
if (rs3.next())
{
integralqty = rs3.getDouble(1);
}
if (integralqty == 0.0D)
{
sql = "select ( case when integral_qty is null then 0 else integral_qty end) integral_qty from item where item_code ='" +
itemCode + "'";
System.out.println("sql :" + sql);
rs3 = stmt1.executeQuery(sql);
if (rs3.next())
{
integralqty = rs3.getDouble(1);
}
}
}
System.out.println("integralqty .............:" + integralqty);
if (integralqty > 0.0D)
{
noArt12 = (remainder - remainder % integralqty) / integralqty;
}
if (noArt12 > 0.0D)
{
noArt12 = 1.0D;
}
noArt1 = (int)(noArt11 + noArt12);
noArt = noArt1;
System.out.println("noArt .............:" + noArt);
acShipperQty = shipQty;
acIntegralQty = integralqty;
}
if (shipperSize == 0.0D)
{
noArt1 = getNoArt(siteCode, sundryCode, itemCode, packCode, minputQty, 'B', acShipperQty, acIntegralQty);
noArt = noArt1;
}
lcFact = 0.0D;
ArrayList QtyFactorList = new ArrayList();
QtyFactorList = disCommon.convQtyFactor(unitAlt, unit, itemCode, minputQty, lcFact, conn);
lcQtyOrderAlt = ((Double)QtyFactorList.get(1)).doubleValue();
lcFact = ((Double)QtyFactorList.get(0)).doubleValue();
QtyFactorList = null;
xmldetail2stock = new StringBuffer();
isDetFound = true;
linenoCtr++;
countDtl++;
/*xmldetail2stock.append("<line_no><![CDATA[" + linenoCtr + "]]></line_no>");
xmldetail2stock.append("<item_descr>").append("<![CDATA[").append(itemDescr == null ? "" : itemDescr).append("]]>").append("</item_descr>\r\n");
xmldetail2stock.append("<location_descr>").append("<![CDATA[").append(rs1.getString(23)).append("]]>").append("</location_descr>\r\n");
xmldetail2stock.append("<unit>").append("<![CDATA[").append(rs1.getString(5)).append("]]>").append("</unit>\r\n");
xmldetail2stock.append("<unit__alt>").append("<![CDATA[").append(unitAlt).append("]]>").append("</unit__alt>\r\n");
xmldetail2stock.append("<conv__qty__alt>").append("<![CDATA[").append(lcFact).append("]]>").append("</conv__qty__alt>\r\n");
xmldetail2stock.append("<qty_order__alt>").append("<![CDATA[").append(lcQtyOrderAlt).append("]]>").append("</qty_order__alt>\r\n");*/
String tLocCode = null;
tLocCode = rs1.getString(12);
//xmldetail2stock.append("<loc_code>").append("<![CDATA[").append(tLocCode == null ? "" : tLocCode.trim()).append("]]>").append("</loc_code>\r\n");
/*xmldetail2stock.append("<rate>").append("<![CDATA[").append(rateFmDistOrd).append("]]>").append("</rate>\r\n");
xmldetail2stock.append("<rate__clg>").append("<![CDATA[").append(rateClg).append("]]>").append("</rate__clg>\r\n");
xmldetail2stock.append("<quantity>").append("<![CDATA[").append(minputQty).append("]]>").append("</quantity>\r\n");
xmldetail2stock.append("<amount>").append("<![CDATA[").append(minputQty * Double.parseDouble(rate1)).append("]]>").append("</amount>\r\n");*/
String tLotSl = null;
tLotSl = rs1.getString(2);
/* xmldetail2stock.append("<lot_sl>").append("<![CDATA[").append(tLotSl == null ? " " : tLotSl).append("]]>").append("</lot_sl>\r\n");
xmldetail2stock.append("<pack_code>").append("<![CDATA[").append(rs1.getString(11) == null ? "" : rs1.getString(11)).append("]]>").append("</pack_code>\r\n");
xmldetail2stock.append("<disc_amt>").append("<![CDATA[").append(disAmount).append("]]>").append("</disc_amt>\r\n");*/
grossWt = Double.parseDouble(getFormatedValue(grossWt, 3));
//xmldetail2stock.append("<gross_weight>").append("<![CDATA[").append(grossWt).append("]]>").append("</gross_weight>\r\n");
netWt = Double.parseDouble(getFormatedValue(netWt, 3));
//xmldetail2stock.append("<net_weight>").append("<![CDATA[").append(netWt).append("]]>").append("</net_weight>\r\n");
tareWt = Double.parseDouble(getFormatedValue(netWt, 3));
/*xmldetail2stock.append("<tare_weight>").append("<![CDATA[").append(tareWt).append("]]>").append("</tare_weight>\r\n");
xmldetail2stock.append("<pack_instr>").append("<![CDATA[").append(rs1.getString(21) == null ? "" : rs1.getString(21)).append("]]>").append("</pack_instr>\r\n");
xmldetail2stock.append("<retest_date>").append("<![CDATA[").append(rs1.getDate(19) == null ? "" : sdf.format(rs1.getDate(19))).append("]]>").append("</retest_date>\r\n");
xmldetail2stock.append("<dimension>").append("<![CDATA[").append(rs1.getString(18) == null ? "" : rs1.getString(18)).append("]]>").append("</dimension>\r\n");
xmldetail2stock.append("<supp_code__mfg>").append("<![CDATA[").append(rs1.getString(20) == null ? "" : rs1.getString(20)).append("]]>").append("</supp_code__mfg>\r\n");
xmldetail2stock.append("<site_code__mfg>").append("<![CDATA[").append(rs1.getString(7) == null ? "" : rs1.getString(7)).append("]]>").append("</site_code__mfg>\r\n");
xmldetail2stock.append("<mfg_date>").append("<![CDATA[").append(rs1.getDate(8) == null ? "" : sdf.format(rs1.getDate(8))).append("]]>").append("</mfg_date>\r\n");
xmldetail2stock.append("<exp_date>").append("<![CDATA[").append(rs1.getDate(4) == null ? "" : sdf.format(rs1.getDate(4))).append("]]>").append("</exp_date>\r\n");
xmldetail2stock.append("<potency_perc>").append("<![CDATA[").append(rs1.getString(9) == null ? "" : rs1.getString(9)).append("]]>").append("</potency_perc>\r\n");
xmldetail2stock.append("<no_art>").append("<![CDATA[").append(noArt).append("]]>").append("</no_art>\r\n");
xmldetail2stock.append("<batch_no>").append("<![CDATA[").append(rs1.getString(13) == null ? "" : rs1.getString(13)).append("]]>").append("</batch_no>\r\n");
xmldetail2stock.append("<grade>").append("<![CDATA[").append(rs1.getString(14) == null ? "" : rs1.getString(14)).append("]]>").append("</grade>\r\n");
xmldetail2stock.append("<lot_no>").append("<![CDATA[").append(rs1.getString(1) == null ? " " : rs1.getString(1)).append("]]>").append("</lot_no>\r\n");
detail2stock = xmldetail2stock.toString();
xmldetail2stock = null;
detail2xml.append(xmldetail2hdr.toString());
detail2xml.append(detail2stock);
detail2xml.append(xmldetail2ftr.toString());
System.out.println("xmlString detail2......" + detail2xml.toString());*/
/////
lotSl = rs1.getString(2);
unit = rs1.getString(5);
locCode = rs1.getString(12);
////////
sqlDistIssDet = "INSERT INTO DISTORD_ISSDET (TRAN_ID,LINE_NO,DIST_ORDER,LINE_NO_DIST_ORDER,ITEM_CODE,QUANTITY,UNIT,TAX_CLASS,"
+" TAX_CHAP,TAX_ENV,LOC_CODE,LOT_NO,LOT_SL,PACK_CODE,RATE,AMOUNT,TAX_AMT,NET_AMT,SITE_CODE__MFG,MFG_DATE,"
+" EXP_DATE,POTENCY_PERC,NO_ART,GROSS_WEIGHT,TARE_WEIGHT,NET_WEIGHT,PACK_INSTR,DIMENSION,SUPP_CODE__MFG,BATCH_NO,GRADE,"
+" RETEST_DATE,RATE_CLG,RATE__CLG,DISCOUNT,DISC_AMT,REMARKS,COST_RATE,UNIT__ALT,CONV__QTY__ALT,QTY_ORDER__ALT,PALLET_WT,"
+" RATE__ALT,CONV__RATE_ALT,RETURN_QTY,RETURN_DATE,RETURNED,BATCH_SIZE,CARTON_NO,PALLET_NO,SHELF_LIFE_TYPE,LOCK_CODE)"//52
+ "VALUES (?,?,?,?,?,?,?,?,?,?,"
+ "?,?,?,?,?,?,?,?,?,?,"
+ "?,?,?,?,?,?,?,?,?,?,"
+ "?,?,?,?,?,?,?,?,?,?,"
+ "?,?,?,?,?,?,?,?,?,?,"
+ "?,?";
distIssDetPstmt = conn.prepareStatement(sqlDistIssDet);
lineNoIssDet++;
distIssDetPstmt.setString(1, tranId);
distIssDetPstmt.setInt(2, lineNoIssDet);
distIssDetPstmt.setString(3, distOrderNo);
distIssDetPstmt.setString(4, lineNoInterface);
distIssDetPstmt.setString(5, itemCode);
distIssDetPstmt.setDouble(6, minputQty);
distIssDetPstmt.setString(7, unit);
distIssDetPstmt.setString(8, taxClass);
distIssDetPstmt.setString(9, taxChap);
distIssDetPstmt.setString(10, taxEnv);
distIssDetPstmt.setString(11, locCode);
distIssDetPstmt.setString(12, lotNo);
distIssDetPstmt.setString(13, lotSl);
distIssDetPstmt.setString(14, packCode);
distIssDetPstmt.setString(15, rateFmDistOrd);
distIssDetPstmt.setDouble(16, minputQty * Double.parseDouble(rate1));
distIssDetPstmt.setDouble(17, 0);
distIssDetPstmt.setDouble(18, 0);
distIssDetPstmt.setString(19, rs1.getString(7) == null ? "" : rs1.getString(7));
distIssDetPstmt.setString(20, rs1.getDate(8) == null ? "" : sdf.format(rs1.getDate(8)));
distIssDetPstmt.setString(21, rs1.getDate(4) == null ? "" : sdf.format(rs1.getDate(4)));
distIssDetPstmt.setString(22, rs1.getString(9) == null ? "" : rs1.getString(9));
distIssDetPstmt.setDouble(23, noArt);
distIssDetPstmt.setDouble(24, grossWt);
distIssDetPstmt.setDouble(25, tareWt);
distIssDetPstmt.setDouble(26, netWt);
distIssDetPstmt.setString(27, rs1.getString(21) == null ? "" : rs1.getString(21));
distIssDetPstmt.setString(28, rs1.getString(18) == null ? "" : rs1.getString(18));
distIssDetPstmt.setString(29, rs1.getString(20) == null ? "" : rs1.getString(20));
distIssDetPstmt.setString(30, rs1.getString(13) == null ? "" : rs1.getString(13));
distIssDetPstmt.setString(31, rs1.getString(14) == null ? "" : rs1.getString(14));
distIssDetPstmt.setString(32, rs1.getDate(19) == null ? "" : sdf.format(rs1.getDate(19)));
distIssDetPstmt.setString(33, "");
distIssDetPstmt.setString(34, rateClg);
distIssDetPstmt.setDouble(35, discount);
distIssDetPstmt.setDouble(36, disAmount);
distIssDetPstmt.setString(37, "");
distIssDetPstmt.setDouble(38, 0);
distIssDetPstmt.setString(39, unitAlt);
distIssDetPstmt.setDouble(40, lcFact);
distIssDetPstmt.setDouble(41, lcQtyOrderAlt);
distIssDetPstmt.setString(42, "");
distIssDetPstmt.setDouble(43, 0);
distIssDetPstmt.setDouble(44, 0);
distIssDetPstmt.setDouble(45, 0);
distIssDetPstmt.setString(46, "");
distIssDetPstmt.setString(47, "");
distIssDetPstmt.setString(48, "");
distIssDetPstmt.setString(49, "");
distIssDetPstmt.setString(50, "");
distIssDetPstmt.setString(51, "");
distIssDetPstmt.setString(52, "");
distCount = distIssDetPstmt.executeUpdate();
distIssDetPstmt.close(); distIssDetPstmt = null;
System.out.println("Update Count Dist Issue det= "+distCount);
///////
noArt1 = 0;
grossWt = 0.0D;
tareWt = 0.0D;
netWt = 0.0D;
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
sql = null;
}
/* xmlBuff = null;
xmlBuff = new StringBuffer();
xmldetail1 = createHeader(siteCode, distOrderNo, tranId, headerFlag, xtraParams, conn);
xmlBuff.append(xmldetail1.toString());
xmlBuff.append(detail2xml.toString());
xmlBuff.append("</Header0>");
xmlBuff.append("</group0>");
xmlBuff.append("</DocumentRoot>");
xmlString = xmlBuff.toString();
System.out.println("xmlString------" + xmlString);
System.out.println("Number of Records in Detail---" + countDtl);
System.out.println("xmlString.contains(Detail2)----" + xmlString.contains("Detail2"));
if (xmlString.contains("Detail2"))
{
retString = this.distOrder.saveData(siteCode, xmlString, conn);
System.out.println("After save data distribution issue"+retString);
if (retString.indexOf("Success") > -1)
{
retString = "VTCONPARM";
}
}*/
}//End ArrayList line number
}
catch (Exception e)
{
e.printStackTrace();
isError = true;
throw new ITMException(e);
}
finally
{
try
{
if(isError)
{
retString = "VTTNSVD";
}
else
{
retString = "VTCONPARM";
}
}
catch(Exception ex)
{
throw new ITMException(ex);
}
}
return retString;
}
private double getIntegralQty(String siteCode, String itemCode, String lotNo, String packCode, String checkIntegralQty)
{
double integralQty = 0.0D;
String sql = "";
ResultSet rs = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
Statement stmt = null;
try
{
conn = connDriver.getConnectDB("DriverITM");
stmt = conn.createStatement();
char type = checkIntegralQty.charAt(0);
switch (type)
{
case 'S':
sql = "SELECT CASE WHEN SHIPPER_SIZE IS NULL THEN 0 ELSE SHIPPER_SIZE END FROM ITEM_LOT_PACKSIZE WHERE ITEM_CODE = '" +
itemCode + "' " +
"AND LOT_NO__FROM <= '" + lotNo + "' " +
"AND LOT_NO__TO >= '" + lotNo + "' ";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty != 0.0D)
break;
sql = "SELECT CASE WHEN CAPACITY IS NULL THEN 0 ELSE CAPACITY END FROM PACKING WHERE PACK_CODE = '" +
packCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty != 0.0D)
break;
sql = "SELECT REO_QTY FROM SITEITEM WHERE SITE_CODE = '" +
siteCode + "'" + " AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty != 0.0D)
break;
sql = "SELECT REO_QTY FROM ITEM WHERE ITEM_CODE = '" +
itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (!rs.next())
break;
integralQty = rs.getDouble(1);
break;
case 'P':
sql = "SELECT CASE WHEN CAPACITY IS NULL THEN 0 ELSE CAPACITY END FROM PACKING WHERE PACK_CODE = '" +
packCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (!rs.next())
break;
integralQty = rs.getDouble(1);
break;
case 'I':
sql = "SELECT INTEGRAL_QTY FROM SITEITEM WHERE SITE_CODE = '" +
siteCode + "'" + " AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty != 0.0D)
break;
sql = "SELECT INTEGRAL_QTY FROM ITEM WHERE ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (!rs.next())
break;
integralQty = rs.getDouble(1);
}
conn.close();
}
catch (Exception e)
{
System.out.println("the exception occurs in getIntegralQty :" + e);
}
System.out.println("integralQty :" + integralQty);
return integralQty;
}
public String getFormatedValue(double actVal, int prec) throws RemoteException
{
NumberFormat numberFormat = NumberFormat.getIntegerInstance();
Double DoubleValue = new Double(actVal);
numberFormat.setMaximumFractionDigits(prec);
String strValue = numberFormat.format(DoubleValue);
strValue = strValue.replaceAll(",", "");
return strValue;
}
private String getCurrdateAppFormat()
{
String s = "";
GenericUtility genericUtility = GenericUtility.getInstance();
try
{
java.util.Date date = null;
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
SimpleDateFormat simpledateformat = new SimpleDateFormat(genericUtility.getDBDateFormat());
date = simpledateformat.parse(timestamp.toString());
timestamp = Timestamp.valueOf(simpledateformat.format(date).toString() + " 00:00:00.0");
s = new SimpleDateFormat(genericUtility.getApplDateFormat()).format(timestamp).toString();
}
catch (Exception localException)
{
}
return s;
}
public String createHeader(String siteCode, String distOrderNo, String tranId, boolean headerFlag, String xtraParams, Connection conn)
throws RemoteException, ITMException
{
StringBuffer xmlBuffHeader = new StringBuffer();
String sql = null;
String tranDate = null;
String locCode = null;
String retString = "";
PreparedStatement pstmt = null; PreparedStatement pstmt1 = null; PreparedStatement pstmt2 = null;
ResultSet rs = null; ResultSet rs1 = null; ResultSet rs2 = null;
String lsPackCode = null; String unitAlt = null; String unit = null; String mLotNo = null;
int count = 0;
int linenoCtr = 0;
String tranType = "";
double mod = 0.0D; double minputQty = 0.0D; double remQuantity = 0.0D; double stockQty = 0.0D; double integralQty = 0.0D;
double grossPer = 0.0D; double netPer = 0.0D; double tarePer = 0.0D; double grossWt = 0.0D; double netWt = 0.0D; double tareWt = 0.0D; double rateClgVal = 0.0D; double rate2 = 0.0D;
double disAmount = 0.0D; double amount = 0.0D; double shipperQty = 0.0D; double discount = 0.0D;
int minShelfLife = 0; int noArt1 = 0; int cnt = 0;
int mLineNoDist = 0;
double qtyConfirm = 0.0D; double qtyShipped = 0.0D; double lcQtyOrderAlt = 0.0D; double lcFact = 0.0D;
String suppSour = ""; String trackShelfLife = ""; String siteCodeMfg = ""; String sundryCode = ""; String potencyPerc = "";
String priceList = ""; String tabValue = ""; String priceListClg = ""; String chkDate = ""; String disCountPer = "";
String tranTypePparent = null; String rate = ""; String lsTranTypeParent = "";
String qtyOrdAlt = ""; String convQtyAlt = "";
String res = ""; String locCodeDamaged = ""; String itemCode = ""; String availableYn = "";
String checkIntegralQty = ""; String rate1 = ""; String tranTypeParent = ""; String quantity = "";
String active = ""; String itemDescr = ""; String errCode = ""; String sql2 = ""; String noArt = "";
String detail2stock = ""; String errString = ""; String taxChap = ""; String siteCodeShip = "";
String lotNo = ""; String lotSl = ""; String packCode = ""; String rateClg = ""; String taxEnv = ""; String taxClass = "";
java.util.Date expDate = null; java.util.Date mfgDate = null; java.util.Date chkDate1 = null;
boolean isDetFound = false;
try
{
SimpleDateFormat sdf = new SimpleDateFormat(this.genericUtility.getApplDateFormat());
if (conn == null)
{
ConnDriver connDriver = new ConnDriver();
conn = connDriver.getConnectDB("DriverITM");
connDriver = null;
conn.setAutoCommit(false);
}
String userId = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
String chgUser = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "loginCode");
String chgTerm = this.genericUtility.getValueFromXTRA_PARAMS(xtraParams, "chgTerm");
tranDate = getCurrdateAppFormat();
sql = "SELECT D.DIST_ORDER AS DIST_ORDER,D.ORDER_DATE AS ORDER_DATE,D.SITE_CODE__SHIP AS SITE_CODE__SHIP,D.SITE_CODE__DLV AS SITE_CODE__DLV,D.SHIP_DATE AS SHIP_DATE,D.DUE_DATE AS DUE_DATE,D.REMARKS AS REMARKS, D.DIST_ROUTE AS DIST_ROUTE,D.PRICE_LIST AS PRICE_LIST,D.CONFIRMED AS CONFIRMED,D.CHG_USER AS CHG_USER,D.CHG_TERM AS CHG_TERM,D.TARGET_WGT AS TARGET_WGT,D.TARGET_VOL AS TARGET_VOL,D.LOC_CODE__GIT AS LOC_CODE__GIT, D.CHG_DATE AS CHG_DATE,SITE_A.DESCR AS SITEA_DESCR,SITE_B.DESCR AS SITEB_DESCR,LOCATION.DESCR AS LOCATION_DESCR,D.CONF_DATE AS CONF_DATE,D.SITE_CODE AS SITE_CODE,D.STATUS AS STATUS,D.SALE_ORDER AS SALE_ORDER, D.REMARKS1 AS REMARK1,D.REMARKS2 AS REMARK2,TRIM(D.ORDER_TYPE) AS ORDER_TYPE,SITE_A.ADD1 AS SITEA_ADD1,SITE_A.ADD2 AS SITEA_ADD2,SITE_A.CITY AS SITEA_CITY,SITE_A.PIN AS SITEA_PIN,SITE_A.STATE_CODE AS SITEA_STATE_CODE, SITE_B.ADD1 AS SITEB_ADD1,SITE_B.ADD2 AS SITEB_ADD2,SITE_B.CITY AS SITEB_CITY,SITE_B.PIN AS SITEB_PIN,SITE_B.STATE_CODE AS SITEB_STATE_CODE,D.LOC_CODE__CONS AS LOC_CODE__CONS,D.SUNDRY_TYPE AS SUNDRY_TYPE, D.SUNDRY_CODE AS SUNDRY_CODE,D.AUTO_RECEIPT AS AUTO_RECEIPT,D.TRAN_TYPE AS TRAN_TYPE,D.CURR_CODE AS CURR_CODE,D.EXCH_RATE AS EXCH_RATE,D.SALES_PERS AS SALES_PERS,SALES_PERS.SP_NAME AS SP_NAME, D.LOC_CODE__GITBF AS LOC_CODE__GITBF,D.CUST_CODE__DLV AS CUST_CODE__DLV,D.DLV_TO AS DLV_TO,D.DLV_ADD1 AS DLV_ADD1,D.DLV_ADD2 AS DLV_ADD2,D.DLV_ADD3 AS DLV_ADD3,D.DLV_CITY AS DLV_CITY, D.STATE_CODE__DLV AS STATE_CODE__DLV,D.COUNT_CODE__DLV AS COUNT_CODE__DLV,D.DLV_PIN AS DLV_PIN,D.STAN_CODE AS STAN_CODE,D.TEL1__DLV AS TEL1__DLV,D.TEL2__DLV AS TEL2__DLV,D.TEL3__DLV AS TEL3__DLV, D.FAX__DLV AS FAX__DLV,D.AVALIABLE_YN AS AVALIABLE_YN,D.PURC_ORDER AS PURC_ORDER,D.TOT_AMT AS TOT_AMT,D.TAX_AMT AS TAX_AMT,D.NET_AMT AS NET_AMT,D.TRAN_SER AS TRAN_SER, D.PRICE_LIST__CLG AS PRICE_LIST__CLG,SPACE(25) AS LOC,FN_SUNDRY_NAME(D.SUNDRY_TYPE,D.SUNDRY_CODE,'N') AS SUNDRY_NAME, D.PROJ_CODE AS PROJ_CODE,SITE_C.DESCR AS SITEC_DESCR,D.POLICY_NO AS POLICY_NO,D.LOC_CODE__DAMAGED AS LOC_CODE__DAMAGED,D.SITE_CODE__BIL AS SITE_CODE__BIL,SITE_D.DESCR AS SITED_DESCR,SITE_D.ADD1 AS SITED_ADD1, SITE_D.ADD2 AS SITED_ADD2,SITE_D.CITY AS SITED_CITY,SITE_D.PIN SITED_PIN ,SITE_D.STATE_CODE AS SITED_STATE_CODE,D.TRANS_MODE AS TRANS_MODE FROM DISTORDER D,SITE SITE_A,SITE SITE_B,LOCATION LOCATION,SALES_PERS SALES_PERS,SITE SITE_C,SITE SITE_D WHERE ( D.SITE_CODE__SHIP = SITE_A.SITE_CODE ) AND ( D.SITE_CODE__DLV = SITE_B.SITE_CODE (+) ) AND ( D.LOC_CODE__GIT = LOCATION.LOC_CODE (+) ) AND ( D.SITE_CODE = SITE_C.SITE_CODE (+) ) AND ( D.SALES_PERS=SALES_PERS.SALES_PERS(+)) AND ( D.SITE_CODE__BIL=SITE_D.SITE_CODE(+)) AND ( ( D.DIST_ORDER = '" +
distOrderNo + "' ) ) ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
this.currCode = rs.getString("CURR_CODE");
locCode = rs.getString("LOC_CODE__GIT");
tranType = rs.getString("TRAN_TYPE");
siteCodeShip = rs.getString("SITE_CODE__SHIP");
xmlBuffHeader.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
xmlBuffHeader.append("<DocumentRoot>");
xmlBuffHeader.append("<description>").append("Datawindow Root").append("</description>");
xmlBuffHeader.append("<group0>");
xmlBuffHeader.append("<description>").append("Group0 description").append("</description>");
xmlBuffHeader.append("<Header0>");
xmlBuffHeader.append("<objName><![CDATA[").append("dist_order_post").append("]]></objName>");
xmlBuffHeader.append("<pageContext><![CDATA[").append("1").append("]]></pageContext>");
xmlBuffHeader.append("<objContext><![CDATA[").append("1").append("]]></objContext>");
xmlBuffHeader.append("<focusedColumn><![CDATA[").append("").append("]]></focusedColumn>");
xmlBuffHeader.append("<action><![CDATA[").append("SAVE").append("]]></action>");
xmlBuffHeader.append("<elementName><![CDATA[").append("").append("]]></elementName>");
xmlBuffHeader.append("<keyValue><![CDATA[").append("1").append("]]></keyValue>");
xmlBuffHeader.append("<taxKeyValue><![CDATA[").append("").append("]]></taxKeyValue>");
xmlBuffHeader.append("<saveLevel><![CDATA[").append("1").append("]]></saveLevel>");
xmlBuffHeader.append("<forcedSave><![CDATA[").append(true).append("]]></forcedSave>");
xmlBuffHeader.append("<taxInFocus><![CDATA[").append(false).append("]]></taxInFocus>");
xmlBuffHeader.append("<description>").append("Header0 members").append("</description>");
xmlBuffHeader.append("<Detail1 dbID=\"\" domID=\"1\" objName=\"dist_order_post\" objContext=\"1\">");
if(headerFlag)
{
xmlBuffHeader.append("<editFlag><![CDATA[").append("A").append("]]></editFlag>");
xmlBuffHeader.append("<attribute selected=\"N\" updateFlag=\"A\" status=\"N\" pkNames=\"\"/>");
xmlBuffHeader.append("<tran_id/>");
}
else
{
xmlBuffHeader.append("<tran_id><![CDATA[").append(tranId).append("]]></tran_id>");;
xmlBuffHeader.append("<editFlag><![CDATA[").append("E").append("]]></editFlag>");
xmlBuffHeader.append("<attribute selected=\"N\" updateFlag=\"E\" status=\"N\" pkNames=\"\"/>");
}
xmlBuffHeader.append("<tran_date><![CDATA[" + tranDate + "]]></tran_date>");
xmlBuffHeader.append("<eff_date><![CDATA[" + tranDate + "]]></eff_date>");
xmlBuffHeader.append("<dist_order><![CDATA[" + distOrderNo + "]]></dist_order>");
xmlBuffHeader.append("<site_code><![CDATA[" + (rs.getString("SITE_CODE__SHIP") == null ? "" : rs.getString("SITE_CODE__SHIP").trim()) + "]]></site_code>");
xmlBuffHeader.append("<site_code__dlv><![CDATA[" + (rs.getString("SITE_CODE__DLV") == null ? "" : rs.getString("SITE_CODE__DLV").trim()) + "]]></site_code__dlv>");
xmlBuffHeader.append("<dist_route><![CDATA[" + (rs.getString("DIST_ROUTE") == null ? "" : rs.getString("DIST_ROUTE")) + "]]></dist_route>");
xmlBuffHeader.append("<tran_code><![CDATA[]]></tran_code>");
xmlBuffHeader.append("<lr_no><![CDATA[]]></lr_no>");
xmlBuffHeader.append("<lr_date><![CDATA[]]></lr_date>");
xmlBuffHeader.append("<lorry_no><![CDATA[]]></lorry_no>");
xmlBuffHeader.append("<gross_weight><![CDATA[0]]></gross_weight>");
xmlBuffHeader.append("<tare_weight><![CDATA[0]]></tare_weight>");
xmlBuffHeader.append("<net_weight><![CDATA[0]]></net_weight>");
xmlBuffHeader.append("<frt_amt><![CDATA[0]]></frt_amt>");
xmlBuffHeader.append("<amount><![CDATA[0]]></amount>");
xmlBuffHeader.append("<tax_amt><![CDATA[0]]></tax_amt>");
xmlBuffHeader.append("<net_amt><![CDATA[0]]></net_amt>");
xmlBuffHeader.append("<remarks><![CDATA[]]></remarks>");
xmlBuffHeader.append("<frt_type><![CDATA[T]]></frt_type>");
xmlBuffHeader.append("<chg_user><![CDATA[" + userId + "]]></chg_user>");
xmlBuffHeader.append("<chg_term><![CDATA[" + chgTerm + "]]></chg_term>");
xmlBuffHeader.append("<curr_code><![CDATA[" + this.currCode + "]]></curr_code>");
xmlBuffHeader.append("<chg_date><![CDATA[" + tranDate + "]]></chg_date>");
xmlBuffHeader.append("<site_descr><![CDATA[" + (rs.getString("SITEA_DESCR") == null ? "" : rs.getString("SITEA_DESCR").trim()) + "]]></site_descr>");
xmlBuffHeader.append("<site_to_descr><![CDATA[" + (rs.getString("SITEB_DESCR") == null ? "" : rs.getString("SITEB_DESCR").trim()) + "]]></site_to_descr>");
xmlBuffHeader.append("<location_descr><![CDATA[" + (rs.getString("LOCATION_DESCR") == null ? "" : rs.getString("LOCATION_DESCR").trim()) + "]]></location_descr>");
xmlBuffHeader.append("<tran_name><![CDATA[]]></tran_name>");
xmlBuffHeader.append("<currency_descr><![CDATA[]]></currency_descr>");
xmlBuffHeader.append("<confirmed><![CDATA[" + this.isAutoConfirm + "]]></confirmed>");
xmlBuffHeader.append("<loc_code__git><![CDATA[" + (rs.getString("LOC_CODE__GITBF") == null ? "" : rs.getString("LOC_CODE__GITBF")) + "]]></loc_code__git>");
xmlBuffHeader.append("<conf_date><![CDATA[" + sdf.format(rs.getTimestamp("CONF_DATE")) + "]]></conf_date>");
xmlBuffHeader.append("<no_art><![CDATA[0]]></no_art>");
xmlBuffHeader.append("<trans_mode><![CDATA[" + (rs.getString("TRANS_MODE") == null ? "" : rs.getString("TRANS_MODE").trim()) + "]]></trans_mode>");
xmlBuffHeader.append("<gp_no><![CDATA[]]></gp_no>");
xmlBuffHeader.append("<gp_date/>");
xmlBuffHeader.append("<conf_passwd/>");
xmlBuffHeader.append("<order_type><![CDATA[" + (rs.getString("ORDER_TYPE") == null ? "" : rs.getString("ORDER_TYPE").trim()) + "]]></order_type>");
xmlBuffHeader.append("<gp_ser><![CDATA[I]]></gp_ser>");
xmlBuffHeader.append("<ref_no><![CDATA[]]></ref_no>");
xmlBuffHeader.append("<ref_date><![CDATA[]]></ref_date>");
xmlBuffHeader.append("<available_yn><![CDATA[" + (rs.getString("AVALIABLE_YN") == null ? "N" : rs.getString("AVALIABLE_YN").trim()) + "]]></available_yn>");
xmlBuffHeader.append("<site_add1><![CDATA[" + (rs.getString("SITEA_ADD1") == null ? "" : rs.getString("SITEA_ADD1").trim()) + "]]></site_add1>");
xmlBuffHeader.append("<site_add2><![CDATA[" + (rs.getString("SITEA_ADD2") == null ? "" : rs.getString("SITEA_ADD2").trim()) + "]]></site_add2>");
xmlBuffHeader.append("<site_city><![CDATA[" + (rs.getString("SITEA_CITY") == null ? "" : rs.getString("SITEA_CITY").trim()) + "]]></site_city>");
xmlBuffHeader.append("<site_pin><![CDATA[" + (rs.getString("SITEA_PIN") == null ? "" : rs.getString("SITEA_PIN").trim()) + "]]></site_pin>");
xmlBuffHeader.append("<site_state_code><![CDATA[" + (rs.getString("SITEA_STATE_CODE") == null ? "" : rs.getString("SITEA_STATE_CODE").trim()) + "]]></site_state_code>");
xmlBuffHeader.append("<exch_rate><![CDATA[" + rs.getDouble("EXCH_RATE") + " ]]></exch_rate>");
xmlBuffHeader.append("<tran_type><![CDATA[" + (rs.getString("TRAN_TYPE") == null ? "" : rs.getString("TRAN_TYPE").trim()) + "]]></tran_type>");
xmlBuffHeader.append("<emp_code__aprv><![CDATA[]]></emp_code__aprv>");
xmlBuffHeader.append("<discount><![CDATA[0]]></discount>");
xmlBuffHeader.append("<permit_no><![CDATA[]]></permit_no>");
xmlBuffHeader.append("<shipment_id><![CDATA[]]></shipment_id>");
xmlBuffHeader.append("<curr_code__frt><![CDATA[" + this.currCode + "]]></curr_code__frt>");
xmlBuffHeader.append("<exch_rate__frt><![CDATA[]]></exch_rate__frt>");
xmlBuffHeader.append("<currency_descr__frt><![CDATA[]]></currency_descr__frt>");
xmlBuffHeader.append("<rd_permit_no><![CDATA[]]></rd_permit_no>");
xmlBuffHeader.append("<dc_no><![CDATA[]]></dc_no>");
xmlBuffHeader.append("<tran_ser><![CDATA[D-ISS ]]></tran_ser>");
xmlBuffHeader.append("<part_qty><![CDATA[A]]></part_qty>");
xmlBuffHeader.append("<sundry_details><![CDATA[]]></sundry_details>");
xmlBuffHeader.append("<sundry_name><![CDATA[" + (rs.getString("SUNDRY_NAME") == null ? "" : rs.getString("SUNDRY_NAME")) + "]]></sundry_name>");
xmlBuffHeader.append("<proj_code><![CDATA[" + (rs.getString("PROJ_CODE") == null ? "" : rs.getString("PROJ_CODE").trim()) + "]]></proj_code>");
xmlBuffHeader.append("<site_tele1><![CDATA[]]></site_tele1>");
xmlBuffHeader.append("<site_tele2><![CDATA[]]></site_tele2>");
xmlBuffHeader.append("<site_tele3><![CDATA[]]></site_tele3>");
xmlBuffHeader.append("<site_code__bil><![CDATA[]]></site_code__bil>");
xmlBuffHeader.append("<site_descr_bill><![CDATA[]]></site_descr_bill>");
xmlBuffHeader.append("<site_add1_bill><![CDATA[]]></site_add1_bill>");
xmlBuffHeader.append("<site_add2_bill><![CDATA[]]></site_add2_bill>");
xmlBuffHeader.append("<site_city_bill><![CDATA[]]></site_city_bill>");
xmlBuffHeader.append("<site_pin_bill><![CDATA[]]></site_pin_bill>");
xmlBuffHeader.append("<site_state_code_bill><![CDATA[]]></site_state_code_bill>");
xmlBuffHeader.append("<pallet_wt><![CDATA[]]></pallet_wt>");
xmlBuffHeader.append("<auto_receipt><![CDATA[N]]></auto_receipt>");
xmlBuffHeader.append("</Detail1>");
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
retString = xmlBuffHeader.toString();
System.out.println("Chandni retString is::" + retString);
}
catch (Exception e)
{
e.printStackTrace();
retString = "ERROR";
throw new ITMException(e);
}
return retString;
}
private HashMap getDetails(String mSiteCode, int mLineNoDist, String mDistOrder, String lsTranType, Connection conn)
throws RemoteException, ITMException
{
String mItemCode = null; String mTaxClass = null; String mTaxChap = null; String mTaxEnv = null;
String lsUnitAlt = null; String lsUnit = null; String lsPackInstr = null;
String iItemCode = ""; String mPackCode = null; String unit = "";
double mQty = 0.0D; double lcQty = 0.0D; double mRate = 0.0D; double mDiscount = 0.0D; double lcRateClg = 0.0D; double lcConvQtyAlt = 0.0D;
String sql = null; String lsTranTypeParent = "";
ResultSet rs = null; ResultSet rs1 = null;
PreparedStatement pstmt = null; PreparedStatement pstmt1 = null;
StringBuffer detail2hdr = new StringBuffer("");
String mLotNo = null;
HashMap hm = new HashMap();
try
{
sql = "select item_code,((case when qty_confirm is null then 0 else qty_confirm end) - (case when qty_shipped is null then 0 else qty_shipped end))\tas qty, ((case when qty_shipped is null then 0 else qty_shipped end) - (case when qty_return is null then 0 else qty_return end)) as lcqty, tax_class,tax_chap,tax_env,case when rate is null then 0 else rate end as rate, case when discount is null then 0 else discount end as discount,\t rate__clg ,UNIT__ALT ,UNIT,CONV__QTY__ALT,pack_instr from \tdistorder_det where dist_order = '" +
mDistOrder + "' " +
" and \tline_no = " + mLineNoDist +
" AND CASE WHEN STATUS IS NULL THEN 'O' ELSE STATUS END<>'C' ";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next())
{
mItemCode = rs.getString("item_code") == null ? "" : rs.getString("item_code");
mQty = rs.getDouble("qty");
lcQty = rs.getDouble("lcqty");
mTaxClass = rs.getString("tax_class") == null ? "" : rs.getString("tax_class");
mTaxChap = rs.getString("tax_chap") == null ? "" : rs.getString("tax_chap");
mTaxEnv = rs.getString("tax_env") == null ? "" : rs.getString("tax_env");
mRate = rs.getDouble("rate");
mDiscount = rs.getDouble("discount");
lcRateClg = rs.getDouble("rate__clg");
lsUnitAlt = rs.getString("UNIT__ALT") == null ? "" : rs.getString("UNIT__ALT");
unit = rs.getString("UNIT") == null ? "" : rs.getString("UNIT");
lcConvQtyAlt = rs.getDouble("CONV__QTY__ALT");
lsPackInstr = rs.getString("pack_instr") == null ? "" : rs.getString("pack_instr");
if (lsUnitAlt.trim().length() == 0)
{
lsUnitAlt = lsUnit;
lcConvQtyAlt = 1.0D;
}
/*detail2hdr.append("<item_code><![CDATA[" + mItemCode + "]]></item_code>");
detail2hdr.append("<unit><![CDATA[" + lsUnit + "]]></unit>");
detail2hdr.append("<unit__alt><![CDATA[" + lsUnitAlt + "]]></unit__alt>");
detail2hdr.append("<pack_instr><![CDATA[" + lsPackInstr + "]]></pack_instr>");*/
hm.put("item_code", mItemCode);
hm.put("unit", lsUnit);
hm.put("unit__alt", lsUnitAlt);
hm.put("pack_instr", lsPackInstr);
sql = " select tran_type__parent from\tdistorder_type where tran_type = '" +
lsTranType + "' ";
pstmt1 = conn.prepareStatement(sql);
rs1 = pstmt1.executeQuery();
if (rs1.next())
{
lsTranTypeParent = rs1.getString("tran_type__parent") == null ? "" : rs1.getString("tran_type__parent").trim();
}
rs1.close();
rs1 = null;
pstmt1.close();
pstmt1 = null;
if (!lsTranTypeParent.equalsIgnoreCase(lsTranType.trim()))
{
/*detail2hdr.append("<quantity>" + lcQty + "</quantity>");
detail2hdr.append("<qty_order__alt>" + lcQty + "</qty_order__alt>");*/
hm.put("quantity", lcQty);
hm.put("qty_order__alt", lcQty);
lcQty = lcQty;
}
else
{
/*detail2hdr.append("<quantity>" + mQty + "</quantity>");
detail2hdr.append("<qty_order__alt>" + mQty + "</qty_order__alt>");*/
hm.put("quantity", mQty);
hm.put("qty_order__alt", mQty);
lcQty = mQty;
}
/* detail2hdr.append("<tax_class><![CDATA[" + mTaxClass + "]]></tax_class>");
detail2hdr.append("<tax_chap><![CDATA[" + mTaxChap + "]]></tax_chap>");
detail2hdr.append("<tax_env><![CDATA[" + mTaxEnv + "]]></tax_env>");
detail2hdr.append("<rate>" + mRate + "</rate>");
detail2hdr.append("<discount>" + mDiscount + "</discount>");*/
hm.put("tax_class", mTaxClass);
hm.put("tax_chap", mTaxChap);
hm.put("tax_env", mTaxEnv);
hm.put("rate", mRate);
hm.put("discount", mDiscount);
}
rs.close();
rs = null;
pstmt.close();
pstmt = null;
}
catch (Exception e)
{
e.printStackTrace();
}
//System.out.println("chandni inside detail::" + detail2hdr.toString());
//return detail2hdr.toString();
return hm;
}
private String calcExpiry(String tranDate, int months)
{
java.util.Date expDate = new java.util.Date();
java.util.Date retDate = new java.util.Date();
String retStrInDate = "";
try
{
GenericUtility genericUtility = GenericUtility.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(genericUtility.getApplDateFormat());
if (months > 0)
{
Calendar cal = Calendar.getInstance();
expDate = sdf.parse(tranDate);
cal.setTime(expDate);
cal.add(2, months);
cal.add(2, 1);
cal.set(5, 0);
retDate = cal.getTime();
retStrInDate = sdf.format(retDate);
}
else
{
retStrInDate = tranDate;
}
}
catch (Exception localException)
{
}
return retStrInDate;
}
private int getNoArt(String siteCode, String custCode, String itemCode, String packCode, double qty, char type, double shipperQty, double integralQty1)
{
String sql = "";
ResultSet rs = null;
Connection conn = null;
ConnDriver connDriver = new ConnDriver();
Statement stmt = null;
double reoQty = 0.0D; double capacity = 0.0D; double integralQty = 0.0D; double mod = 0.0D; double noArt3 = 0.0D;
double noArt = 0.0D; double noArt1 = 0.0D; double noArt2 = 0.0D;
try
{
conn = connDriver.getConnectDB("DriverITM");
stmt = conn.createStatement();
System.out.println("type :" + type);
switch (type)
{
case 'S':
sql = "SELECT CASE WHEN CAPACITY IS NULL THEN 0 ELSE CAPACITY END FROM PACKING WHERE PACK_CODE = '" +
packCode + "'";
rs = stmt.executeQuery(sql);
if (rs.next())
{
capacity = rs.getDouble(1);
}
else
{
capacity = 0.0D;
}
sql = "SELECT REO_QTY FROM SITEITEM WHERE SITE_CODE = '" + siteCode + "' " +
"AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
reoQty = rs.getDouble(1);
}
if (reoQty == 0.0D)
{
sql = "SELECT REO_QTY FROM ITEM WHERE ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
reoQty = rs.getDouble(1);
}
}
if (reoQty == 0.0D)
{
reoQty = 0.0D;
}
if (capacity > 0.0D)
{
shipperQty = capacity;
}
else
{
shipperQty = reoQty;
}
System.out.println("shipperQty :" + shipperQty);
if (shipperQty <= 0.0D)
break;
mod = qty % shipperQty;
System.out.println("mod :" + mod);
noArt = (qty - mod) / shipperQty;
break;
case 'I':
sql = "SELECT INTEGRAL_QTY FROM CUSTOMERITEM WHERE CUST_CODE = '" +
custCode + "'" + " AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty == 0.0D)
{
sql = "SELECT INTEGRAL_QTY FROM SITEITEM WHERE SITE_CODE = '" +
siteCode + "'" + " AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty == 0.0D)
{
sql = "SELECT INTEGRAL_QTY FROM ITEM WHERE ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
}
}
if (integralQty <= 0.0D)
break;
mod = qty % integralQty;
System.out.println("mod :" + mod);
noArt = (qty - mod) / integralQty;
break;
case 'B':
sql = "SELECT CASE WHEN CAPACITY IS NULL THEN 0 ELSE CAPACITY END FROM PACKING WHERE PACK_CODE = '" +
packCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
capacity = rs.getDouble(1);
}
else
{
capacity = 0.0D;
}
sql = "SELECT REO_QTY FROM SITEITEM WHERE SITE_CODE = '" + siteCode + "' " +
"AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
reoQty = rs.getDouble(1);
}
if (reoQty == 0.0D)
{
sql = "SELECT REO_QTY FROM ITEM WHERE ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
reoQty = rs.getDouble(1);
}
}
if (capacity > 0.0D)
{
shipperQty = capacity;
}
else
{
shipperQty = reoQty;
}
if (shipperQty > 0.0D)
{
mod = qty % shipperQty;
noArt1 = (qty - mod) / shipperQty;
}
sql = "SELECT INTEGRAL_QTY FROM CUSTOMERITEM WHERE CUST_CODE = '" +
custCode + "' " +
"AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty == 0.0D)
{
sql = "SELECT INTEGRAL_QTY FROM SITEITEM WHERE SITE_CODE = '" +
siteCode + "' " +
"AND ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
if (integralQty == 0.0D)
{
sql = "SELECT INTEGRAL_QTY FROM ITEM WHERE ITEM_CODE = '" + itemCode + "'";
System.out.println("sql :" + sql);
rs = stmt.executeQuery(sql);
if (rs.next())
{
integralQty = rs.getDouble(1);
}
}
}
double remainder1 = 0.0D;
if (integralQty > 0.0D)
{
remainder1 = mod % integralQty;
System.out.println("remainder1 :" + remainder1);
noArt3 = (mod - remainder1) / integralQty;
noArt2 = (int)noArt3;
}
if (noArt2 > 0.0D)
{
noArt2 = 1.0D;
}
noArt = noArt1 + noArt2;
System.out.println("noArt :" + noArt);
}
conn.close();
if (noArt == 0.0D)
{
noArt = 0.0D;
}
}
catch (Exception e)
{
System.out.println("Exception occures in getNoArt :" + e);
}
System.out.println("(int)noArt :" + (int)noArt);
return (int)noArt;
}
private String createDespatch(String refId,String lineNoInterface, Connection conn) throws ITMException, Exception
{
String resultStr = "",sql = "",despId = "",despDetSql = "",sordItemSql = "",sordSql = "",sordDetSql = "",stockSql = "",itemSql = "",
sqlHdr = "";
......@@ -1399,9 +2981,10 @@ public class ScheduleAWMSInOutTasks implements Schedule
sql = "SELECT LINE_NO,EXP_LEV,ITEM_CODE__ORD,ITEM_CODE,LOT_NO,LOT_SL,UNIT,QUANTITY,LOC_CODE,"
+ " MFG_DATE,EXP_DATE,SITE_CODE,SITE_CODE__MFG FROM SORDALLOC WHERE SALE_ORDER = ?";
+ " MFG_DATE,EXP_DATE,SITE_CODE,SITE_CODE__MFG FROM SORDALLOC WHERE SALE_ORDER = ? AND LINE_NO = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, refId);
pstmt.setString(2, lineNoInterface);
rs = pstmt.executeQuery();
while(rs.next())
{
......
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