Hi all,
I am working on the facility-->physicalInventory tab... the present
feature is if we give the product id corresponding inventory details will be
displayed ... but what i want to do is... i want to display the inventory
details of all the product by pressing a button .... this is the bsh script
which i modified and at log it is giving the class cast exception... the
code is as follows... Can any one tell me where i am going wrong...
import java.util.HashSet;
import javolution.util.FastList;
import javolution.util.FastMap;
import org.ofbiz.base.util.*;
import org.ofbiz.service.ServiceUtil;
import org.ofbiz.entity.condition.*;
facilityId = parameters.get("facilityId");
// fields to search by
//productId = parameters.get("productId");
//internalName = parameters.get("internalName");
product=delegator.findAll("Product");
//print("\n====================================");
//print(product);
//print("======================================");
List InventoryList=new ArrayList();
Iterator i = product.iterator();
while (i.hasNext()) {
GenericValue v = (GenericValue) i.next();
productId=v.getString("productId");
internalName=v.getString("internalName");
print("\n====================================");
print(productId);
print("======================================");
// build conditions
conditions = UtilMisc.toList(
new EntityExpr("facilityId", EntityOperator.EQUALS, facilityId),
new EntityExpr("inventoryItemTypeId", EntityOperator.EQUALS,
"NON_SERIAL_INV_ITEM")
);
if (productId != null && productId.trim().length() != 0) {
conditions.add( new EntityExpr("productId", EntityOperator.LIKE,
productId.trim() + "%") );
}
if (internalName != null && internalName.trim().length() != 0) {
conditions.add( new EntityExpr("internalName", true,
EntityOperator.LIKE, internalName.trim() + "%", true) );
}
if (conditions.size() > 2) {
physicalInventory = delegator.findByAnd("ProductInventoryItem",
conditions, UtilMisc.toList("productId"));
// also need the overal product QOH and ATP for each product
atpMap = FastMap.newInstance();
qohMap = FastMap.newInstance();
// build a list of productIds
productIds = new HashSet();
for (iter = physicalInventory.iterator(); iter.hasNext(); ) {
productIds.add(iter.next().get("productId"));
}
// for each product, call the inventory counting service
for (iter = productIds.iterator(); iter.hasNext(); ) {
productId = iter.next();
result = dispatcher.runSync("getInventoryAvailableByFacility",
UtilMisc.toMap("facilityId", facilityId, "productId", productId));
//print("result"+result);
if (!ServiceUtil.isError(result)) {
atpMap.put(productId, result.get("availableToPromiseTotal"));
qohMap.put(productId, result.get("quantityOnHandTotal"));
}
}
// associate the quantities to each row and store the combined data as
our list
physicalInventoryCombined = FastList.newInstance();
for (iter = physicalInventory.iterator(); iter.hasNext(); ) {
row = iter.next().getAllFields();
row.put("productATP", atpMap.get(row.get("productId")));
row.put("productQOH", qohMap.get(row.get("productId")));
physicalInventoryCombined.add(row);
}
}
// print("physicalInventoryCombined"+physicalInventoryCombined);
InventoryList.add(physicalInventoryCombined);
}
context.put("InventoryList",InventoryList);
//print("\nInventoryList"+InventoryList);
the error which i am getting in the log is ..
Error in request handler:
Exception: org.ofbiz.widget.screen.ScreenRenderException
Message: Error rendering screen
[component://common/widget/CommonScreens.xml#GlobalDecorator]:
java.lang.ClassCastException: javolution.util.FastList cannot be cast to
java.util.Map (javolution.util.FastList cannot be cast to java.util.Map)
--
View this message in context:
http://www.nabble.com/java.lang.ClassCastException%3A-javolution.util.FastList-cannot-be-cast-to-java.util.Map-tp22251447p22251447.html
Sent from the OFBiz - User mailing list archive at Nabble.com.