Commit f35e72fc authored by jshinde's avatar jshinde

Updated StatusChangeRequest for Full and Partial Pallet details


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@102735 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 45d90725
......@@ -64,9 +64,9 @@ public class StatusChangeRequest implements Schedule {
public String statusChange(String siteCode , String scheduleParamXML, String xtraParams) throws ITMException
{
String invStat="", sqlVariable="", qtyPerArt = "",unit="",mfgDate="",expiryDate="",quantity="",noArt="",refId="", lineNo="",
palletStatus="", palletNo="", locCode="", lotSl="", lotNo="", itemCode="", lockStat="", lockCode="", tranRefSer="";
palletStatus="", palletNo="", locCode="", lotSl="", lotNo="", itemCode="", lockStat="", lockCode="" ;
String damageLocations="", holdLocations="",refSerSwms="",rejectedLoc="";//Added by Jagruti Shinde
String damageLocations="", holdLocations="",rejectedLoc="";//Added by Jagruti Shinde
Timestamp today = new Timestamp(System.currentTimeMillis());
......@@ -75,12 +75,12 @@ public class StatusChangeRequest implements Schedule {
ArrayList<String> holdLocArryKList = new ArrayList<String>();
//Changed by Jagruti Shinde Request id:[W16CSUN009]
ArrayList<String> rejectedLocArryList = new ArrayList<String>();
ArrayList<String> refSerArryList = new ArrayList<String>();
String sql="", sqlStr ="";
String sqlStr ="",sqlInvHold ="",tranId="",sqlCount ="",sqlGen= "",shDescr ="";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
PreparedStatement pstmt = null,pstmtHold = null ,pstmtCount = null ,pstmtGen =null;
ResultSet rs = null,rsCount = null,rsHold = null ,rsGen =null;
int cntSwms = 0;
try {
ConnDriver connDriver = new ConnDriver();
......@@ -99,8 +99,6 @@ public class StatusChangeRequest implements Schedule {
holdLocations = distComm.getDisparams("999999","HOLD_LOCKS",conn);
//Changed by Jagruti Shinde Request id:[W16CSUN009]
rejectedLoc = distComm.getDisparams("999999","REJECTED_LOCKS",conn);
refSerSwms = distComm.getDisparams("999999","REF_SER_SWMS",conn);
invStat = invStat.replace(",", "','");
invStat = "'"+invStat+"'";
......@@ -136,15 +134,6 @@ public class StatusChangeRequest implements Schedule {
System.out.println("REJECTED LOCATINOS ARRAY LIST : "+rejectedLocArryList);
String[] refSerArry=refSerSwms.split(",");
for(String value:refSerArry){
refSerArryList.add(value);
}
System.out.println("REF SER IN SWMS_TO_AWMS : "+refSerArryList);
/*sql="SELECT REF_SER FROM TRANSETUP WHERE TRAN_WINDOW='w_inv_hold'";
pstmt = conn.prepareStatement(sql);
rs=pstmt.executeQuery();
......@@ -163,119 +152,210 @@ public class StatusChangeRequest implements Schedule {
rs.close();
rs = null;
}*/
//Changed by Jagruti Shinde Request id:[W16CSUN009][End]
System.out.println("refSerArryList.size()"+refSerArryList.size());
for(int i=0; i< refSerArryList.size(); i++)
{
refSerSwms = refSerArryList.get(i);
sqlStr = "SELECT S.QTY_PER_ART,S.UNIT,S.MFG_DATE,S.EXP_DATE,S.QUANTITY,S.NO_ART,S.LOC_CODE,S.LOT_SL,S.LOT_NO,S.ITEM_CODE,D.LINE_NO,"
+ "D.TRAN_ID,H.LOCK_CODE "
+ "FROM STOCK S, INV_HOLD H, INV_HOLD_DET D WHERE S.SITE_CODE=? AND S.INV_STAT IN ("+invStat+") AND H.LOCK_CODE IN("+sqlVariable+") "
+ "AND H.TRAN_ID= D.TRAN_ID AND D.LOT_NO = S.LOT_NO AND D.LOT_SL=S.LOT_SL AND D.ITEM_CODE = S.ITEM_CODE AND D.LOC_CODE =S.LOC_CODE "
+ "AND D.HOLD_STATUS='H' AND S.HOLD_QTY > 0 AND FN_CHECK_SWMS_TO_AWMS(H.TRAN_ID,'"+refSerSwms+"','S')=0";
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1, siteCode);
rs = pstmt.executeQuery();
while(rs.next())
{
qtyPerArt = checkNullAndTrim(rs.getString("QTY_PER_ART"));
unit = rs.getString("UNIT");
mfgDate = checkNullAndTrim(rs.getString("MFG_DATE"));
expiryDate = checkNullAndTrim(rs.getString("EXP_DATE"));
quantity = rs.getString("QUANTITY");
noArt = checkNullAndTrim(rs.getString("NO_ART"));
locCode = rs.getString("LOC_CODE");
palletNo = rs.getString("LOC_CODE");
lotSl = rs.getString("LOT_SL");
lotNo = rs.getString("LOT_NO");
itemCode = rs.getString("ITEM_CODE");
lineNo = checkNullAndTrim(rs.getString("LINE_NO"));
refId = rs.getString("TRAN_ID");
lockCode = rs.getString("LOCK_CODE");
ArrayList<HashMap<String, String>> holdStockList = new ArrayList<HashMap<String,String>>();
HashMap<String, String> damageHoldStockLMap = new HashMap<String, String>();
damageHoldStockLMap.put("PALLET_NO", locCode);
damageHoldStockLMap.put("SITE_CODE", siteCode);
damageHoldStockLMap.put("LOT_SL", lotSl);
damageHoldStockLMap.put("LOT_NO", lotNo);
damageHoldStockLMap.put("ITEM_CODE", itemCode);
damageHoldStockLMap.put("LOCK_CODE", lockCode);
holdStockList.add(damageHoldStockLMap);
palletStatus = getPalletStatus(palletNo, siteCode, holdStockList,lockCode,conn);
System.out.println("palletStatus for AWMS :"+palletStatus);
//Changed by wasim on 23-01-2016 to consider other suffix locations aprt from Q [START]
/*palletNo = palletNo.charAt(palletNo.trim().length()-1)=='Q'?palletNo.substring(0,palletNo.trim().length()-1):palletNo;
System.out.println("Pallet No After removing Q: "+palletNo);*/
palletNo = (palletNo.charAt(palletNo.trim().length()-1)=='Q') || (palletNo.charAt(palletNo.trim().length()-1)=='M') ||
(palletNo.charAt(palletNo.trim().length()-1)=='S') || (palletNo.charAt(palletNo.trim().length()-1)=='B') ||
(palletNo.charAt(palletNo.trim().length()-1)=='X') || (palletNo.charAt(palletNo.trim().length()-1)=='U') ||
(palletNo.charAt(palletNo.trim().length()-1)=='P') || (palletNo.charAt(palletNo.trim().length()-1)=='R') //Changed by wasim on 02-05-2016 to consider rejected location with suffix R
? palletNo.substring(0,palletNo.trim().length()-1):palletNo;
System.out.println("Pallet No After removing suffix: "+palletNo);
//Changed by wasim on 23-01-2016 to consider other suffix locations aprt from Q [END]
HashMap<String, String> awmsMap = new HashMap<String, String>();
awmsMap.put("ITEM_CODE", itemCode);
awmsMap.put("REF_ID", refId);
awmsMap.put("REF_SER", refSerSwms);
awmsMap.put("TRAN_DATE", checkNullAndTrim(String.valueOf(today)));
awmsMap.put("QTY_PER_ART", qtyPerArt);
awmsMap.put("LOT_NO", lotNo);
awmsMap.put("LOT_SL", lotSl);
awmsMap.put("QUANTITY", noArt);
awmsMap.put("TOTAL_QTY", quantity);
awmsMap.put("PALLET_NO", palletNo);
awmsMap.put("LINE_NO", lineNo);
awmsMap.put("UNIT", unit);
awmsMap.put("FAMILY_GRP", "");
awmsMap.put("TRAN_ID", "");
awmsMap.put("IN_OUT", "S");
awmsMap.put("EXP_DATE", expiryDate);
awmsMap.put("MFG_DATE", mfgDate);
awmsMap.put("PALLET_STATUS", palletStatus);
awmsMap.put("MSG_STAT", "N");
if(damageLocArryKList.contains(lockCode.trim())){
lockStat = "DAMAGE";
}
else if(holdLocArryKList.contains(lockCode.trim())){
lockStat = "HOLD";
}
//Changed by Jagruti Shinde Request id:[W16CSUN009][start]
else if(rejectedLocArryList.contains(lockCode.trim())){
lockStat = "REJ";
}
//Changed by Jagruti Shinde Request id:[W16CSUN009][End]
awmsMap.put("LOCK_STAT", lockStat);
awmsMap.put("ERR_COD", "");
awmsMap.put("ERR_DESC", "");
awmsMap.put("QC_TYPE", "");
awmsMap.put("TRANS_DT_ACK", "");
awmsMap.put("STRO_PREF", "");
awmsIntrArrList.add(awmsMap);
System.out.println("AWMS HashMap:"+awmsMap);
sqlInvHold = " SELECT H.TRAN_ID,D.LOC_CODE,D.ITEM_CODE,D.LOT_NO,D.LOT_SL,H.LOCK_CODE ,D.LINE_NO FROM STOCK S, INV_HOLD H, INV_HOLD_DET D WHERE S.SITE_CODE = ? AND " +
" S.INV_STAT IN ("+invStat+") AND H.LOCK_CODE IN ("+sqlVariable+") " +
" AND H.TRAN_ID= D.TRAN_ID AND D.LOT_NO = S.LOT_NO AND D.LOT_SL=S.LOT_SL " +
" AND D.ITEM_CODE = S.ITEM_CODE AND D.LOC_CODE =S.LOC_CODE AND D.HOLD_STATUS='H' AND S.HOLD_QTY > 0 ";
pstmtHold = conn.prepareStatement(sqlInvHold);
pstmtHold.setString(1, siteCode);
rsHold = pstmtHold.executeQuery();
while(rsHold.next())
{
tranId = checkNullAndTrim(rsHold.getString("TRAN_ID"));
locCode = checkNullAndTrim(rsHold.getString("LOC_CODE"));
itemCode = checkNullAndTrim(rsHold.getString("ITEM_CODE"));
lotNo = checkNullAndTrim(rsHold.getString("LOT_NO"));
lotSl = checkNullAndTrim(rsHold.getString("LOT_SL"));
lockCode = checkNullAndTrim(rsHold.getString("LOCK_CODE"));
lineNo = checkNullAndTrim(rsHold.getString("LINE_NO"));
sqlGen= "SELECT SH_DESCR FROM GENCODES WHERE FLD_NAME = ? AND FLD_VALUE = ?";
pstmtGen = conn.prepareStatement(sqlGen);
pstmtGen.setString(1, "REFSER_FOR_LOCK");
pstmtGen.setString(2, lockCode);
rsGen = pstmtGen.executeQuery();
if(rsGen.next())
{
shDescr = checkNullAndTrim(rsGen.getString("SH_DESCR"));
}
if(pstmtGen != null)
{
pstmtGen.close();
pstmtGen = null;
}
if(rsGen != null)
{
rsGen.close();
rsGen = null;
}
System.out.println("AWMS Interface List:"+awmsIntrArrList);
System.out.println("Reference Series from gencodes["+shDescr+"]");
sqlCount = " SELECT COUNT(1) FROM SWMS_TO_AWMS WHERE IN_OUT = ? AND REF_SER = ? AND REF_ID = ?" +
" AND ITEM_CODE = ? AND LOT_NO = ? AND LOT_SL = ? AND TRIM(PALLET_NO) = (SUBSTR(TRIM( ? ),0,LENGTH(TRIM( ? ))-1 ) ) OR TRIM(PALLET_NO) = ? " +
" AND LINE_NO = ? ";
pstmtCount = conn.prepareStatement(sqlCount);
pstmtCount.setString(1, "S");
pstmtCount.setString(2, shDescr);
pstmtCount.setString(3, tranId);
pstmtCount.setString(4, itemCode);
pstmtCount.setString(5, lotNo);
pstmtCount.setString(6, lotSl);
pstmtCount.setString(7, locCode);
pstmtCount.setString(8, locCode);
pstmtCount.setString(9, locCode);
pstmtCount.setString(10, lineNo);
rsCount = pstmtCount.executeQuery();
if(rsCount.next())
{
cntSwms = rsCount.getInt(1);
}
if(pstmtCount != null)
{
pstmtCount.close();
pstmtCount = null;
}
if (rsCount != null)
{
rsCount.close();
rsCount = null;
}
if(awmsIntrArrList.size() > 0)
System.out.println( "cntSwms:::"+cntSwms);
if( cntSwms == 0)
{
connUtil.updateAwmsInterface(awmsIntrArrList, siteCode, conn);
}
/*sqlStr = "SELECT S.QTY_PER_ART,S.UNIT,S.MFG_DATE,S.EXP_DATE,S.QUANTITY,S.NO_ART,S.LOC_CODE,S.LOT_SL,S.LOT_NO,S.ITEM_CODE,D.LINE_NO,"
+ "D.TRAN_ID,H.LOCK_CODE "
+ "FROM STOCK S, INV_HOLD H, INV_HOLD_DET D WHERE S.SITE_CODE=? AND S.INV_STAT IN ("+invStat+") AND H.LOCK_CODE IN("+sqlVariable+") "
+ "AND H.TRAN_ID= D.TRAN_ID AND D.LOT_NO = S.LOT_NO AND D.LOT_SL=S.LOT_SL AND D.ITEM_CODE = S.ITEM_CODE AND D.LOC_CODE =S.LOC_CODE "
+ "AND D.HOLD_STATUS='H' AND S.HOLD_QTY > 0 AND FN_CHECK_SWMS_TO_AWMS(H.TRAN_ID,'"+refSerSwms+"','S')=0";*/
sqlStr = "SELECT S.QTY_PER_ART,S.UNIT,S.MFG_DATE,S.EXP_DATE,S.QUANTITY,S.NO_ART,S.LOC_CODE,S.LOT_SL,S.LOT_NO,S.ITEM_CODE,D.LINE_NO,"
+ "D.TRAN_ID,H.LOCK_CODE "
+ "FROM STOCK S, INV_HOLD H, INV_HOLD_DET D WHERE S.SITE_CODE = ? AND S.INV_STAT IN ("+invStat+") AND H.LOCK_CODE IN("+sqlVariable+") "
+ "AND H.TRAN_ID= D.TRAN_ID AND D.LOT_NO = S.LOT_NO AND D.LOT_SL=S.LOT_SL AND D.ITEM_CODE = S.ITEM_CODE AND D.LOC_CODE =S.LOC_CODE "
+ "AND D.HOLD_STATUS='H' AND S.HOLD_QTY > 0 AND D.TRAN_ID = ? ";
//Changed by Jagruti Shinde Request id:[W16CSUN009][End]
pstmt = conn.prepareStatement(sqlStr);
pstmt.setString(1, siteCode);
pstmt.setString(2, tranId);
rs = pstmt.executeQuery();
while(rs.next())
{
qtyPerArt = checkNullAndTrim(rs.getString("QTY_PER_ART"));
unit = rs.getString("UNIT");
mfgDate = checkNullAndTrim(rs.getString("MFG_DATE"));
expiryDate = checkNullAndTrim(rs.getString("EXP_DATE"));
quantity = rs.getString("QUANTITY");
noArt = checkNullAndTrim(rs.getString("NO_ART"));
locCode = rs.getString("LOC_CODE");
palletNo = checkNullAndTrim(rs.getString("LOC_CODE"));
lotSl = rs.getString("LOT_SL");
lotNo = rs.getString("LOT_NO");
itemCode = rs.getString("ITEM_CODE");
lineNo = checkNullAndTrim(rs.getString("LINE_NO"));
refId = rs.getString("TRAN_ID");
lockCode = rs.getString("LOCK_CODE");
ArrayList<HashMap<String, String>> holdStockList = new ArrayList<HashMap<String,String>>();
HashMap<String, String> damageHoldStockLMap = new HashMap<String, String>();
damageHoldStockLMap.put("PALLET_NO", locCode);
damageHoldStockLMap.put("SITE_CODE", siteCode);
damageHoldStockLMap.put("LOT_SL", lotSl);
damageHoldStockLMap.put("LOT_NO", lotNo);
damageHoldStockLMap.put("ITEM_CODE", itemCode);
damageHoldStockLMap.put("LOCK_CODE", lockCode);
holdStockList.add(damageHoldStockLMap);
palletStatus = getPalletStatus(palletNo, siteCode, holdStockList,lockCode,conn);
System.out.println("palletStatus for AWMS :"+palletStatus);
//Changed by wasim on 23-01-2016 to consider other suffix locations aprt from Q [START]
/*palletNo = palletNo.charAt(palletNo.trim().length()-1)=='Q'?palletNo.substring(0,palletNo.trim().length()-1):palletNo;
System.out.println("Pallet No After removing Q: "+palletNo);*/
palletNo = (palletNo.charAt(palletNo.trim().length()-1)=='Q') || (palletNo.charAt(palletNo.trim().length()-1)=='M') ||
(palletNo.charAt(palletNo.trim().length()-1)=='S') || (palletNo.charAt(palletNo.trim().length()-1)=='B') ||
(palletNo.charAt(palletNo.trim().length()-1)=='X') || (palletNo.charAt(palletNo.trim().length()-1)=='U') ||
(palletNo.charAt(palletNo.trim().length()-1)=='P') || (palletNo.charAt(palletNo.trim().length()-1)=='R') //Changed by wasim on 02-05-2016 to consider rejected location with suffix R
? palletNo.substring(0,palletNo.trim().length()-1):palletNo;
System.out.println("Pallet No After removing suffix: "+palletNo);
//Changed by wasim on 23-01-2016 to consider other suffix locations aprt from Q [END]
HashMap<String, String> awmsMap = new HashMap<String, String>();
awmsMap.put("ITEM_CODE", itemCode);
awmsMap.put("REF_ID", refId);
//Changed by Jagruti Shinde Request id:[W16CSUN009]
//awmsMap.put("REF_SER", refSerSwms);
awmsMap.put("REF_SER", shDescr);
awmsMap.put("TRAN_DATE", checkNullAndTrim(String.valueOf(today)));
awmsMap.put("QTY_PER_ART", qtyPerArt);
awmsMap.put("LOT_NO", lotNo);
awmsMap.put("LOT_SL", lotSl);
awmsMap.put("QUANTITY", noArt);
awmsMap.put("TOTAL_QTY", quantity);
awmsMap.put("PALLET_NO", palletNo);
awmsMap.put("LINE_NO", lineNo);
awmsMap.put("UNIT", unit);
awmsMap.put("FAMILY_GRP", "");
awmsMap.put("TRAN_ID", "");
awmsMap.put("IN_OUT", "S");
awmsMap.put("EXP_DATE", expiryDate);
awmsMap.put("MFG_DATE", mfgDate);
awmsMap.put("PALLET_STATUS", palletStatus);
awmsMap.put("MSG_STAT", "N");
if(damageLocArryKList.contains(lockCode.trim())){
lockStat = "DAMAGE";
}
else if(holdLocArryKList.contains(lockCode.trim())){
lockStat = "HOLD";
}
//Changed by Jagruti Shinde Request id:[W16CSUN009][start]
else if(rejectedLocArryList.contains(lockCode.trim())){
lockStat = "REJ";
}
//Changed by Jagruti Shinde Request id:[W16CSUN009][End]
awmsMap.put("LOCK_STAT", lockStat);
awmsMap.put("ERR_COD", "");
awmsMap.put("ERR_DESC", "");
awmsMap.put("QC_TYPE", "");
awmsMap.put("TRANS_DT_ACK", "");
awmsMap.put("STRO_PREF", "");
awmsIntrArrList.add(awmsMap);
System.out.println("AWMS HashMap:"+awmsMap);
if(awmsIntrArrList.size() > 0)
{
connUtil.updateAwmsInterface(awmsIntrArrList, siteCode, conn);
awmsIntrArrList.clear();
System.out.println("Record insert sucessfully::");
}
}
System.out.println("AWMS Interface List:"+awmsIntrArrList);
}
}
if(pstmtHold != null)
{
pstmtHold.close();
pstmtHold = null;
}
if (rsHold != null)
{
rsHold.close();
rsHold = null;
}
}
catch(Exception e)
{
......@@ -314,6 +394,26 @@ public class StatusChangeRequest implements Schedule {
rs.close();
rs = null;
}
if(pstmtHold != null)
{
pstmtHold.close();
pstmtHold = null;
}
if (rsHold != null)
{
rsHold.close();
rsHold = null;
}
if(pstmtCount != null)
{
pstmtCount.close();
pstmtCount = null;
}
if (rsCount != null)
{
rsCount.close();
rsCount = null;
}
if (conn != null)
{
conn.close();
......
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