Commit 26cbe59b authored by dpawar's avatar dpawar

added source in check potency method for allocation stock


git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@100056 ce508802-f39f-4f6c-b175-0d175dae99d5
parent b45998b1
...@@ -77,6 +77,7 @@ import java.util.ArrayList; ...@@ -77,6 +77,7 @@ import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Map; import java.util.Map;
...@@ -116,20 +117,24 @@ import ibase.webitm.utility.TransIDGenerator; ...@@ -116,20 +117,24 @@ import ibase.webitm.utility.TransIDGenerator;
@javax.ejb.Stateless @javax.ejb.Stateless
public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFirmplanPrcRemote //SessionBean public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFirmplanPrcRemote //SessionBean
{ {
ArrayList<WorderStkBean> worderStkBeanListTemp = new ArrayList<WorderStkBean>();
GenericUtility genericUtility = GenericUtility.getInstance(); GenericUtility genericUtility = GenericUtility.getInstance();
ArrayList<WorkOrderDetailBean> workOrderBeanList = new ArrayList<WorkOrderDetailBean>(); ArrayList<WorkOrderDetailBean> workOrderBeanList = new ArrayList<WorkOrderDetailBean>();
ArrayList<WorderStkBean> worderStkBeanList = new ArrayList<WorderStkBean>(); ArrayList<WorderStkBean> worderStkBeanList = new ArrayList<WorderStkBean>();
ArrayList<WorderStkBean> tempWorderStkBeanList = new ArrayList<WorderStkBean>(); ArrayList<WorderStkBean> tempWorderStkBeanList = new ArrayList<WorderStkBean>();
//ArrayList<WorderStkBean> tempWorderStkBeanList = new ArrayList<WorderStkBean>();
ArrayList<SiteItemSummaryBean> siteItemReqQtyList = new ArrayList<SiteItemSummaryBean>(); ArrayList<SiteItemSummaryBean> siteItemReqQtyList = new ArrayList<SiteItemSummaryBean>();
Map<String,String>firmplanDetailMap = new HashMap<String,String>(); Map<String,String>firmplanDetailMap = new HashMap<String,String>();
Map<String,String>doneStockDetailsMap = new HashMap<String,String>(); Map<String,String>doneStockDetailsMap = new HashMap<String,String>();
Map<String,String> transTranMap = new HashMap<String,String>(); Map<String,String> transTranMap = new HashMap<String,String>();
Map<String,String> saleDistOrderMap = new HashMap<String,String>(); Map<String,String> saleDistOrderMap = new HashMap<String,String>();
CommonConstants commonConstantsObj = new CommonConstants(); CommonConstants commonConstantsObj = new CommonConstants();
ArrayList<String> workOrderList = new ArrayList<String>();
String database = commonConstantsObj.DB_NAME; String database = commonConstantsObj.DB_NAME;
String campgnNoGlb = "",chgUser,termId = "",xtraParamsG = ""; String campgnNoGlb = "",chgUser,termId = "",xtraParamsG = "";
DistCommon disCommon = new DistCommon();
DecimalFormat df = new DecimalFormat("#.###"); DecimalFormat df = new DecimalFormat("#.###");
boolean isError = false,isReallocation = false;
public String process() throws RemoteException,ITMException public String process() throws RemoteException,ITMException
{ {
return ""; return "";
...@@ -216,12 +221,13 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -216,12 +221,13 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
Connection conn = null; Connection conn = null;
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ArrayList<String> workOrderList = new ArrayList<String>();
ArrayList<String> workOrderErrorList = new ArrayList(); ArrayList<String> workOrderErrorList = new ArrayList();
Map<String,String>stockDetailMap = new HashMap<String,String>(); Map<String,String>stockDetailMap = new HashMap<String,String>();
/**/ /**/
try try
{ {
isError = false;
xtraParamsG = xtraParams; xtraParamsG = xtraParams;
System.out.println("xtraParams----->>["+xtraParams+"]"); System.out.println("xtraParams----->>["+xtraParams+"]");
chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode"); chgUser = genericUtility.getValueFromXTRA_PARAMS(xtraParams,"loginEmpCode");
...@@ -232,9 +238,9 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -232,9 +238,9 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
connDriver = null; connDriver = null;
workOrder = checkNull(genericUtility.getColumnValue("work_order",headerDom)); workOrder = checkNull(genericUtility.getColumnValue("work_order",headerDom));
campgnNo = checkNull(genericUtility.getColumnValue("campgn_no",headerDom)); campgnNo = checkNull(genericUtility.getColumnValue("campgn_no",headerDom));
leastExpdtActivRm = checkNull(genericUtility.getColumnValue("least_expdt_active_rm",headerDom)); //leastExpdtActivRm = checkNull(genericUtility.getColumnValue("least_expdt_active_rm",headerDom));
System.out.println("workOrder----->>["+workOrder+"] campgnNo---->>["+campgnNo+"]"); System.out.println("workOrder----->>["+workOrder+"] campgnNo---->>["+campgnNo+"]");
System.out.println("leastExpdtActivRm----->>["+leastExpdtActivRm+"]"); //System.out.println("leastExpdtActivRm----->>["+leastExpdtActivRm+"]");
if(workOrder.length() > 0 || campgnNo.length() > 0) if(workOrder.length() > 0 || campgnNo.length() > 0)
{ {
...@@ -276,16 +282,17 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -276,16 +282,17 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
if(isSufficient) if(isSufficient)
{ {
//stock sufficient //stock sufficient
potencyRetStr = checkStockPotencyNew(conn);
//displayStkBean(workOrderBeanList, "H");
//displayStkBean(worderStkBeanList, "D");
//potencyRetStr = checkStockPotency(conn); //potencyRetStr = checkStockPotency(conn);
displayStkBean(workOrderBeanList, "H");
displayStkBean(worderStkBeanList, "D");
//potencyRetStr = checkStockPotency(conn);
System.out.println("After checkStockPotency :["+potencyRetStr+"]"); System.out.println("After checkStockPotency :["+potencyRetStr+"]");
//displayStkBean("After check potency...................."); //displayStkBean("After check potency....................");
errString = populateWorkOrderBill(conn); errString = populateWorkOrderBill(conn);
System.out.println("After populateWorkOrderBill :["+errString+"]"); System.out.println("After populateWorkOrderBill :["+errString+"]");
displayStkBean(workOrderBeanList, "H"); //displayStkBean(workOrderBeanList, "H");
displayStkBean(worderStkBeanList, "D"); //displayStkBean(worderStkBeanList, "D");
errString = insertInInvAllocate(conn); errString = insertInInvAllocate(conn);
errString = createDistSaleOrder(conn); errString = createDistSaleOrder(conn);
//CreateDistSorderAllocation //CreateDistSorderAllocation
...@@ -300,18 +307,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -300,18 +307,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
} }
else else
{ {
errString = generateXml(conn);
} }
} }
} }
catch(Exception e) catch(Exception e)
{ {
isError = true;
System.out.println("Exception in processWorkOrder method------- "); System.out.println("Exception in processWorkOrder method------- ");
errString = e.getMessage(); errString = e.getMessage();
e.printStackTrace(); e.printStackTrace();
...@@ -320,17 +324,41 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -320,17 +324,41 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
} }
finally finally
{ {
System.out.println("In finally processWorkOrder errString : ["+errString+"]"); System.out.println("Transaction rollbaking............@@");
if(errString!= null && errString.length() > 0) conn.rollback();
System.out.println("1 In @@finally processWorkOrder errString : ["+errString+"]");
System.out.println("In @@finally processWorkOrder isError : ["+isError+"]");
if(isError)
{ {
System.out.println("Transaction rollbaking...................."); errString="VTPRCNC";
conn.rollback(); errString = itmDBAccessEJB.getErrorString("",errString,"","",conn);
} }
else
if(genericUtility != null)
{
genericUtility = null;
}
workOrderBeanList.clear();
worderStkBeanList.clear();
siteItemReqQtyList.clear();
firmplanDetailMap.clear();
transTranMap.clear();
doneStockDetailsMap.clear();
saleDistOrderMap.clear();
commonConstantsObj = null;
System.out.println("2 In @@finally isSufficient ["+isSufficient+"]");
if(isSufficient && errString.indexOf("workorders") > -1)
{ {
System.out.println("Transaction commiting...................."); System.out.println("Transaction commiting....................");
conn.commit(); conn.commit();
} }
else
{
System.out.println("Transaction rollbaking....................");
conn.rollback();
}
if(rs != null) if(rs != null)
{ {
rs.close(); rs.close();
...@@ -359,14 +387,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -359,14 +387,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
{ {
Map<String,String> detailMap = new HashMap<String,String>(); Map<String,String> detailMap = new HashMap<String,String>();
Map<String,String> stockReturnMap = new HashMap<String,String>(); Map<String,String> stockReturnMap = new HashMap<String,String>();
int count = 0; int count = -1;
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ArrayList<String>otherSiteCodeList = new ArrayList<String>(); HashSet<String>otherSiteCodeSet = new HashSet<String>();
double balanceQty = 0; double balanceQty = 0;
boolean isSufficient = false; boolean isSufficient = false;
String errorCodeRet = "",sql = "",issCriteria = "",controlledYn = "",locGroup = "",lotNoIssue = ""; String errorCodeRet = "",sql = "",issCriteria = "",controlledYn = "",locGroup = "",lotNoIssue = "";
System.out.println(" -------------- Inside stockAllocation --------------------- "); System.out.println(" -------------- Inside stockAllocation --------------------- ");
System.out.println("workOrderBeanList size : "+workOrderBeanList.size());
try try
{ {
//check stock //check stock
...@@ -375,7 +404,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -375,7 +404,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
for(WorkOrderDetailBean tempWorderObj : workOrderBeanList) for(WorkOrderDetailBean tempWorderObj : workOrderBeanList)
{ {
count++; count++;
System.out.println("["+tempWorderObj.getItemCode()+"] item main workorder xml -------------->>"+count); System.out.println("["+tempWorderObj.getItemCode()+"] item main workorder xml -------------->>"+count + " Exp lev..."+tempWorderObj.getExpLev());
sql = "select iss_criteria,controlled_yn from item where item_code = ? "; sql = "select iss_criteria,controlled_yn from item where item_code = ? ";
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setString(1, tempWorderObj.getItemCode()); pstmt.setString(1, tempWorderObj.getItemCode());
...@@ -436,11 +465,12 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -436,11 +465,12 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
detailMap.put("ITEM_CATEGORY", tempWorderObj.getItemCategory()); detailMap.put("ITEM_CATEGORY", tempWorderObj.getItemCategory());
detailMap.put("IS_ALTERNATE", "N"); detailMap.put("IS_ALTERNATE", "N");
detailMap.put("OTHER_SITE", "N"); detailMap.put("OTHER_SITE", "N");
detailMap.put("STOCK_DETAIL", "N");
System.out.println("WORK_ORDER : "+detailMap.get("WORK_ORDER")); System.out.println("WORK_ORDER : "+detailMap.get("WORK_ORDER"));
System.out.println("USAGE_TYPE : "+detailMap.get("USAGE_TYPE")); System.out.println("USAGE_TYPE : "+detailMap.get("USAGE_TYPE"));
System.out.println("ALLOCATE_TYPE : "+detailMap.get("ALLOCATE_TYPE")); System.out.println("ALLOCATE_TYPE : "+detailMap.get("ALLOCATE_TYPE"));
//IS_ALTERNATE
if("R".equalsIgnoreCase(detailMap.get("USAGE_TYPE")) && (! "N".equalsIgnoreCase(detailMap.get("ALLOCATE_TYPE")) ) ) if("R".equalsIgnoreCase(detailMap.get("USAGE_TYPE")) && (! "N".equalsIgnoreCase(detailMap.get("ALLOCATE_TYPE")) ) )
{ {
// First Check stock in reserve location (inv_alloc_det) // First Check stock in reserve location (inv_alloc_det)
...@@ -448,13 +478,16 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -448,13 +478,16 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
if(!"O".equalsIgnoreCase(detailMap.get("ALLOCATE_TYPE")) ) if(!"O".equalsIgnoreCase(detailMap.get("ALLOCATE_TYPE")) )
{ {
stockReturnMap = checkReserveStock(detailMap, conn); stockReturnMap = checkReserveStock(detailMap, conn);
System.out.println("checkReserveStock return map : "+stockReturnMap); System.out.println("checkReserveStock1 return map : "+stockReturnMap);
balanceQty = Double.parseDouble(stockReturnMap.get("BALANCE_QTY")); balanceQty = Double.parseDouble(stockReturnMap.get("BALANCE_QTY"));
errorCodeRet = stockReturnMap.get("ERROR_CODE"); errorCodeRet = stockReturnMap.get("ERROR_CODE");
isSufficient = Boolean.parseBoolean(stockReturnMap.get("IS_SUFFICIENT")); isSufficient = Boolean.parseBoolean(stockReturnMap.get("IS_SUFFICIENT"));
if(isSufficient ) if(isSufficient )
{ {
System.out.println("Sufficient in 1 reserve stock.......................");
tempWorderObj.setSufficient("Y");
workOrderBeanList.set(count, tempWorderObj);
continue; continue;
} }
detailMap.put("BALANCE_QTY", String.valueOf(balanceQty) ); detailMap.put("BALANCE_QTY", String.valueOf(balanceQty) );
...@@ -472,16 +505,20 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -472,16 +505,20 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
stockReturnMap.clear(); stockReturnMap.clear();
if(! isSufficient ) if(! isSufficient )
{ {
detailMap.put("STOCK_DETAIL", "Y");
stockReturnMap = checkCurrentSiteStock(detailMap ,conn);//getSuppStockQty stockReturnMap = checkCurrentSiteStock(detailMap ,conn);//getSuppStockQty
} }
else else
{ {
tempWorderObj.setSufficient("Y");
workOrderBeanList.set(count, tempWorderObj);
continue; continue;
} }
} }
else else
{ {
stockReturnMap = checkCurrentSiteStock(detailMap ,conn);//getSuppStockQty stockReturnMap = checkCurrentSiteStock(detailMap ,conn);//getSuppStockQty
} }
System.out.println("@checkCurrentSiteStock return map@ : "+stockReturnMap); System.out.println("@checkCurrentSiteStock return map@ : "+stockReturnMap);
...@@ -492,6 +529,13 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -492,6 +529,13 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
System.out.println("@errorCodeRet @ : "+errorCodeRet); System.out.println("@errorCodeRet @ : "+errorCodeRet);
System.out.println("@isSufficient @ : "+isSufficient); System.out.println("@isSufficient @ : "+isSufficient);
System.out.println("@ ALLOCATE_TYPE@ : "+detailMap.get("ALLOCATE_TYPE")); System.out.println("@ ALLOCATE_TYPE@ : "+detailMap.get("ALLOCATE_TYPE"));
if( isSufficient )
{
tempWorderObj.setSufficient("Y");
workOrderBeanList.set(count, tempWorderObj);
continue;
}
/*if(errorCodeRet.length() > 0) /*if(errorCodeRet.length() > 0)
{ {
//return error message //return error message
...@@ -505,6 +549,14 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -505,6 +549,14 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
{ {
detailMap.put("BALANCE_QTY", String.valueOf(balanceQty) ); detailMap.put("BALANCE_QTY", String.valueOf(balanceQty) );
stockReturnMap = checkForAlternateItem(detailMap, conn); stockReturnMap = checkForAlternateItem(detailMap, conn);
System.out.println("@@checkForAlternateItem Current site @@ : "+stockReturnMap);
isSufficient = Boolean.parseBoolean(stockReturnMap.get("IS_SUFFICIENT"));
if( isSufficient )
{
tempWorderObj.setSufficient("Y");
workOrderBeanList.set(count, tempWorderObj);
continue;
}
System.out.println("checkForAlternateItem Current site return map : "+stockReturnMap); System.out.println("checkForAlternateItem Current site return map : "+stockReturnMap);
} }
...@@ -515,9 +567,9 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -515,9 +567,9 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
//--------------------Third check stock in other site-------------------------------- //--------------------Third check stock in other site--------------------------------
if(! isSufficient) if(! isSufficient)
{ {
if(otherSiteCodeList.size() > 0) if(otherSiteCodeSet.size() > 0)
{ {
otherSiteCodeList.clear(); otherSiteCodeSet.clear();
} }
//Get all site_code from site_repl_pref for current Work order site. //Get all site_code from site_repl_pref for current Work order site.
sql = "select site_code__supp,trans_tran from site_repl_pref where site_code = ? order by pref_order "; sql = "select site_code__supp,trans_tran from site_repl_pref where site_code = ? order by pref_order ";
...@@ -526,20 +578,20 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -526,20 +578,20 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
rs = pstmt.executeQuery(); rs = pstmt.executeQuery();
while(rs.next()) while(rs.next())
{ {
otherSiteCodeList.add(checkNull(rs.getString("site_code__supp"))); otherSiteCodeSet.add(checkNull(rs.getString("site_code__supp")));
transTranMap.put(detailMap.get("SITE_CODE")+":"+checkNull(rs.getString("site_code__supp")), checkNull(rs.getString("trans_tran"))) ; transTranMap.put(detailMap.get("SITE_CODE")+":"+checkNull(rs.getString("site_code__supp")), checkNull(rs.getString("trans_tran"))) ;
} }
rs.close(); rs.close();
rs = null; rs = null;
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
System.out.println("otherSiteCodeList :"+otherSiteCodeList); System.out.println("otherSiteCodeList :"+otherSiteCodeSet);
detailMap.put("SITE_CODE__SHIP", detailMap.get("SITE_CODE")); detailMap.put("SITE_CODE__SHIP", detailMap.get("SITE_CODE"));
for(String suppSiteCode : otherSiteCodeList) for(String suppSiteCode : otherSiteCodeSet)
{ {
System.out.println("--------For site Code------------"+suppSiteCode); System.out.println("--------For site Code------------"+suppSiteCode);
detailMap.put("OTHER_SITE", "Y"); detailMap.put("OTHER_SITE", "Y");
detailMap.put("SITE_CODE", suppSiteCode); //update new site code detailMap.put("SITE_CODE", suppSiteCode); //update new site code
stockReturnMap = checkCurrentSiteStock(detailMap, conn);//Check for Other site stockReturnMap = checkCurrentSiteStock(detailMap, conn);//Check for Other site
...@@ -563,6 +615,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -563,6 +615,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
{ {
continue; continue;
} }
//set is Sufficient
} //end for loop } //end for loop
} }
} }
...@@ -872,11 +926,11 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -872,11 +926,11 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
ResultSet rs= null; ResultSet rs= null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
String sql = "",useInvStatus = "",mfgRef = "",qcReqd = "",dimension ="",allocRetStr = "", String sql = "",useInvStatus = "",mfgRef = "",qcReqd = "",dimension ="",allocRetStr = "",
trackShelfLife = "",locGroup = "",lotNoIssue = "",sqlString = ""; trackShelfLife = "",locGroup = "",lotNoIssue = "",sqlString = "",itemDescr = "";
int count = 0; int count = 0;
boolean isMatchPotency = false,isCompareDimension = false,isSufficient = false; boolean isMatchPotency = false,isCompareDimension = false,isSufficient = false;
double trimWidth = 0,requiredQty = 0,softAllocQty = 0,balanceQty = 0; double trimWidth = 0,requiredQty = 0,softAllocQty = 0,balanceQty = 0,shortageQty = 0;
String locCode = "",lotNo = "",lotSl = "",unit = "",siteCodeMfg = "",itemSer = "",packCode = "",expDate = "",alternateItem = "", String locCode = "",lotNo = "",lotSl = "",unit = "",siteCodeMfg = "",itemSer = "",packCode = "",expDate = "",alternateItem = "",
mfgDate= "",stkKey = "",otherSite = "",errorCode = "",issCriteria = "",controlledYn = "",matchPotency = ""; mfgDate= "",stkKey = "",otherSite = "",errorCode = "",issCriteria = "",controlledYn = "",matchPotency = "";
double stkQuantity = 0,stkPotencyPerc = 0,allocQty = 0,minPotencyPerc = 0; double stkQuantity = 0,stkPotencyPerc = 0,allocQty = 0,minPotencyPerc = 0;
...@@ -963,8 +1017,17 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -963,8 +1017,17 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
shortageQty = Double.parseDouble(detailMap.get("BALANCE_QTY"));
System.out.println("shortageQty......................"+shortageQty);
if(shortageQty> 0)
{
requiredQty = shortageQty;
}
else
{
requiredQty = Double.parseDouble(detailMap.get("QUANTITY"));
}
requiredQty = Double.parseDouble(detailMap.get("QUANTITY"));
if("W".equalsIgnoreCase(issCriteria)) if("W".equalsIgnoreCase(issCriteria))
{ {
detailMap.put("DETAIL_SUM", "S"); detailMap.put("DETAIL_SUM", "S");
...@@ -1025,6 +1088,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1025,6 +1088,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
WorderStkBean worderStkBeanObj = new WorderStkBean(); WorderStkBean worderStkBeanObj = new WorderStkBean();
System.out.println("otherSite------>>"+otherSite); System.out.println("otherSite------>>"+otherSite);
worderStkBeanObj.setItemCode(detailMap.get("ITEM_CODE")); worderStkBeanObj.setItemCode(detailMap.get("ITEM_CODE"));
itemDescr = getColumnDescr(conn, "descr", "item", "item_code", detailMap.get("ITEM_CODE"));
worderStkBeanObj.setItemDescr(itemDescr);
worderStkBeanObj.setLocCode(locCode); worderStkBeanObj.setLocCode(locCode);
worderStkBeanObj.setLotNo(lotNo); worderStkBeanObj.setLotNo(lotNo);
worderStkBeanObj.setLotSl(lotSl); worderStkBeanObj.setLotSl(lotSl);
...@@ -1044,9 +1109,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1044,9 +1109,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
worderStkBeanObj.setCritItem(detailMap.get("CRIT_ITEM")); worderStkBeanObj.setCritItem(detailMap.get("CRIT_ITEM"));
worderStkBeanObj.setDimension(dimension); worderStkBeanObj.setDimension(dimension);
worderStkBeanObj.setAlternateItem(alternateItem); worderStkBeanObj.setAlternate(alternateItem);
worderStkBeanObj.setReserveStk("N"); worderStkBeanObj.setReserveStk("N");
worderStkBeanObj.setOtherSiteYN(otherSite); worderStkBeanObj.setOtherSiteYN(otherSite);
worderStkBeanObj.setIsStockDetail("Y");
...@@ -1131,7 +1197,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1131,7 +1197,15 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
System.out.println("allocRetStr :"+allocRetStr); System.out.println("allocRetStr :"+allocRetStr);
} }
System.out.println("Adding stk..........."+worderStkBeanObj.getStockSufficient()); System.out.println("Adding stk..........."+worderStkBeanObj.getStockSufficient());
worderStkBeanList.add(worderStkBeanObj); if(isReallocation)
{
tempWorderStkBeanList.add(worderStkBeanObj);
}
else
{
worderStkBeanList.add(worderStkBeanObj);
}
System.out.println("Added stk..........."+isSufficient); System.out.println("Added stk..........."+isSufficient);
if(isSufficient) if(isSufficient)
{ {
...@@ -1285,127 +1359,376 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1285,127 +1359,376 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
System.out.println("in checkStockPotency.........."); System.out.println("in checkStockPotency..........");
String workOrder = "",expLevel = "",matchPotency = "",adjPotency = "",itemCode = ""; String workOrder = "",expLevel = "",matchPotency = "",adjPotency = "",itemCode = "";
int index = -1; int index = -1;
double proQty=0;
double requiredStock = 0,availableStock = 0,potencyAdj = 0,stkPotencyPerc = 0,balanceQty = 0, double requiredStock = 0,availableStock = 0,potencyAdj = 0,stkPotencyPerc = 0,balanceQty = 0,
tempStock = 0,matchQty = 0,totalPro = 0,stockAllocAddN = 0,shortageQty = 0; tempStock = 0,matchQty = 0,totalPro = 0,stockAllocAddN = 0,shortageQty = 0,updQty = 0;
Map<String,Double>potencyAdjMapY = new HashMap<String,Double>(); Map<String,Double>potencyAdjMapY = null;
Map<String,Double>potencyAdjMapN = new HashMap<String,Double>(); Map<String,Double>potencyAdjMapYTemp = null;
Map<String,Double>potencyAdjMapN = null;
Map<String,Double>requiredQtyAddMap = new HashMap<String,Double>(); Map<String,Double>requiredQtyAddMap = new HashMap<String,Double>();
Map<String,Double>stockAllocAddNMap = new HashMap<String,Double>(); Map<String,Double>stockAllocAddNMap = new HashMap<String,Double>();
Map<String,Double> AdjPotencyExplevQtyMap = null;
ArrayList<WorkOrderDetailBean> tempWorderBeanList = new ArrayList<WorkOrderDetailBean>(); ArrayList<WorkOrderDetailBean> tempWorderBeanList = new ArrayList<WorkOrderDetailBean>();
ArrayList<WorderStkBean> tempWorderStkBeanList = new ArrayList<WorderStkBean>();
tempWorderBeanList = workOrderBeanList; //tempWorderBeanList = workOrderBeanList;
tempWorderStkBeanList = worderStkBeanList; //tempWorderStkBeanList = worderStkBeanList;
int count = 0; int count = -1;
try try
{ {
for(WorkOrderDetailBean worderDetailBeanObj : tempWorderBeanList)
for(String workOrderPotency : workOrderList)
{ {
count++; potencyAdjMapY = new HashMap<String,Double>();
System.out.println("potency calculation-------------------->>"+count); potencyAdjMapN = new HashMap<String,Double>();
index = 0; AdjPotencyExplevQtyMap = new HashMap<String,Double>();
workOrder = worderDetailBeanObj.getWorkOrder(); count = -1;
expLevel = worderDetailBeanObj.getExpLev(); for(WorkOrderDetailBean worderDetailBeanObj : workOrderBeanList)
matchPotency = worderDetailBeanObj.getMatchPotency();
adjPotency = worderDetailBeanObj.getAdjPotency();
requiredStock = worderDetailBeanObj.getQuantity();
shortageQty = requiredStock;
System.out.println("MatchPotency---------->>["+matchPotency+"]");
for(WorderStkBean worderStkBeanObj : tempWorderStkBeanList)
{ {
index++; count++;
if(workOrder.equalsIgnoreCase(worderStkBeanObj.getWorkOrder()) && expLevel.equalsIgnoreCase(worderStkBeanObj.getExpLevel())) System.out.println("potency calculation-------------------->>"+count);
index = -1;
workOrder = worderDetailBeanObj.getWorkOrder().trim();
expLevel = worderDetailBeanObj.getExpLev().trim();
matchPotency = worderDetailBeanObj.getMatchPotency();
adjPotency = worderDetailBeanObj.getAdjPotency();
requiredStock = worderDetailBeanObj.getQuantity();
shortageQty = requiredStock;
System.out.println("MatchPotency---------->>["+matchPotency+"]");
if(!workOrderPotency.trim().equalsIgnoreCase(workOrder.trim()))
{ {
availableStock = worderStkBeanObj.getStkQuantity(); continue;
stkPotencyPerc = worderStkBeanObj.getStkPotencyPerc(); }
if("Y".equalsIgnoreCase(matchPotency)) ListIterator<WorderStkBean> iterator = worderStkBeanList.listIterator();
{ //for(WorderStkBean worderStkBeanObj : worderStkBeanList)
if(shortageQty <= availableStock) while(true)
{ {
//sufficient stock index = -1;
//potency adjustment = ( required quantity /stock potency * standard potency) - required quantity if(isReallocation)
potencyAdj = ( shortageQty /stkPotencyPerc * getItemStandardPotency(itemCode, conn)) - shortageQty;
potencyAdj = Double.parseDouble(df.format(potencyAdj));
System.out.println("potencyAdj----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(Double.parseDouble(df.format(potencyAdj)));
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(shortageQty + potencyAdj)));//Stock quantity equvalent to
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(shortageQty)));
System.out.println("potencyAdj----->>["+potencyAdj+"]");
System.out.println("setAllocQty----->>["+shortageQty+"]");
}
else
{
//sufficient not stock
//potency adjustment = ( stock quantity - (stock quantity * stock potency / standard potency) )
potencyAdj = availableStock - (availableStock * getItemStandardPotency(itemCode, conn) / stkPotencyPerc);
potencyAdj = Double.parseDouble(df.format(potencyAdj));
System.out.println("potencyAdj----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(potencyAdj);
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(availableStock + potencyAdj))); //Stock quantity equvalent to
availableStock = Double.parseDouble(df.format(availableStock));
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(availableStock)));
shortageQty = shortageQty - (availableStock + potencyAdj);
shortageQty = Double.parseDouble(df.format(shortageQty));
System.out.println("shortageQty----->>["+shortageQty+"]");
System.out.println("setAllocQty----->>["+Double.parseDouble(df.format(availableStock))+"]");
}
if(potencyAdjMapY.containsKey(workOrder+":"+expLevel+":"+adjPotency))
{
potencyAdjMapY.put(workOrder+":"+expLevel+":"+adjPotency, (potencyAdjMapY.get(adjPotency) + potencyAdj ));
}
else
{
potencyAdjMapY.put(workOrder+":"+expLevel+":"+adjPotency, potencyAdj );
}
worderStkBeanList.set(index, worderStkBeanObj);
}
else
{ {
System.out.println("match potency N inner..........."); shortageQty = requiredStock;
//adding same adjPotency code.
if(potencyAdjMapN.containsKey(adjPotency)) for(WorderStkBean tempStkObj : tempWorderStkBeanList)
{
potencyAdjMapN.put(workOrder+":"+expLevel+":"+adjPotency, (potencyAdjMapN.get(adjPotency) + potencyAdj ));
}
else
{ {
potencyAdjMapN.put(workOrder+":"+expLevel+":"+adjPotency, potencyAdj ); worderStkBeanList.add(tempStkObj);
} }
tempWorderStkBeanList.clear();
iterator = worderStkBeanList.listIterator();
} }
while(iterator.hasNext())
{
updQty = 0;
index++;
WorderStkBean worderStkBeanObj = iterator.next();
System.out.println("workOrder----->>["+workOrder+"] ["+worderStkBeanObj.getWorkOrder()+"]");
System.out.println("expLevel----->>["+expLevel+"] ["+worderStkBeanObj.getExpLevel()+"]");
if(workOrder.equalsIgnoreCase(worderStkBeanObj.getWorkOrder().trim()) && expLevel.equalsIgnoreCase(worderStkBeanObj.getExpLevel().trim()))
{
availableStock = worderStkBeanObj.getStkQuantity();
stkPotencyPerc = worderStkBeanObj.getStkPotencyPerc();
itemCode = worderStkBeanObj.getItemCode();
if("Y".equalsIgnoreCase(matchPotency))
{
System.out.println(" Y shortageQty-- AVA--->>["+shortageQty+"] ["+availableStock+"]");
double ItemStdPotency = getItemStandardPotency(itemCode, conn);
double reqQtyNew = shortageQty * ItemStdPotency / stkPotencyPerc;
reqQtyNew = Double.parseDouble(df.format(reqQtyNew));
System.out.println("shortageQty@@----------->>"+shortageQty);
System.out.println("reqQtyNew----------->>"+reqQtyNew);
if(availableStock >= reqQtyNew)
{
//sufficient stock
//potency adjustment = ( required quantity /stock potency * standard potency) - required quantity
System.out.println("Sufficient----->>["+shortageQty+"] ["+availableStock+"]");
potencyAdj = ( shortageQty /stkPotencyPerc * ItemStdPotency) - shortageQty;
potencyAdj = Double.parseDouble(df.format(potencyAdj));
System.out.println("potencyAdj----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(Double.parseDouble(df.format(potencyAdj)));
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(shortageQty + potencyAdj)));//Stock quantity equvalent to
worderStkBeanObj.setActualAllocQty(shortageQty);
updQty = shortageQty + potencyAdj;
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(shortageQty + potencyAdj)));
worderStkBeanObj.setUpdQty(reqQtyNew);
System.out.println("uPDqTY------------Y------------->>["+reqQtyNew+"]");
System.out.println("shortageQty----Y---->>["+shortageQty+"]");
System.out.println("expLevel----->>["+expLevel+"]");
shortageQty = 0;
if(potencyAdjMapY.containsKey(adjPotency) )
{
potencyAdjMapY.put(adjPotency, (potencyAdjMapY.get(adjPotency) + potencyAdj ));
}
else
{
potencyAdjMapY.put(adjPotency, potencyAdj );
}
}
else
{
//sufficient not stock
//potency adjustment = ( stock quantity - (stock quantity * stock potency / standard potency) )
if(shortageQty > 0 && !iterator.hasNext())
{
//worderStkBeanList.set(index, worderStkBeanObj);
// double shrtQty = updQty - availableStock;
System.out.println("isReallocation------------------->>"+isReallocation);
System.out.println("shortageQty------------------->>"+shortageQty);
System.out.println("availableStock------------------->>"+availableStock);
isReallocation = true;
worderStkBeanObj.setUpdQty(availableStock);
System.out.println("uPDqTY------------n------------->>["+availableStock+"]");
//allocate new stock because stock not sufficient
HashMap<String,String> detailMap = new HashMap<String,String>();
detailMap.put("USE_INV_STATUS", worderDetailBeanObj.getUseInvStatus());
detailMap.put("SUPP_CODE_MFG", worderDetailBeanObj.getSuppCodeMfg());
detailMap.put("DIMENSION", worderDetailBeanObj.getDimension());
detailMap.put("MIN_POTENCY_PERC", String.valueOf(worderDetailBeanObj.getMinPotencyPerc()) );
detailMap.put("EXP_LEV", worderDetailBeanObj.getExpLev());
detailMap.put("OPERATION", ""+worderDetailBeanObj.getOperation());
detailMap.put("CRIT_ITEM", worderDetailBeanObj.getCritItem());
detailMap.put("ITEM_REF", worderDetailBeanObj.getItemRef());
// detailMap.put("ISS_CRITERIA", issCriteria);
//detailMap.put("CONTROLLED_YN", controlledYn);
//detailMap.put("PACK_LOT_NO", lotNoIssue);
// detailMap.put("LOC_GROUP", worderDetailBeanObj.getL);
detailMap.put("BOM_CODE", worderDetailBeanObj.getBomCode());
detailMap.put("ITEM_CODE", worderDetailBeanObj.getItemCode());
detailMap.put("QUANTITY", String.valueOf(worderDetailBeanObj.getQuantity()));
detailMap.put("SITE_CODE", worderDetailBeanObj.getSiteCode());
detailMap.put("UNIT", worderDetailBeanObj.getUnit());
detailMap.put("MATCH_POTENCY", worderDetailBeanObj.getMatchPotency());
detailMap.put("ADJ_POTENCY", worderDetailBeanObj.getAdjPotency());
detailMap.put("USAGE_TYPE", worderDetailBeanObj.getUsageType());
detailMap.put("CONSIDER_LOTNO_ISSUE", worderDetailBeanObj.getConsiderLotNoIssue());
detailMap.put("LOC_USAGE_TYPE", worderDetailBeanObj.getLocUsageType());
detailMap.put("WORK_ORDER", worderDetailBeanObj.getWorkOrder());
detailMap.put("ITEM_ACTIVE", worderDetailBeanObj.getItemActive());
detailMap.put("ALLOCATE_TYPE", worderDetailBeanObj.getAllocateType());
detailMap.put("ITEM_CATEGORY", worderDetailBeanObj.getItemCategory());
detailMap.put("IS_ALTERNATE", "N");
detailMap.put("OTHER_SITE", "N");
detailMap.put("STOCK_DETAIL", "Y");
detailMap.put("BALANCE_QTY",shortageQty+"");
checkCurrentSiteStock(detailMap, conn);
}
else
{
isReallocation = false;
//worderStkBeanObj.setUpdQty(shortageQty + potencyAdj);
System.out.println("UnSufficient----->>["+shortageQty+"] ["+availableStock+"]");
System.out.println("stkPotencyPerc----->>["+stkPotencyPerc+"]");
potencyAdj = availableStock - (availableStock * stkPotencyPerc / ItemStdPotency);
potencyAdj = Double.parseDouble(df.format(potencyAdj));
proQty = availableStock - potencyAdj;
System.out.println("proQty----->>["+proQty+"]");
System.out.println("potencyAdj----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(potencyAdj);
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(availableStock + potencyAdj))); //Stock quantity equvalent to
availableStock = Double.parseDouble(df.format(availableStock));
worderStkBeanObj.setActualAllocQty(availableStock);
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(availableStock + potencyAdj)));
worderStkBeanObj.setUpdQty(availableStock);
shortageQty = shortageQty - proQty;
shortageQty = Double.parseDouble(df.format(shortageQty));
System.out.println("shortageQty----N---->>["+shortageQty+"]");
System.out.println("expLevel----->>["+expLevel+"]");
System.out.println("uPDqTY------------n------------->>["+availableStock+"]");
if(potencyAdjMapY.containsKey(adjPotency))
{
potencyAdjMapY.put(adjPotency, (potencyAdjMapY.get(adjPotency) + potencyAdj ));
}
else
{
potencyAdjMapY.put(adjPotency, potencyAdj );
}
}
}
System.out.println("potencyAdjMapY----->>["+potencyAdjMapY+"]");
System.out.println("adjPotency----->>["+adjPotency+"]");
worderStkBeanList.set(index, worderStkBeanObj);
System.out.println("new@@!..........."+worderDetailBeanObj.getQuantity()+ updQty);
// worderDetailBeanObj.setUpdQty(worderDetailBeanObj.getQuantity()+ updQty);
//workOrderBeanList.set(count, worderDetailBeanObj );
}
else
{
System.out.println(" N adjPotency----->>["+adjPotency+"] ["+availableStock+"]");
if(adjPotency != null && adjPotency.length() > 0)
{
System.out.println("match potency N inner...........");
String unitPotency = getColumnDescr(conn, "unit__potency", "bom", "bom_code", worderDetailBeanObj.getBomCode());
requiredStock = disCommon.convQtyFactor(worderStkBeanObj.getUnit(), unitPotency, worderStkBeanObj.getItemCode(), requiredStock, conn);
System.out.println("requiredStock---After------>>["+requiredStock+"]");
AdjPotencyExplevQtyMap.put(adjPotency+":"+expLevel, requiredStock);
System.out.println("Stk qty---------->>["+worderStkBeanObj.getStkQuantity()+"]");
double qtyPotencyUnit = disCommon.convQtyFactor(worderStkBeanObj.getUnit(), unitPotency, worderStkBeanObj.getItemCode(), worderDetailBeanObj.getQuantity(), conn);
qtyPotencyUnit = qtyPotencyUnit + worderStkBeanObj.getAllocQty();
//double worderStkBeanObj.getStkQuantity();
//adding same adjPotency code.
if(potencyAdjMapN.containsKey(adjPotency))
{
potencyAdjMapN.put(adjPotency, (potencyAdjMapN.get(adjPotency) + qtyPotencyUnit ));
}
else
{
potencyAdjMapN.put(adjPotency, qtyPotencyUnit );
}
}
else
{
System.out.println("in else of adj_potency null1.................."+requiredStock);
//directly set upd qty as bill qty
worderStkBeanObj.setUpdQty(requiredStock);
worderStkBeanList.set(index, worderStkBeanObj);
/*worderDetailBeanObj.setUpdQty(requiredStock);
workOrderBeanList.set(count, worderDetailBeanObj );*/
}
}
}
}//end inner for loop
if(!isReallocation)
{
break;
}
} //End while true
/*worderDetailBeanObj.setUpdQty(potencyAdjMapY.get(worderDetailBeanObj.getAdjPotency()));
workOrderBeanList.set(count, worderDetailBeanObj);*/
System.out.println("AdjustedQty contion.......");
if(potencyAdjMapY.containsKey(adjPotency) && potencyAdjMapN.containsKey(adjPotency))
{
System.out.println("AdjustedQty contion1.......");
//worderDetailBeanObj.setAdjustedQty(-1 * potencyAdjMapY.get(adjPotency));
worderDetailBeanObj.setAdjustedQty(Double.parseDouble(df.format(-1 * potencyAdjMapY.get(adjPotency))));
workOrderBeanList.set(count,worderDetailBeanObj);
} }
}//end main for
System.out.println("potencyAdjMapY---------->>["+potencyAdjMapY+"]");
}//end inner for loop System.out.println("AdjPotencyExplevQtyMap---------->>["+AdjPotencyExplevQtyMap+"]");
System.out.println("potencyAdjMapN---------->>["+potencyAdjMapN+"]");
//calculation for Addition of required quantity for potency calculation is case of match potency N System.out.println("worderStkBeanList---------->>["+worderStkBeanList.size()+"]");
if("N".equalsIgnoreCase(matchPotency)) int indexN = -1;
//shortageQty = 0;
for(Map.Entry<String,Double> entry : potencyAdjMapY.entrySet())
{ {
System.out.println("match potency N outer..........."); String adjPotencyChk = entry.getKey();
if(requiredQtyAddMap.containsKey(adjPotency)) double potencyAdjNew = -1 * (entry.getValue());
{ if(potencyAdjMapN.containsKey(adjPotencyChk))
//Q24 from sheet
requiredQtyAddMap.put(workOrder+":"+expLevel,requiredQtyAddMap.get(adjPotency) + worderDetailBeanObj.getQuantity());
}
else
{ {
requiredQtyAddMap.put(workOrder+":"+expLevel, worderDetailBeanObj.getQuantity()); //AdjPotencyExplevQtyMap
} for(Map.Entry<String,Double> adjPotencyExpLevel : AdjPotencyExplevQtyMap.entrySet())
{
} String splitKey [] = adjPotencyExpLevel.getKey().split(":");
String expLevelNew = splitKey [1];
System.out.println("expLevelNew---------->>["+expLevelNew+"]");
indexN = -1;
for(WorderStkBean worderStkBeanObj : worderStkBeanList)
{
indexN++;
if(workOrderPotency.equalsIgnoreCase(worderStkBeanObj.getWorkOrder()) && expLevelNew.equalsIgnoreCase(worderStkBeanObj.getExpLevel()))
{
availableStock = worderStkBeanObj.getStkQuantity();
/*if(shortageQty <= availableStock )
{*/
//-3.425 * 40 / 90 = -1.5221088435
System.out.println("shortageQty---------->>["+shortageQty+"]");
System.out.println("potencyAdjNew--------->>["+potencyAdjNew+"]");//-93.733
System.out.println("potencyAdjNew--------->>["+adjPotencyExpLevel.getValue()+"]");//31.63
System.out.println("potencyAdjNew--------->>["+potencyAdjMapN.get(adjPotencyChk)+"]");//31.63
double proportionateTotQty = potencyAdjNew * adjPotencyExpLevel.getValue() / potencyAdjMapN.get(adjPotencyChk) ;
proportionateTotQty = Double.parseDouble(df.format(proportionateTotQty));
System.out.println("proportionateTotQty---------->>["+proportionateTotQty+"]");
double PropoQtySum = adjPotencyExpLevel.getValue() + proportionateTotQty;
System.out.println("PropoQtySum---------->>["+PropoQtySum+"]");
PropoQtySum = Double.parseDouble(df.format(PropoQtySum));//38.477
double potencyAdjN = proportionateTotQty * worderStkBeanObj.getStkQuantity()/ PropoQtySum;
System.out.println("potencyAdjN---------->>["+potencyAdjN+"]");
potencyAdjN = Double.parseDouble(df.format(potencyAdjN));
worderStkBeanObj.setPotencyAdj(potencyAdjN);
worderStkBeanObj.setAllocQty(shortageQty + proportionateTotQty);
/*}
else
{
double proportionateTotQty = potencyAdjNew * adjPotencyExpLevel.getValue() / potencyAdjMapN.get(adjPotencyChk) ;
proportionateTotQty = Double.parseDouble(df.format(proportionateTotQty));
double PropoQtySum = worderStkBeanObj.getStkQuantity() - proportionateTotQty;
PropoQtySum = Double.parseDouble(df.format(PropoQtySum));//38.477
double potencyAdjN = proportionateTotQty * worderStkBeanObj.getStkQuantity()/ PropoQtySum;
potencyAdjN = Double.parseDouble(df.format(potencyAdjN));
worderStkBeanObj.setPotencyAdj(potencyAdjN);
worderStkBeanObj.setAllocQty(availableStock);
shortageQty = shortageQty - availableStock;
}*/
worderStkBeanList.set(indexN, worderStkBeanObj);
}
} //end stock bean
} //end AdjPotencyExplevQtyMap
} //end potencyAdjMapN contains
} //end potencyAdjMapY map
}//end main for } //end work order list
System.out.println("potencyAdjMapY---------->>["+potencyAdjMapY+"]");
System.out.println("potencyAdjMapN---------->>["+potencyAdjMapY+"]");
System.out.println("requiredQtyAddMap---------->>["+requiredQtyAddMap+"]");
for(WorkOrderDetailBean worderDetailBeanObj : tempWorderBeanList) /*for(WorkOrderDetailBean worderDetailBeanObj : tempWorderBeanList)
{ {
for (Map.Entry<String, String> entry : map.entrySet()) {
double totAvalQty = 0; double totAvalQty = 0;
int index1 = -1; int index1 = -1;
workOrder = worderDetailBeanObj.getWorkOrder(); workOrder = worderDetailBeanObj.getWorkOrder();
...@@ -1413,6 +1736,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1413,6 +1736,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
matchPotency = worderDetailBeanObj.getMatchPotency(); matchPotency = worderDetailBeanObj.getMatchPotency();
adjPotency = worderDetailBeanObj.getAdjPotency(); adjPotency = worderDetailBeanObj.getAdjPotency();
requiredStock = worderDetailBeanObj.getQuantity(); requiredStock = worderDetailBeanObj.getQuantity();
shortageQty = requiredStock;
System.out.println("Match potency 2nd------>>["+matchPotency+"]"); System.out.println("Match potency 2nd------>>["+matchPotency+"]");
System.out.println("adjPotency 2nd------>>["+adjPotency+"]"); System.out.println("adjPotency 2nd------>>["+adjPotency+"]");
if("N".equalsIgnoreCase(matchPotency)) if("N".equalsIgnoreCase(matchPotency))
...@@ -1423,6 +1747,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1423,6 +1747,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
if(workOrder.equalsIgnoreCase(worderStkBeanObj.getWorkOrder()) && expLevel.equalsIgnoreCase(worderStkBeanObj.getExpLevel())) if(workOrder.equalsIgnoreCase(worderStkBeanObj.getWorkOrder()) && expLevel.equalsIgnoreCase(worderStkBeanObj.getExpLevel()))
{ {
availableStock = worderStkBeanObj.getStkQuantity() ; availableStock = worderStkBeanObj.getStkQuantity() ;
stkPotencyPerc = worderStkBeanObj.getStkPotencyPerc();
if(potencyAdjMapY.containsKey(adjPotency) && potencyAdjMapN.containsKey(adjPotency)) if(potencyAdjMapY.containsKey(adjPotency) && potencyAdjMapN.containsKey(adjPotency))
{ {
double reqQtySum = requiredQtyAddMap.get(workOrder+":"+expLevel); double reqQtySum = requiredQtyAddMap.get(workOrder+":"+expLevel);
...@@ -1445,18 +1770,55 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1445,18 +1770,55 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
worderStkBeanObj.setAllocQty(availableStock); worderStkBeanObj.setAllocQty(availableStock);
worderStkBeanObj.setPotencyAdj(potencyAdj); worderStkBeanObj.setPotencyAdj(potencyAdj);
} }
worderStkBeanList.set(index1, worderStkBeanObj);
} }
else else
{ {
// if adj potency not in both map System.out.println("shortageQty@@@------>>["+shortageQty+"]");
System.out.println("availableStock@@------>>["+availableStock+"]");
System.out.println("stkPotencyPerc@@------>>["+stkPotencyPerc+"]");
// if adj potency not in both map calculation as standard
if(shortageQty <= availableStock)
{
//sufficient stock
//potency adjustment = ( required quantity /stock potency * standard potency) - required quantity
potencyAdj = ( shortageQty /stkPotencyPerc * getItemStandardPotency(itemCode, conn)) - shortageQty;
potencyAdj = Double.parseDouble(df.format(potencyAdj));
System.out.println("potencyAdj@----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(Double.parseDouble(df.format(potencyAdj)));
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(shortageQty + potencyAdj)));//Stock quantity equvalent to
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(shortageQty)));
System.out.println("potencyAdj@----->>["+potencyAdj+"]");
System.out.println("setAllocQty@----->>["+shortageQty+"]");
}
else
{
//sufficient not stock
//potency adjustment = ( stock quantity - (stock quantity * stock potency / standard potency) )
potencyAdj = availableStock - (availableStock * getItemStandardPotency(itemCode, conn) / stkPotencyPerc);
potencyAdj = Double.parseDouble(df.format(potencyAdj));
System.out.println("potencyAdj@----->>["+potencyAdj+"]");
worderStkBeanObj.setPotencyAdj(potencyAdj);
worderStkBeanObj.setStkQuantityNew(Double.parseDouble(df.format(availableStock + potencyAdj))); //Stock quantity equvalent to
availableStock = Double.parseDouble(df.format(availableStock));
worderStkBeanObj.setAllocQty(Double.parseDouble(df.format(availableStock)));
shortageQty = shortageQty - (availableStock + potencyAdj);
shortageQty = Double.parseDouble(df.format(shortageQty));
System.out.println("shortageQty@----->>["+shortageQty+"]");
System.out.println("setAllocQty@----->>["+Double.parseDouble(df.format(availableStock))+"]");
}
worderStkBeanList.set(index1, worderStkBeanObj);
} }
} }
} //end inner for loop } //end inner for loop
} }
} }*/
} }
catch( Exception e) catch( Exception e)
{ {
...@@ -1466,7 +1828,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1466,7 +1828,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
return ""; return "";
} }
private String checkStockPotency(Connection conn) throws Exception /*private String checkStockPotency(Connection conn) throws Exception
{ {
System.out.println("in checkStockPotency.........."); System.out.println("in checkStockPotency..........");
String workOrder = "",expLevel = "",matchPotency = "",adjPotency = "",itemCode = ""; String workOrder = "",expLevel = "",matchPotency = "",adjPotency = "",itemCode = "";
...@@ -1664,7 +2026,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1664,7 +2026,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
throw new Exception(e); throw new Exception(e);
} }
return ""; return "";
} }*/
private String getSqlInString(String suppCodeMfg) throws ITMException, Exception private String getSqlInString(String suppCodeMfg) throws ITMException, Exception
{ {
String inSql = ""; String inSql = "";
...@@ -1692,12 +2054,12 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1692,12 +2054,12 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
StringBuffer reserveStkSql = new StringBuffer(); StringBuffer reserveStkSql = new StringBuffer();
MfgCommon mfgCommon = new MfgCommon(); MfgCommon mfgCommon = new MfgCommon();
Map<String,String> returnMapDetails = new HashMap<String,String>(); Map<String,String> returnMapDetails = new HashMap<String,String>();
int reserveLineNo = 0; int reserveLineNo = 0,count = 0;
boolean isMatchDimension = false,isSufficient = false; boolean isMatchDimension = false,isSufficient = false;
String sql = "",qcReqd = "",effDate = "",invLocCode = "",invLotNo = "",invLotSl = "",siteCode = "",itemCode = "", String sql = "",qcReqd = "",effDate = "",invLocCode = "",invLotNo = "",invLotSl = "",siteCode = "",itemCode = "",
locUsageType = "",considerLotNoIss ="",trackShelfLife = "",worder = "",locGrp = "",packLotNo = "",dimension = "", locUsageType = "",considerLotNoIss ="",trackShelfLife = "",worder = "",locGrp = "",packLotNo = "",dimension = "",
expLevel = "",itemRef = "",critItem = "",unit = "",errorCode = "",bomCode= "",itemDescr = ""; expLevel = "",itemRef = "",critItem = "",unit = "",errorCode = "",bomCode= "",itemDescr = "";
String itemSitekey = "",stkKey = "",expLev = "",mfgItemCode = ""; String itemSitekey = "",stkKey = "",expLev = "",mfgItemCode = "",alternate = "";
double stkQuantity = 0,requiredQty = 0,allocQty = 0,balanceQty = 0,remainQty = 0,softAllocQty = 0, double stkQuantity = 0,requiredQty = 0,allocQty = 0,balanceQty = 0,remainQty = 0,softAllocQty = 0,
stkPotencyPerc = 0,minPotencyPerc = 0 ; stkPotencyPerc = 0,minPotencyPerc = 0 ;
ArrayList<String> altItemCodeList = new ArrayList<String>(); ArrayList<String> altItemCodeList = new ArrayList<String>();
...@@ -1709,6 +2071,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1709,6 +2071,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
effDate = simpleDateFormatObj.format(currentDate.getTime()); effDate = simpleDateFormatObj.format(currentDate.getTime());
System.out.println("In checkReserveStock worderDetailMap : "+worderDetailMap); System.out.println("In checkReserveStock worderDetailMap : "+worderDetailMap);
worder = worderDetailMap.get("WORK_ORDER"); worder = worderDetailMap.get("WORK_ORDER");
alternate = worderDetailMap.get("IS_ALTERNATE");
mfgItemCode = getColumnDescr(conn, "item_code", "workorder", "work_order", worder); //worderDetailMap.get("ITEM_CODE"); mfgItemCode = getColumnDescr(conn, "item_code", "workorder", "work_order", worder); //worderDetailMap.get("ITEM_CODE");
System.out.println("mfgItemCode------------>>"+mfgItemCode); System.out.println("mfgItemCode------------>>"+mfgItemCode);
siteCode = worderDetailMap.get("SITE_CODE"); siteCode = worderDetailMap.get("SITE_CODE");
...@@ -1885,7 +2248,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1885,7 +2248,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
while( rs.next() ) while( rs.next() )
{ {
isSufficient = false; count++;
//isSufficient = false;
reserveLineNo = rs.getInt("line_no"); reserveLineNo = rs.getInt("line_no");
invLocCode = checkNull(rs.getString("loc_code")); invLocCode = checkNull(rs.getString("loc_code"));
invLotNo = rs.getString("lot_no"); invLotNo = rs.getString("lot_no");
...@@ -1894,6 +2258,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1894,6 +2258,8 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
stkPotencyPerc = rs.getDouble("potency_perc"); stkPotencyPerc = rs.getDouble("potency_perc");
expLev = rs.getString("exp_lev"); expLev = rs.getString("exp_lev");
System.out.println("stkPotencyPerc-----Reserve------>>["+stkPotencyPerc+"]");
System.out.println("minPotencyPerc----------->>["+minPotencyPerc+"]");
// Now Check the reserved stock potency with Min. Potency required // Now Check the reserved stock potency with Min. Potency required
if(stkPotencyPerc >= minPotencyPerc) if(stkPotencyPerc >= minPotencyPerc)
{ {
...@@ -1905,6 +2271,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1905,6 +2271,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
worderStkBeanObj.setSiteCode(siteCode); worderStkBeanObj.setSiteCode(siteCode);
worderStkBeanObj.setItemCode(itemCode); worderStkBeanObj.setItemCode(itemCode);
worderStkBeanObj.setStkQuantity(stkQuantity);
worderStkBeanObj.setItemDescr(itemDescr); worderStkBeanObj.setItemDescr(itemDescr);
worderStkBeanObj.setStkPotencyPerc(stkPotencyPerc); worderStkBeanObj.setStkPotencyPerc(stkPotencyPerc);
...@@ -1916,9 +2283,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1916,9 +2283,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
worderStkBeanObj.setDimension(dimension); worderStkBeanObj.setDimension(dimension);
worderStkBeanObj.setReserveStkTranId(tranID); worderStkBeanObj.setReserveStkTranId(tranID);
worderStkBeanObj.setReserveStk("Y"); worderStkBeanObj.setReserveStk("Y");
worderStkBeanObj.setAlternate(alternate);
worderStkBeanObj.setPotencyAdj(0); //update at the time of calculation of check potency. worderStkBeanObj.setPotencyAdj(0); //update at the time of calculation of check potency.
worderStkBeanObj.setIsStockDetail("N");
worderStkBeanObj.setAllocQty(0); //update at the time of calculation of check potency. worderStkBeanObj.setAllocQty(0); //update at the time of calculation of check potency.
...@@ -1926,25 +2294,27 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1926,25 +2294,27 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
stkKey = invLocCode+":"+invLotNo+":"+invLotSl+":"+siteCode+":"+itemCode; stkKey = invLocCode+":"+invLotNo+":"+invLotSl+":"+siteCode+":"+itemCode;
System.out.println("requiredQty------>>["+requiredQty+"]"); System.out.println("requiredQty------>>["+requiredQty+"]");
System.out.println("stkQuantity------>>["+stkQuantity+"]"); System.out.println("stkQuantity------>>["+stkQuantity+"]");
if(requiredQty <= (stkQuantity + softAllocQty) ) System.out.println("isSufficient------>>["+isSufficient+"]");
{ if(! isSufficient)
balanceQty = 0;
isSufficient = true;
break;
}
else
{ {
System.out.println("else..........."); if(requiredQty <= (stkQuantity + softAllocQty) )
isSufficient = false; {
balanceQty = requiredQty - (stkQuantity + softAllocQty); balanceQty = 0;
//softAllocQty = stkQuantity + softAllocQty; isSufficient = true;
balanceQty = Double.parseDouble(df.format(balanceQty)); }
System.out.println("balanceQty@@ : ["+balanceQty+"] "); else
System.out.println("softAllocQty@@ : ["+softAllocQty+"] "); {
requiredQty = balanceQty; System.out.println("else...........");
isSufficient = false;
balanceQty = requiredQty - (stkQuantity + softAllocQty);
//softAllocQty = stkQuantity + softAllocQty;
balanceQty = Double.parseDouble(df.format(balanceQty));
System.out.println("balanceQty@@ : ["+balanceQty+"] ");
System.out.println("softAllocQty@@ : ["+softAllocQty+"] ");
requiredQty = balanceQty;
}
} }
/* /*
if(! doneStockDetailsMap.containsKey(stkKey)) if(! doneStockDetailsMap.containsKey(stkKey))
{ {
...@@ -1966,6 +2336,11 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1966,6 +2336,11 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
continue; continue;
}*/ }*/
worderStkBeanList.add(worderStkBeanObj); worderStkBeanList.add(worderStkBeanObj);
System.out.println("worderStkBeanList obj added@@");
/*if(isSufficient)
{
break;
}*/
} }
...@@ -1980,10 +2355,21 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -1980,10 +2355,21 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
} }
System.out.println("balanceQty1 : "+balanceQty);
System.out.println("requiredQty1 : "+requiredQty);
if(count == 0)
{
returnMapDetails.put("ERROR_CODE","");
returnMapDetails.put("BALANCE_QTY",String.valueOf(requiredQty));
returnMapDetails.put("IS_SUFFICIENT",String.valueOf(isSufficient));
}
else
{
returnMapDetails.put("ERROR_CODE","");
returnMapDetails.put("BALANCE_QTY",String.valueOf(balanceQty));
returnMapDetails.put("IS_SUFFICIENT",String.valueOf(isSufficient));
}
returnMapDetails.put("ERROR_CODE","");
returnMapDetails.put("BALANCE_QTY",String.valueOf(balanceQty));
returnMapDetails.put("IS_SUFFICIENT",String.valueOf(isSufficient));
} }
} }
...@@ -2125,7 +2511,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -2125,7 +2511,7 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
} }
else if(!isSufficient && count == 0) else if(!isSufficient && count == 0)
{ {
checkStkReturnMap.put("BALANCE_QTY", ""+requiredQty); checkStkReturnMap.put("BALANCE_QTY", ""+balanceQty);
checkStkReturnMap.put("ERROR_CODE", ""); checkStkReturnMap.put("ERROR_CODE", "");
checkStkReturnMap.put("IS_SUFFICIENT", ""+isSufficient); checkStkReturnMap.put("IS_SUFFICIENT", ""+isSufficient);
} }
...@@ -2686,9 +3072,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi ...@@ -2686,9 +3072,10 @@ public class WoFirmplanPrc extends ProcessEJB implements WoFirmplanPrcLocal,WoFi
public String populateWorkOrderBill(Connection conn) throws Exception public String populateWorkOrderBill(Connection conn) throws Exception
{ {
System.out.println("in populateWorkOrderBill------->>"+workOrderBeanList.size()); System.out.println("in populateWorkOrderBill------->>"+workOrderBeanList.size());
PreparedStatement pstmt = null; displayStkBean("");
String sql =""; PreparedStatement pstmt = null,pstmt1 = null;
ArrayList<String> worder = new ArrayList<String>(); String sql ="",workOrder = "",expLevel = "";
ArrayList<String> worderList = new ArrayList<String>();
try try
{ {
sql = "insert into workorder_bill (work_order,operation,exp_lev,item_code__ref,unit__ref,ref_qty,item_code,quantity,unit," sql = "insert into workorder_bill (work_order,operation,exp_lev,item_code__ref,unit__ref,ref_qty,item_code,quantity,unit,"
...@@ -2704,60 +3091,110 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2704,60 +3091,110 @@ public String populateWorkOrderBill(Connection conn) throws Exception
{ {
//populate work order bill //populate work order bill
System.out.println("populateWorkOrderBill----------------->>"+(++count)); System.out.println("populateWorkOrderBill----------------->>"+(++count));
System.out.println("WorkOrder----------------->>"+wOrderBillObj.getWorkOrder()); System.out.println("WorkOrder----------------->>"+wOrderBillObj.getWorkOrder());
pstmt = conn.prepareStatement(sql); workOrder = wOrderBillObj.getWorkOrder();
pstmt.setString(1, wOrderBillObj.getWorkOrder()); expLevel = wOrderBillObj.getExpLev();
pstmt.setInt(2, wOrderBillObj.getOperation()); if(! worderList.contains(wOrderBillObj.getWorkOrder()))
pstmt.setString(3, wOrderBillObj.getExpLev()); {
pstmt.setString(4,wOrderBillObj.getItemRef() ); pstmt = conn.prepareStatement(sql);
pstmt.setString(5, wOrderBillObj.getUnit()); pstmt.setString(1, workOrder);
pstmt.setDouble(6, wOrderBillObj.getQuantity()); //Change as work order qty pstmt.setInt(2, 0);
pstmt.setString(3, "1.");
pstmt.setString(7, wOrderBillObj.getItemCode()); pstmt.setString(4,wOrderBillObj.getItemRef() );
pstmt.setDouble(8, wOrderBillObj.getQuantity()); pstmt.setString(5, wOrderBillObj.getUnit());
pstmt.setString(9, wOrderBillObj.getUnit()); pstmt.setDouble(6, wOrderBillObj.getBatchQty()); //ref_qty
pstmt.setDouble(10, wOrderBillObj.getQuantity()); //set actual allocate quantity
pstmt.setTimestamp(11, getCurrtDate()); //alloc_date pstmt.setString(7, wOrderBillObj.getItemCode());
pstmt.setString(12, wOrderBillObj.getSiteCode());//site_code pstmt.setDouble(8, wOrderBillObj.getBatchQty());//quantity
pstmt.setTimestamp(13, getCurrtDate());//chg_date pstmt.setString(9, wOrderBillObj.getUnit());
pstmt.setString(14, chgUser);//get from xtraParam chgUser pstmt.setDouble(10, 0); // allocate quantity
pstmt.setString(15, termId);//get from xtraParam termId pstmt.setTimestamp(11, getCurrtDate()); //alloc_date
pstmt.setString(16, wOrderBillObj.getLineType()); //line_type pstmt.setString(12, wOrderBillObj.getSiteCode());//site_code
pstmt.setTimestamp(13, getCurrtDate());//chg_date
pstmt.setString(17, wOrderBillObj.getCritItem()); //crit_item pstmt.setString(14, chgUser);//get from xtraParam chgUser
pstmt.setString(18, wOrderBillObj.getMatchPotency()); //match_potency pstmt.setString(15, termId);//get from xtraParam termId
pstmt.setDouble(19, wOrderBillObj.getMinPotencyPerc());//min_potency_perc pstmt.setString(16, wOrderBillObj.getLineType()); //line_type
pstmt.setString(20, wOrderBillObj.getAdjPotency()); //adj_potency
pstmt.setDouble(21, wOrderBillObj.getPotencyAdjQty());//potency_adj pstmt.setString(17, wOrderBillObj.getCritItem()); //crit_item
pstmt.setString(18, wOrderBillObj.getMatchPotency()); //match_potency
//pstmt.setDouble(22, wOrderBillObj.getPotencyAdjQty());//iss_qty pstmt.setDouble(19, wOrderBillObj.getMinPotencyPerc());//min_potency_perc
pstmt.setDouble(22, wOrderBillObj.getQuantity()); //iss_qty pstmt.setString(20, wOrderBillObj.getAdjPotency()); //adj_potency
pstmt.setString(23, wOrderBillObj.getUsageType()); pstmt.setDouble(21, wOrderBillObj.getPotencyAdjQty());//potency_adj
pstmt.setString(24, wOrderBillObj.getAllocateType()); //pstmt.setDouble(22, wOrderBillObj.getPotencyAdjQty());//iss_qty
pstmt.setString(25, wOrderBillObj.getLocUsageType()); pstmt.setDouble(22, wOrderBillObj.getQuantity()); //iss_qty
pstmt.setString(26, wOrderBillObj.getConsiderLotNoIssue()); pstmt.setString(23, wOrderBillObj.getUsageType());
pstmt.setString(27, wOrderBillObj.getUnit());//unit__alt
pstmt.setDouble(28, 1);//conv__qty__alt pstmt.setString(24, wOrderBillObj.getAllocateType());
pstmt.setDouble(29, wOrderBillObj.getQuantity()); //quantity__alt pstmt.setString(25, wOrderBillObj.getLocUsageType());
pstmt.setInt(30, 0);//lead_time pstmt.setString(26, wOrderBillObj.getConsiderLotNoIssue());
pstmt.setTimestamp(31, getCurrtDate()); pstmt.setString(27, wOrderBillObj.getUnit());//unit__alt
pstmt.setDouble(32, wOrderBillObj.getQuantity()); //quantity__std pstmt.setDouble(28, 1);//conv__qty__alt
pstmt.setDouble(29, wOrderBillObj.getQuantity()); //quantity__alt
pstmt.addBatch(); pstmt.setInt(30, 0);//lead_time
pstmt.setTimestamp(31, getCurrtDate());
//create worder route pstmt.setDouble(32, wOrderBillObj.getQuantity()); //quantity__std
if(! worder.contains(wOrderBillObj.getWorkOrder()))
{ pstmt.executeUpdate();
worder.add(wOrderBillObj.getWorkOrder());
worderList.add(wOrderBillObj.getWorkOrder());
String str = new WorkOrderRoute().createWorderRoute(wOrderBillObj.getWorkOrder(), conn); String str = new WorkOrderRoute().createWorderRoute(wOrderBillObj.getWorkOrder(), conn);
System.out.println("return string from WorkOrderRoute------>>["+str+"]") ; System.out.println("return string from WorkOrderRoute------>>["+str+"]") ;
} }
for(WorderStkBean tempObj : worderStkBeanList)
{
if(workOrder.equalsIgnoreCase(tempObj.getWorkOrder()) && expLevel.equalsIgnoreCase(tempObj.getExpLevel()))
{
pstmt1 = conn.prepareStatement(sql);
pstmt1.setString(1, workOrder);
pstmt1.setInt(2, wOrderBillObj.getOperation());
pstmt1.setString(3, expLevel);
pstmt1.setString(4,tempObj.getItemRef() );//item_code__ref
pstmt1.setString(5, tempObj.getUnit());//unit
pstmt1.setDouble(6, wOrderBillObj.getBatchQty()); //ref_qty
pstmt1.setString(7, tempObj.getItemCode());
pstmt1.setDouble(8, tempObj.getAllocQty()); //quantity
pstmt1.setString(9, tempObj.getUnit());
pstmt1.setDouble(10, tempObj.getAllocQty()); //alloc_qty
pstmt1.setTimestamp(11, getCurrtDate()); //alloc_date
pstmt1.setString(12, wOrderBillObj.getSiteCode());//site_code
pstmt1.setTimestamp(13, getCurrtDate());//chg_date
pstmt1.setString(14, chgUser);//get from xtraParam chgUser
pstmt1.setString(15, termId);//get from xtraParam termId
pstmt1.setString(16, wOrderBillObj.getLineType()); //line_type
pstmt1.setString(17, wOrderBillObj.getCritItem()); //crit_item
pstmt1.setString(18, wOrderBillObj.getMatchPotency()); //match_potency
pstmt1.setDouble(19, wOrderBillObj.getMinPotencyPerc());//min_potency_perc
pstmt1.setString(20, wOrderBillObj.getAdjPotency()); //adj_potency
pstmt1.setDouble(21, tempObj.getPotencyAdj());//potency_adj
//pstmt.setDouble(22, wOrderBillObj.getPotencyAdjQty());//iss_qty
pstmt1.setDouble(22, 0); //iss_qty
pstmt1.setString(23, wOrderBillObj.getUsageType());
pstmt1.setString(24, wOrderBillObj.getAllocateType());
pstmt1.setString(25, wOrderBillObj.getLocUsageType());
pstmt1.setString(26, wOrderBillObj.getConsiderLotNoIssue());
pstmt1.setString(27, wOrderBillObj.getUnit());//unit__alt
pstmt1.setDouble(28, 1);//conv__qty__alt
pstmt1.setDouble(29, 0); //quantity__alt
pstmt1.setInt(30, 0);//lead_time
pstmt1.setTimestamp(31, getCurrtDate());
pstmt1.setDouble(32, tempObj.getAllocQty()); //quantity__std
pstmt1.addBatch();
}
}
int rows [] = pstmt1.executeBatch();
System.out.println("Rows---->>"+rows.length);
} }
int rows [] = pstmt.executeBatch(); /*int rows [] = pstmt.executeBatch();
if(rows.length > 0) if(rows.length > 0)
return "Success"; return "Success";*/
} }
...@@ -2776,7 +3213,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2776,7 +3213,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception
pstmt = null; pstmt = null;
} }
} }
return "Error"; return "";
} }
//Allocation Stock -- inv_allocate,inv_alloc_det //Allocation Stock -- inv_allocate,inv_alloc_det
...@@ -2809,16 +3246,30 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2809,16 +3246,30 @@ public String populateWorkOrderBill(Connection conn) throws Exception
} }
else else
{ {
sql = "SELECT ALLOC_QTY FROM STOCK where item_code = ? and site_code = ? and loc_code = ? "
+" and lot_no = ? and lot_sl = ? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,WorderStkBeanObj.getItemCode());
pstmt.setString(2,WorderStkBeanObj.getSiteCode());
pstmt.setString(3,WorderStkBeanObj.getLocCode());
pstmt.setString(4,WorderStkBeanObj.getLotNo());
pstmt.setString(5,WorderStkBeanObj.getLotSl());
rs = pstmt.executeQuery();
if(rs.next())
{
System.out.println("AllocQty@@-------->>"+rs.getDouble(1));
}
sql = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ?" sql = "UPDATE STOCK SET ALLOC_QTY =(CASE WHEN ALLOC_QTY IS NULL THEN 0 ELSE ALLOC_QTY END) + ?"
+" where item_code = ? and site_code = ? and loc_code = ? " +" where item_code = ? and site_code = ? and loc_code = ? "
+" and lot_no = ? and lot_sl = ? "; +" and lot_no = ? and lot_sl = ? ";
deAllocQty = WorderStkBeanObj.getAllocQty() ;
deAllocQty = WorderStkBeanObj.getActualAllocQty() ;
System.out.println("deAllocQty :["+deAllocQty+"]"); System.out.println("deAllocQty :["+deAllocQty+"]");
deAllocQty = Double.parseDouble(df.format(deAllocQty)) * -1; deAllocQty = Double.parseDouble(df.format(deAllocQty)) * -1;
System.out.println("After deAllocQty :["+deAllocQty+"]"); System.out.println("After deAllocQty :["+deAllocQty+"]");
pstmt = conn.prepareStatement(sql); pstmt = conn.prepareStatement(sql);
pstmt.setDouble(1,deAllocQty); pstmt.setDouble(1,deAllocQty);
pstmt.setString(2,WorderStkBeanObj.getItemCode()); pstmt.setString(2,WorderStkBeanObj.getItemCode());
pstmt.setString(3,WorderStkBeanObj.getSiteCode()); pstmt.setString(3,WorderStkBeanObj.getSiteCode());
pstmt.setString(4,WorderStkBeanObj.getLocCode()); pstmt.setString(4,WorderStkBeanObj.getLocCode());
...@@ -2827,7 +3278,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2827,7 +3278,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception
pstmt.executeUpdate(); pstmt.executeUpdate();
pstmt.close(); pstmt.close();
pstmt = null; pstmt = null;
invAllocateMap = new HashMap(); invAllocateMap = new HashMap();
invAllocTrace = new InvAllocTraceBean(); invAllocTrace = new InvAllocTraceBean();
invAllocateMap.put("tran_date",getCurrtDate()); invAllocateMap.put("tran_date",getCurrtDate());
...@@ -2841,13 +3292,13 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2841,13 +3292,13 @@ public String populateWorkOrderBill(Connection conn) throws Exception
invAllocateMap.put("lot_no",WorderStkBeanObj.getLotNo()); invAllocateMap.put("lot_no",WorderStkBeanObj.getLotNo());
invAllocateMap.put("lot_sl",WorderStkBeanObj.getLotSl()); invAllocateMap.put("lot_sl",WorderStkBeanObj.getLotSl());
invAllocateMap.put("alloc_qty", WorderStkBeanObj.getAllocQty()); invAllocateMap.put("alloc_qty", WorderStkBeanObj.getActualAllocQty());
invAllocateMap.put("chg_user",chgUser); invAllocateMap.put("chg_user",chgUser);
invAllocateMap.put("chg_term",termId); invAllocateMap.put("chg_term",termId);
invAllocateMap.put("chg_win","w_woFirmplan"); invAllocateMap.put("chg_win","w_woFirmplan");
errorString = invAllocTrace.updateInvallocTrace(invAllocateMap, conn); errorString = invAllocTrace.updateInvallocTrace(invAllocateMap, conn);
System.out.println("After updateInvallocTrace errorString :["+errorString+"]"); System.out.println("After updateInvallocTrace errorString :["+errorString+"]");
} }
...@@ -2865,7 +3316,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2865,7 +3316,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception
pstmt.setString(4,WorderStkBeanObj.getWorkOrder()); pstmt.setString(4,WorderStkBeanObj.getWorkOrder());
pstmt.setString(5,WorderStkBeanObj.getSiteCode()); pstmt.setString(5,WorderStkBeanObj.getSiteCode());
pstmt.setString(6,WorderStkBeanObj.getItemCode()); pstmt.setString(6,getColumnDescr(conn, "ITEM_CODE", "WORKORDER", "WORK_ORDER", WorderStkBeanObj.getWorkOrder()));
pstmt.setTimestamp(7, getCurrtDate()); pstmt.setTimestamp(7, getCurrtDate());
pstmt.setString(8,chgUser); pstmt.setString(8,chgUser);
pstmt.setString(9,termId); pstmt.setString(9,termId);
...@@ -2913,7 +3364,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -2913,7 +3364,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception
pstmt.setDouble(12, WorderStkBeanObj.getAllocQty());//ISSUE_QTY check actual quantity (Pending) pstmt.setDouble(12, WorderStkBeanObj.getAllocQty());//ISSUE_QTY check actual quantity (Pending)
pstmt.setDouble(13, WorderStkBeanObj.getAllocQty());//ALLOC_QTY check actual quantity (Pending) pstmt.setDouble(13, WorderStkBeanObj.getAllocQty());//ALLOC_QTY check actual quantity (Pending)
pstmt.executeUpdate();
pstmt.close();
pstmt = null;
// invAlloc trace start // invAlloc trace start
...@@ -3318,7 +3771,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -3318,7 +3771,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception
ResultSet rs = null; ResultSet rs = null;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
String returnString = ""; String returnString = "";
DistCommon disCommon = new DistCommon();
HashMap<String,String> detailMap = new HashMap<String,String>(); HashMap<String,String> detailMap = new HashMap<String,String>();
StringBuffer valueXmlString; StringBuffer valueXmlString;
String xmlString = "",sql = "",avaliableYN = "",orderType = "",locCodeGit = "",locCodeGitbf = "",tranCode = "", String xmlString = "",sql = "",avaliableYN = "",orderType = "",locCodeGit = "",locCodeGitbf = "",tranCode = "",
...@@ -4489,15 +4942,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4489,15 +4942,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception
firmPlanXMl.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); firmPlanXMl.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
//firmPlanXMl.append("<workorders><work_order><exp_level>\r\n"); // Sneha //firmPlanXMl.append("<workorders><work_order><exp_level>\r\n"); // Sneha
firmPlanXMl.append("<workorders><work_order>\r\n"); // Sneha firmPlanXMl.append("<workorders><work_order>\r\n"); // Sneha
System.out.println("workOrderBeanList H:::::::::::::::: " );
displayStkBean(workOrderBeanList, "H");
System.out.println("worderStkBeanList D:::::::::::::::: " );
displayStkBean(worderStkBeanList, "D");
System.out.println("worderStkBeanList D:::::::::::::::: " );
displayStkBean(worderStkBeanList, "D");
for(WorkOrderDetailBean tempDetailObj : workOrderBeanList) for(WorkOrderDetailBean tempDetailObj : workOrderBeanList)
{ {
...@@ -4520,7 +4967,8 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4520,7 +4967,8 @@ public String populateWorkOrderBill(Connection conn) throws Exception
firmPlanXMl.append( "<exp_lev><![CDATA[" ).append( tempDetailObj.getExpLev() ).append( "]]></exp_lev>\r\n" ); firmPlanXMl.append( "<exp_lev><![CDATA[" ).append( tempDetailObj.getExpLev() ).append( "]]></exp_lev>\r\n" );
firmPlanXMl.append( "<site_code><![CDATA[" ).append( tempDetailObj.getSiteCode()).append( "]]></site_code>\r\n" ); firmPlanXMl.append( "<site_code><![CDATA[" ).append( tempDetailObj.getSiteCode()).append( "]]></site_code>\r\n" );
firmPlanXMl.append( "<bom_code><![CDATA[" ).append( tempDetailObj.getBomCode() ).append( "]]></bom_code>\r\n" ); firmPlanXMl.append( "<bom_code><![CDATA[" ).append( tempDetailObj.getBomCode() ).append( "]]></bom_code>\r\n" );
firmPlanXMl.append( "<item_Ref><![CDATA[" ).append( tempDetailObj.getItemRef() ).append( "]]></item_Ref>\r\n" );
firmPlanXMl.append( "<item_code><![CDATA[" ).append( tempDetailObj.getItemCode() ).append( "]]></item_code>\r\n" ); firmPlanXMl.append( "<item_code><![CDATA[" ).append( tempDetailObj.getItemCode() ).append( "]]></item_code>\r\n" );
firmPlanXMl.append( "<item_descr><![CDATA[" ).append( getColumnDescr(conn, "descr", "item", "item_code", tempDetailObj.getItemCode()) ).append( "]]></item_descr>\r\n" ); firmPlanXMl.append( "<item_descr><![CDATA[" ).append( getColumnDescr(conn, "descr", "item", "item_code", tempDetailObj.getItemCode()) ).append( "]]></item_descr>\r\n" );
firmPlanXMl.append( "<due_date><![CDATA[" ).append( tempDetailObj.getDueDate() ).append( "]]></due_date>\r\n" ); firmPlanXMl.append( "<due_date><![CDATA[" ).append( tempDetailObj.getDueDate() ).append( "]]></due_date>\r\n" );
...@@ -4555,15 +5003,15 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4555,15 +5003,15 @@ public String populateWorkOrderBill(Connection conn) throws Exception
firmPlanXMl.append( "<mfg_ref><![CDATA[" ).append( tempDetailObj.getMfgRef() ).append( "]]></mfg_ref>\r\n" ); firmPlanXMl.append( "<mfg_ref><![CDATA[" ).append( tempDetailObj.getMfgRef() ).append( "]]></mfg_ref>\r\n" );
firmPlanXMl.append( "<min_req_qty><![CDATA[" ).append( tempDetailObj.getMinReqQty() ).append( "]]></min_req_qty>\r\n" ); firmPlanXMl.append( "<min_req_qty><![CDATA[" ).append( tempDetailObj.getMinReqQty() ).append( "]]></min_req_qty>\r\n" );
firmPlanXMl.append( "<item_category><![CDATA[" ).append( tempDetailObj.getItemCategory() ).append( "]]></item_category>\r\n" ); firmPlanXMl.append( "<item_category><![CDATA[" ).append( tempDetailObj.getItemCategory() ).append( "]]></item_category>\r\n" );
//firmPlanXMl.append( "<upd_qty><![CDATA[" ).append( upd_qty ).append( "]]></upd_qty>\r\n" ); firmPlanXMl.append( "<upd_qty><![CDATA[" ).append( tempDetailObj.getUpdQty() ).append( "]]></upd_qty>\r\n" );
firmPlanXMl.append( "<is_sufficient><![CDATA[" ).append( "N" ).append( "]]></is_sufficient>\r\n" ); firmPlanXMl.append( "<adjusted_qty><![CDATA[" ).append( tempDetailObj.getAdjustedQty() ).append( "]]></adjusted_qty>\r\n" );
firmPlanXMl.append( "<is_sufficient><![CDATA[" ).append( tempDetailObj.getSufficient() ).append( "]]></is_sufficient>\r\n" );
//firmPlanXMl.append( "</exp_level>\r\n"); //firmPlanXMl.append( "</exp_level>\r\n");
for(WorderStkBean tempObj : worderStkBeanList) for(WorderStkBean tempObj : worderStkBeanList)
{ {
if(workOrder.equalsIgnoreCase(tempObj.getWorkOrder()) && expLev.equalsIgnoreCase(tempObj.getExpLevel()) ) if(workOrder.equalsIgnoreCase(tempObj.getWorkOrder()) && expLev.equalsIgnoreCase(tempObj.getExpLevel()) )
{ {
if("Y".equalsIgnoreCase(tempObj.getReserveStk())) if("Y".equalsIgnoreCase(tempObj.getReserveStk()))
{ {
cntReserve++; cntReserve++;
...@@ -4579,8 +5027,8 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4579,8 +5027,8 @@ public String populateWorkOrderBill(Connection conn) throws Exception
reserveStockXMl.append("<item_descr><![CDATA[" ).append( tempObj.getItemDescr()).append( "]]></item_descr>\r\n" ); reserveStockXMl.append("<item_descr><![CDATA[" ).append( tempObj.getItemDescr()).append( "]]></item_descr>\r\n" );
reserveStockXMl.append("<lot_no><![CDATA[" ).append( tempObj.getLotNo() ).append( "]]></lot_no>\r\n" ); reserveStockXMl.append("<lot_no><![CDATA[" ).append( tempObj.getLotNo() ).append( "]]></lot_no>\r\n" );
reserveStockXMl.append("<lot_sl><![CDATA[" ).append( tempObj.getLotSl() ).append( "]]></lot_sl>\r\n" ); reserveStockXMl.append("<lot_sl><![CDATA[" ).append( tempObj.getLotSl() ).append( "]]></lot_sl>\r\n" );
reserveStockXMl.append("<stock_potency><![CDATA[" ).append( tempObj.getStkPotencyPerc() ).append( "]]></stock_potency>\r\n" );
reserveStockXMl.append("<quantity><![CDATA[" ).append(Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></quantity>\r\n" ); reserveStockXMl.append("<quantity><![CDATA[" ).append(Double.parseDouble(df.format( tempObj.getStkQuantity())) ).append( "]]></quantity>\r\n" );
reserveStockXMl.append("<remarks><![CDATA[" ).append( "Firm plan process" ).append( "]]></remarks>\r\n" ); reserveStockXMl.append("<remarks><![CDATA[" ).append( "Firm plan process" ).append( "]]></remarks>\r\n" );
reserveStockXMl.append("<reas_code><![CDATA[" ).append( "" ).append( "]]></reas_code>\r\n" ); reserveStockXMl.append("<reas_code><![CDATA[" ).append( "" ).append( "]]></reas_code>\r\n" );
reserveStockXMl.append("<loc_code><![CDATA[" ).append( tempObj.getLocCode() ).append( "]]></loc_code>\r\n" ); reserveStockXMl.append("<loc_code><![CDATA[" ).append( tempObj.getLocCode() ).append( "]]></loc_code>\r\n" );
...@@ -4590,8 +5038,10 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4590,8 +5038,10 @@ public String populateWorkOrderBill(Connection conn) throws Exception
reserveStockXMl.append("<dealloc_qty><![CDATA[" ).append( 0 ).append( "]]></dealloc_qty>\r\n" ); reserveStockXMl.append("<dealloc_qty><![CDATA[" ).append( 0 ).append( "]]></dealloc_qty>\r\n" );
reserveStockXMl.append("<alloc_qty><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></alloc_qty>\r\n" ); reserveStockXMl.append("<alloc_qty><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></alloc_qty>\r\n" );
reserveStockXMl.append("<deallocated><![CDATA[" ).append( "" ).append( "]]></deallocated>\r\n" ); reserveStockXMl.append("<deallocated><![CDATA[" ).append( "" ).append( "]]></deallocated>\r\n" );
reserveStockXMl.append("<is_alternate><![CDATA[" ).append( tempObj.getAlternateItem() ).append( "]]></is_alternate>\r\n" ); reserveStockXMl.append("<is_alternate><![CDATA[" ).append( tempObj.getAlternate() ).append( "]]></is_alternate>\r\n" );
reserveStockXMl.append("<tran_id><![CDATA[" ).append( tempObj.getReserveStkTranId() ).append( "]]></tran_id>\r\n" ); reserveStockXMl.append("<tran_id><![CDATA[" ).append( tempObj.getReserveStkTranId() ).append( "]]></tran_id>\r\n" );
reserveStockXMl.append( "<upd_qty><![CDATA[" ).append( tempObj.getUpdQty() ).append( "]]></upd_qty>\r\n" );
reserveStockXMl.append("<unit><![CDATA[" ).append( tempObj.getUnit() ).append( "]]></unit>\r\n" );
reserveStockXMl.append("</detail>"); reserveStockXMl.append("</detail>");
} }
...@@ -4611,8 +5061,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4611,8 +5061,9 @@ public String populateWorkOrderBill(Connection conn) throws Exception
stockDetailXml.append("<item_descr><![CDATA[" ).append( tempObj.getItemDescr()).append( "]]></item_descr>\r\n" ); stockDetailXml.append("<item_descr><![CDATA[" ).append( tempObj.getItemDescr()).append( "]]></item_descr>\r\n" );
stockDetailXml.append("<lot_no><![CDATA[" ).append( tempObj.getLotNo() ).append( "]]></lot_no>\r\n" ); stockDetailXml.append("<lot_no><![CDATA[" ).append( tempObj.getLotNo() ).append( "]]></lot_no>\r\n" );
stockDetailXml.append("<lot_sl><![CDATA[" ).append( tempObj.getLotSl() ).append( "]]></lot_sl>\r\n" ); stockDetailXml.append("<lot_sl><![CDATA[" ).append( tempObj.getLotSl() ).append( "]]></lot_sl>\r\n" );
stockDetailXml.append("<quantity><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></quantity>\r\n" ); stockDetailXml.append("<stock_potency><![CDATA[" ).append( tempObj.getStkPotencyPerc() ).append( "]]></stock_potency>\r\n" );
stockDetailXml.append("<quantity><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getStkQuantity())) ).append( "]]></quantity>\r\n" );
stockDetailXml.append("<remarks><![CDATA[" ).append( "Firm plan process" ).append( "]]></remarks>\r\n" ); stockDetailXml.append("<remarks><![CDATA[" ).append( "Firm plan process" ).append( "]]></remarks>\r\n" );
stockDetailXml.append("<reas_code><![CDATA[" ).append( "" ).append( "]]></reas_code>\r\n" ); stockDetailXml.append("<reas_code><![CDATA[" ).append( "" ).append( "]]></reas_code>\r\n" );
stockDetailXml.append("<loc_code><![CDATA[" ).append( tempObj.getLocCode() ).append( "]]></loc_code>\r\n" ); stockDetailXml.append("<loc_code><![CDATA[" ).append( tempObj.getLocCode() ).append( "]]></loc_code>\r\n" );
...@@ -4622,20 +5073,70 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4622,20 +5073,70 @@ public String populateWorkOrderBill(Connection conn) throws Exception
stockDetailXml.append("<dealloc_qty><![CDATA[" ).append( 0 ).append( "]]></dealloc_qty>\r\n" ); stockDetailXml.append("<dealloc_qty><![CDATA[" ).append( 0 ).append( "]]></dealloc_qty>\r\n" );
stockDetailXml.append("<alloc_qty><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></alloc_qty>\r\n" ); stockDetailXml.append("<alloc_qty><![CDATA[" ).append( Double.parseDouble(df.format( tempObj.getAllocQty())) ).append( "]]></alloc_qty>\r\n" );
stockDetailXml.append("<deallocated><![CDATA[" ).append( "" ).append( "]]></deallocated>\r\n" ); stockDetailXml.append("<deallocated><![CDATA[" ).append( "" ).append( "]]></deallocated>\r\n" );
stockDetailXml.append("<is_alternate><![CDATA[" ).append( tempObj.getAlternateItem() ).append( "]]></is_alternate>\r\n" ); stockDetailXml.append("<is_alternate><![CDATA[" ).append( tempObj.getAlternate() ).append( "]]></is_alternate>\r\n" );
stockDetailXml.append( "<upd_qty><![CDATA[" ).append( tempObj.getUpdQty() ).append( "]]></upd_qty>\r\n" );
stockDetailXml.append("<unit><![CDATA[" ).append( tempObj.getUnit() ).append( "]]></unit>\r\n" );
stockDetailXml.append("</detail>"); stockDetailXml.append("</detail>");
} }
} }
} }
if( isReserve) if( isReserve)
{ {
reserveStockXMl.append("</reserve_stock>"); reserveStockXMl.append("</reserve_stock> \r\n");
} }
if( isStkDetail) if( isStkDetail)
{ {
stockDetailXml.append("</stock_detail>");; stockDetailXml.append("</stock_detail> \r\n");
} }
if(!isReserve)
{
reserveStockXMl.append("<reserve_stock> \r\n");
reserveStockXMl.append("<detail>");
reserveStockXMl.append("<site_code><![CDATA[]]></site_code>\r\n" );
reserveStockXMl.append("<item_code><![CDATA[]]></item_code>\r\n" );
reserveStockXMl.append("<item_descr><![CDATA[]]></item_descr>\r\n" );
reserveStockXMl.append("<lot_no><![CDATA[]]></lot_no>\r\n" );
reserveStockXMl.append("<lot_sl><![CDATA[]]></lot_sl>\r\n" );
reserveStockXMl.append("<quantity><![CDATA[]]></quantity>\r\n" );
reserveStockXMl.append("<remarks><![CDATA[]]></remarks>\r\n" );
reserveStockXMl.append("<reas_code><![CDATA[]]></reas_code>\r\n" );
reserveStockXMl.append("<loc_code><![CDATA[]]></loc_code>\r\n" );
reserveStockXMl.append("<exp_lev><![CDATA[]]></exp_lev>\r\n" );
reserveStockXMl.append("<stock_potency><![CDATA[]]></stock_potency>\r\n" );
reserveStockXMl.append("<potency_adj><![CDATA[]]></potency_adj>\r\n" );
reserveStockXMl.append("<dealloc_qty><![CDATA[]]></dealloc_qty>\r\n" );
reserveStockXMl.append("<alloc_qty><![CDATA[]]></alloc_qty>\r\n" );
reserveStockXMl.append("<deallocated><![CDATA[]]></deallocated>\r\n" );
reserveStockXMl.append("<is_alternate><![CDATA[]]></is_alternate>\r\n" );
reserveStockXMl.append("</detail>");
reserveStockXMl.append("</reserve_stock> \r\n");
}
if(! isStkDetail)
{
stockDetailXml.append("<stock_detail> \r\n");
stockDetailXml.append("<detail>");
stockDetailXml.append("<site_code><![CDATA[]]></site_code>\r\n" );
stockDetailXml.append("<item_code><![CDATA[]]></item_code>\r\n" );
stockDetailXml.append("<item_descr><![CDATA[]]></item_descr>\r\n" );
stockDetailXml.append("<lot_no><![CDATA[]]></lot_no>\r\n" );
stockDetailXml.append("<lot_sl><![CDATA[]]></lot_sl>\r\n" );
stockDetailXml.append("<quantity><![CDATA[]]></quantity>\r\n" );
stockDetailXml.append("<remarks><![CDATA[]]></remarks>\r\n" );
stockDetailXml.append("<reas_code><![CDATA[]]></reas_code>\r\n" );
stockDetailXml.append("<loc_code><![CDATA[]]></loc_code>\r\n" );
stockDetailXml.append("<exp_lev><![CDATA[]]></exp_lev>\r\n" );
stockDetailXml.append("<potency_adj><![CDATA[]]></potency_adj>\r\n" );
stockDetailXml.append("<dealloc_qty><![CDATA[]]></dealloc_qty>\r\n" );
stockDetailXml.append("<alloc_qty><![CDATA[]]></alloc_qty>\r\n" );
stockDetailXml.append("<deallocated><![CDATA[]]></deallocated>\r\n" );
stockDetailXml.append("<is_alternate><![CDATA[]]></is_alternate>\r\n" );
stockDetailXml.append("</detail>");
stockDetailXml.append("</stock_detail> \r\n");
}
firmPlanXMl.append(reserveStockXMl.append(stockDetailXml)); firmPlanXMl.append(reserveStockXMl.append(stockDetailXml));
firmPlanXMl.append( "</exp_level>\r\n"); firmPlanXMl.append( "</exp_level>\r\n");
} }
...@@ -4665,15 +5166,14 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4665,15 +5166,14 @@ public String populateWorkOrderBill(Connection conn) throws Exception
} }
}*/ }*/
private String displayStkBean(ArrayList worderStkBeanList, String hdr) throws Exception private String displayStkBean( String hdr) throws Exception
{ {
System.out.println("In displayStkBean-------------------->>"+hdr); System.out.println("In displayStkBean-------------------->>"+hdr);
System.out.println("In size-------------------->>"+worderStkBeanList.size()); System.out.println("In size-------------------->>"+worderStkBeanList.size());
Iterator itr = worderStkBeanList.iterator(); // Iterator itr = worderStkBeanList.iterator();
if(worderStkBeanList.size()>0)
{ int count=0,count1 = 0;
int count=0; /* if("H".equalsIgnoreCase(hdr))
if("H".equalsIgnoreCase(hdr))
{ {
while(itr.hasNext()) while(itr.hasNext())
{ {
...@@ -4684,7 +5184,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4684,7 +5184,7 @@ public String populateWorkOrderBill(Connection conn) throws Exception
System.out.println("getExpLevel------------>>["+worderStkBeanObj.getExpLev()+"]"); System.out.println("getExpLevel------------>>["+worderStkBeanObj.getExpLev()+"]");
System.out.println("getSiteCode------------>>["+worderStkBeanObj.getSiteCode()+"]"); System.out.println("getSiteCode------------>>["+worderStkBeanObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+worderStkBeanObj.getItemCode()+"]"); System.out.println("getItemCode------------>>["+worderStkBeanObj.getItemCode()+"]");
} }
} }
else if("D".equalsIgnoreCase(hdr)) else if("D".equalsIgnoreCase(hdr))
...@@ -4699,17 +5199,62 @@ public String populateWorkOrderBill(Connection conn) throws Exception ...@@ -4699,17 +5199,62 @@ public String populateWorkOrderBill(Connection conn) throws Exception
System.out.println("getSiteCode------------>>["+worderStkBeanObj.getSiteCode()+"]"); System.out.println("getSiteCode------------>>["+worderStkBeanObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+worderStkBeanObj.getItemCode()+"]"); System.out.println("getItemCode------------>>["+worderStkBeanObj.getItemCode()+"]");
System.out.println("getLocCode------------>>["+worderStkBeanObj.getLocCode()+"]"); System.out.println("getLocCode------------>>["+worderStkBeanObj.getLocCode()+"]");
System.out.println("getLotNo------------>>["+worderStkBeanObj.getLotNo()+"]"); System.out.println("getLotNo------------>>["+worderStkBeanObj.getLotNo()+"]");
System.out.println("getLotSl------------>>["+worderStkBeanObj.getLotSl()+"]"); System.out.println("getLotSl------------>>["+worderStkBeanObj.getLotSl()+"]");
System.out.println("getStkQuantity------------>>["+worderStkBeanObj.getStkQuantity()+"]"); System.out.println("getStkQuantity------------>>["+worderStkBeanObj.getStkQuantity()+"]");
System.out.println("getAllocQty------------>>["+worderStkBeanObj.getAllocQty()+"]"); System.out.println("getAllocQty------------>>["+worderStkBeanObj.getAllocQty()+"]");
} }
} }*/
}
return ""; /* for(WorkOrderDetailBean worderbillBeanObj : workOrderBeanList)
} {
count++;
System.out.println("WorkOrder Detail Bean--------------------------->>"+count);
System.out.println("WorkOrder------------>>["+worderbillBeanObj.getWorkOrder()+"]");
System.out.println("getExpLevel------------>>["+worderbillBeanObj.getExpLev()+"]");
System.out.println("getSiteCode------------>>["+worderbillBeanObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+worderbillBeanObj.getItemCode()+"]");
for(WorderStkBean tempObj : worderStkBeanList)
{
System.out.println("WorkOrder------------>>["+tempObj.getWorkOrder()+"]");
System.out.println("getExpLevel------------>>["+tempObj.getExpLevel()+"]");
System.out.println("getSiteCode------------>>["+tempObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+tempObj.getItemCode()+"]");
System.out.println("getStkQuantity------------>>["+tempObj.getStkQuantity()+"]");
System.out.println("getAllocQty------------>>["+tempObj.getAllocQty()+"]");
}
}*/
for(WorkOrderDetailBean worderDetailBeanObj : workOrderBeanList)
{
count++;
count1 = 0;
System.out.println("WorkOrder Detail Bean--------------------------->>"+count);
System.out.println("WorkOrder------------>>["+worderDetailBeanObj.getWorkOrder()+"]");
System.out.println("getExpLevel------------>>["+worderDetailBeanObj.getExpLev()+"]");
System.out.println("getSiteCode------------>>["+worderDetailBeanObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+worderDetailBeanObj.getItemCode()+"]");
for(WorderStkBean tempObj : worderStkBeanList)
{
count1++;
System.out.println("WorkOrder Stock Bean--------------------------->>"+count1);
System.out.println("WorkOrder------------>>["+tempObj.getWorkOrder()+"]");
System.out.println("getExpLevel------------>>["+tempObj.getExpLevel()+"]");
System.out.println("getSiteCode------------>>["+tempObj.getSiteCode()+"]");
System.out.println("getItemCode------------>>["+tempObj.getItemCode()+"]");
System.out.println("getStkQuantity------------>>["+tempObj.getStkQuantity()+"]");
System.out.println("getAllocQty------------>>["+tempObj.getAllocQty()+"]");
}
}
return "";
}
} }
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