You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by gopalbi <go...@hytechpro.com> on 2008/08/18 13:20:20 UTC
I need help in Invertory seaction in facility tab.
Hello friends,
please help me.
When i go to Facility-->Facilities-->Inventoy Search option form. if i am
putting productId like (WG-1111) then it show the exception like
-------------------------------------****************------------------------
:ERROR MESSAGE:
org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen
[component://product/widget/facility/FacilityScreens.xml#ViewFacilityInventoryByProduct]:
groovy.lang.MissingMethodException: No signature of method: static
org.ofbiz.entity.condition.EntityCondition.makeCondition() is applicable for
argument types: (java.lang.String, java.lang.Boolean,
org.ofbiz.entity.condition.EntityOperator$8, java.lang.String,
java.lang.Boolean) values: {"productId", true, LIKE, "WG-1111%", true} (No
signature of method: static
org.ofbiz.entity.condition.EntityCondition.makeCondition() is applicable for
argument types: (java.lang.String, java.lang.Boolean,
org.ofbiz.entity.condition.EntityOperator$8, java.lang.String,
java.lang.Boolean) values: {"productId", true, LIKE, "WG-1111%", true})
-------------------------------------*******************-------------------------------------
I am sending you the groovy file which i am using. I am unable to find where
is actual problem.But if i am trying with blank productId and then click to
the Find button then it show the result.
---------------------------------------ViewFacilityInventoryByProduct.groovy-----------------
import java.util.*
import java.sql.Timestamp
import org.ofbiz.base.util.*
import org.ofbiz.entity.*
import org.ofbiz.entity.condition.*
import org.ofbiz.entity.transaction.*
import org.ofbiz.entity.model.DynamicViewEntity
import org.ofbiz.entity.model.ModelKeyMap
import org.ofbiz.entity.util.EntityFindOptions
import org.ofbiz.product.inventory.*
action = request.getParameter("action");
searchParameterString = "";
searchParameterString = "action=Y&facilityId=" + facilityId;
offsetQOH = -1;
offsetATP = -1;
hasOffsetQOH = false;
hasOffsetATP = false;
rows = [] as ArrayList;
if (action) {
// ------------------------------
prodView = new DynamicViewEntity();
conditionMap = [facilityId : facilityId];
if (offsetQOHQty) {
try {
offsetQOH = Integer.parseInt(offsetQOHQty);
hasOffsetQOH = true;
searchParameterString = searchParameterString + "&offsetQOHQty="
+ offsetQOH;
} catch(NumberFormatException nfe) {
}
}
if (offsetATPQty) {
try {
offsetATP = Integer.parseInt(offsetATPQty);
hasOffsetATP = true;
searchParameterString = searchParameterString + "&offsetATPQty="
+ offsetATP;
} catch(NumberFormatException nfe) {
}
}
prodView.addMemberEntity("PRFA", "ProductFacility");
prodView.addAliasAll("PRFA", null);
prodView.addMemberEntity("PROD", "Product");
prodView.addViewLink("PROD", "PRFA", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("productId"));
prodView.addAlias("PROD", "internalName");
prodView.addAlias("PROD", "isVirtual");
prodView.addAlias("PROD", "salesDiscontinuationDate");
if (productTypeId) {
prodView.addAlias("PROD", "productTypeId");
conditionMap.productTypeId = productTypeId;
searchParameterString = searchParameterString + "&productTypeId=" +
productTypeId;
}
if (searchInProductCategoryId) {
prodView.addMemberEntity("PRCA", "ProductCategoryMember");
prodView.addViewLink("PRFA", "PRCA", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("productId"));
prodView.addAlias("PRCA", "productCategoryId");
conditionMap.productCategoryId = searchInProductCategoryId;
searchParameterString = searchParameterString +
"&searchInProductCategoryId=" + searchInProductCategoryId;
}
if (productSupplierId) {
prodView.addMemberEntity("SPPR", "SupplierProduct");
prodView.addViewLink("PRFA", "SPPR", Boolean.FALSE,
ModelKeyMap.makeKeyMapList("productId"));
prodView.addAlias("SPPR", "partyId");
conditionMap.partyId = productSupplierId;
searchParameterString = searchParameterString +
"&productSupplierId=" + productSupplierId;
}
// set distinct on so we only get one row per product
findOpts = new EntityFindOptions(true,
EntityFindOptions.TYPE_SCROLL_INSENSITIVE,
EntityFindOptions.CONCUR_READ_ONLY, true);
searchCondition = EntityCondition.makeCondition(conditionMap,
EntityOperator.AND);
notVirtualCondition =
EntityCondition.makeCondition(EntityCondition.makeCondition("isVirtual",
EntityOperator.EQUALS, null),
EntityOperator.OR,
EntityCondition.makeCondition("isVirtual", EntityOperator.NOT_EQUAL, "Y"));
whereConditionsList = [searchCondition, notVirtualCondition];
// add the discontinuation date condition
if (productsSoldThruTimestamp) {
discontinuationDateCondition = EntityCondition.makeCondition(
[
EntityCondition.makeCondition("salesDiscontinuationDate",
EntityOperator.EQUALS, null),
EntityCondition.makeCondition("salesDiscontinuationDate",
EntityOperator.GREATER_THAN, productsSoldThruTimestamp)
],
EntityOperator.OR);
whereConditionsList.add(discontinuationDateCondition);
searchParameterString = searchParameterString +
"&productsSoldThruTimestamp=" + productsSoldThruTimestamp;
}
// add search on internal name
if (internalName) {
whereConditionsList.add(EntityCondition.makeCondition("internalName", true,
EntityOperator.LIKE, "%" + internalName + "%", true));
searchParameterString = searchParameterString + "&internalName=" +
internalName;
}
// add search on productId
if (productId) {
whereConditionsList.add(EntityCondition.makeCondition("productId",
true, EntityOperator.LIKE, productId + "%", true));
searchParameterString = searchParameterString + "&productId=" +
productId;
}
whereCondition = EntityCondition.makeCondition(whereConditionsList,
EntityOperator.AND);
beganTransaction = false;
List prods = null;
try {
beganTransaction = TransactionUtil.begin();
prodsEli = delegator.findListIteratorByCondition(prodView,
whereCondition, null, null, ['productId'], findOpts);
prods = prodsEli.getCompleteList();
prodsEli.close();
} catch (GenericEntityException e) {
errMsg = "Failure in operation, rolling back transaction";
Debug.logError(e, errMsg, "ViewFacilityInventoryByProduct");
try {
// only rollback the transaction if we started one...
TransactionUtil.rollback(beganTransaction, errMsg, e);
} catch (GenericEntityException e2) {
Debug.logError(e2, "Could not rollback transaction: " +
e2.toString(), "ViewFacilityInventoryByProduct");
}
// after rolling back, rethrow the exception
throw e;
} finally {
// only commit the transaction if we started one... this will throw
an exception if it fails
TransactionUtil.commit(beganTransaction);
}
// If the user has specified a number of months over which to sum usage
quantities, define the correct timestamp
Timestamp checkTime = null;
monthsInPastLimitStr = request.getParameter("monthsInPastLimit");
if (monthsInPastLimitStr) {
try {
monthsInPastLimit = Integer.parseInt(monthsInPastLimitStr);
cal = UtilDateTime.toCalendar(null);
cal.add(Calendar.MONTH, 0 - monthsInPastLimit);
checkTime = UtilDateTime.toTimestamp(cal.getTime());
searchParameterString += "&monthsInPastLimit=" +
monthsInPastLimitStr;
} catch (Exception e) {
// Ignore
}
}
prods.each { oneProd ->
oneInventory = [:];
oneInventory.checkTime = checkTime;
oneInventory.facilityId = facilityId;
oneInventory.productId = oneProd.productId;
oneInventory.minimumStock = oneProd.minimumStock as String;
oneInventory.reorderQuantity = oneProd.reorderQuantity;
oneInventory.daysToShip = oneProd.daysToShip;
rows.add(oneInventory);
}
}
context.inventoryByProduct = rows;
context.searchParameterString = searchParameterString;
-----------------------------------------END--------------------------------------------
--
View this message in context: http://www.nabble.com/I-need-help-in-Invertory-seaction-in-facility-tab.-tp19029623p19029623.html
Sent from the OFBiz - User mailing list archive at Nabble.com.
Re: I need help in Invertory seaction in facility tab.
Posted by BJ Freeman <bj...@free-man.net>.
followed your instructions on demo server
https://demo.hotwaxmedia.com/facility/control/ViewFacilityInventoryByProduct
no error.
display info.
gopalbi sent the following on 8/18/2008 4:20 AM:
> Hello friends,
>
> please help me.
>
> When i go to Facility-->Facilities-->Inventoy Search option form. if i am
> putting productId like (WG-1111) then it show the exception like
> -------------------------------------****************------------------------
> :ERROR MESSAGE:
> org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen
> [component://product/widget/facility/FacilityScreens.xml#ViewFacilityInventoryByProduct]:
> groovy.lang.MissingMethodException: No signature of method: static
> org.ofbiz.entity.condition.EntityCondition.makeCondition() is applicable for
> argument types: (java.lang.String, java.lang.Boolean,
> org.ofbiz.entity.condition.EntityOperator$8, java.lang.String,
> java.lang.Boolean) values: {"productId", true, LIKE, "WG-1111%", true} (No
> signature of method: static
> org.ofbiz.entity.condition.EntityCondition.makeCondition() is applicable for
> argument types: (java.lang.String, java.lang.Boolean,
> org.ofbiz.entity.condition.EntityOperator$8, java.lang.String,
> java.lang.Boolean) values: {"productId", true, LIKE, "WG-1111%", true})
>
> -------------------------------------*******************-------------------------------------
>
> I am sending you the groovy file which i am using. I am unable to find where
> is actual problem.But if i am trying with blank productId and then click to
> the Find button then it show the result.
>
>
>
>
> ---------------------------------------ViewFacilityInventoryByProduct.groovy-----------------
>
> import java.util.*
> import java.sql.Timestamp
> import org.ofbiz.base.util.*
> import org.ofbiz.entity.*
> import org.ofbiz.entity.condition.*
> import org.ofbiz.entity.transaction.*
> import org.ofbiz.entity.model.DynamicViewEntity
> import org.ofbiz.entity.model.ModelKeyMap
> import org.ofbiz.entity.util.EntityFindOptions
> import org.ofbiz.product.inventory.*
>
> action = request.getParameter("action");
>
> searchParameterString = "";
> searchParameterString = "action=Y&facilityId=" + facilityId;
>
> offsetQOH = -1;
> offsetATP = -1;
> hasOffsetQOH = false;
> hasOffsetATP = false;
>
> rows = [] as ArrayList;
>
> if (action) {
> // ------------------------------
> prodView = new DynamicViewEntity();
> conditionMap = [facilityId : facilityId];
>
> if (offsetQOHQty) {
> try {
> offsetQOH = Integer.parseInt(offsetQOHQty);
> hasOffsetQOH = true;
> searchParameterString = searchParameterString + "&offsetQOHQty="
> + offsetQOH;
> } catch(NumberFormatException nfe) {
> }
> }
> if (offsetATPQty) {
> try {
> offsetATP = Integer.parseInt(offsetATPQty);
> hasOffsetATP = true;
> searchParameterString = searchParameterString + "&offsetATPQty="
> + offsetATP;
> } catch(NumberFormatException nfe) {
> }
> }
>
> prodView.addMemberEntity("PRFA", "ProductFacility");
> prodView.addAliasAll("PRFA", null);
>
> prodView.addMemberEntity("PROD", "Product");
> prodView.addViewLink("PROD", "PRFA", Boolean.FALSE,
> ModelKeyMap.makeKeyMapList("productId"));
> prodView.addAlias("PROD", "internalName");
> prodView.addAlias("PROD", "isVirtual");
> prodView.addAlias("PROD", "salesDiscontinuationDate");
> if (productTypeId) {
> prodView.addAlias("PROD", "productTypeId");
> conditionMap.productTypeId = productTypeId;
> searchParameterString = searchParameterString + "&productTypeId=" +
> productTypeId;
> }
> if (searchInProductCategoryId) {
> prodView.addMemberEntity("PRCA", "ProductCategoryMember");
> prodView.addViewLink("PRFA", "PRCA", Boolean.FALSE,
> ModelKeyMap.makeKeyMapList("productId"));
> prodView.addAlias("PRCA", "productCategoryId");
> conditionMap.productCategoryId = searchInProductCategoryId;
> searchParameterString = searchParameterString +
> "&searchInProductCategoryId=" + searchInProductCategoryId;
> }
>
> if (productSupplierId) {
> prodView.addMemberEntity("SPPR", "SupplierProduct");
> prodView.addViewLink("PRFA", "SPPR", Boolean.FALSE,
> ModelKeyMap.makeKeyMapList("productId"));
> prodView.addAlias("SPPR", "partyId");
> conditionMap.partyId = productSupplierId;
> searchParameterString = searchParameterString +
> "&productSupplierId=" + productSupplierId;
> }
>
> // set distinct on so we only get one row per product
> findOpts = new EntityFindOptions(true,
> EntityFindOptions.TYPE_SCROLL_INSENSITIVE,
> EntityFindOptions.CONCUR_READ_ONLY, true);
> searchCondition = EntityCondition.makeCondition(conditionMap,
> EntityOperator.AND);
> notVirtualCondition =
> EntityCondition.makeCondition(EntityCondition.makeCondition("isVirtual",
> EntityOperator.EQUALS, null),
> EntityOperator.OR,
>
> EntityCondition.makeCondition("isVirtual", EntityOperator.NOT_EQUAL, "Y"));
>
> whereConditionsList = [searchCondition, notVirtualCondition];
> // add the discontinuation date condition
> if (productsSoldThruTimestamp) {
> discontinuationDateCondition = EntityCondition.makeCondition(
> [
> EntityCondition.makeCondition("salesDiscontinuationDate",
> EntityOperator.EQUALS, null),
> EntityCondition.makeCondition("salesDiscontinuationDate",
> EntityOperator.GREATER_THAN, productsSoldThruTimestamp)
> ],
> EntityOperator.OR);
> whereConditionsList.add(discontinuationDateCondition);
> searchParameterString = searchParameterString +
> "&productsSoldThruTimestamp=" + productsSoldThruTimestamp;
> }
>
> // add search on internal name
> if (internalName) {
>
> whereConditionsList.add(EntityCondition.makeCondition("internalName", true,
> EntityOperator.LIKE, "%" + internalName + "%", true));
> searchParameterString = searchParameterString + "&internalName=" +
> internalName;
> }
>
> // add search on productId
> if (productId) {
> whereConditionsList.add(EntityCondition.makeCondition("productId",
> true, EntityOperator.LIKE, productId + "%", true));
> searchParameterString = searchParameterString + "&productId=" +
> productId;
> }
> whereCondition = EntityCondition.makeCondition(whereConditionsList,
> EntityOperator.AND);
>
> beganTransaction = false;
> List prods = null;
> try {
> beganTransaction = TransactionUtil.begin();
> prodsEli = delegator.findListIteratorByCondition(prodView,
> whereCondition, null, null, ['productId'], findOpts);
> prods = prodsEli.getCompleteList();
> prodsEli.close();
> } catch (GenericEntityException e) {
> errMsg = "Failure in operation, rolling back transaction";
> Debug.logError(e, errMsg, "ViewFacilityInventoryByProduct");
> try {
> // only rollback the transaction if we started one...
> TransactionUtil.rollback(beganTransaction, errMsg, e);
> } catch (GenericEntityException e2) {
> Debug.logError(e2, "Could not rollback transaction: " +
> e2.toString(), "ViewFacilityInventoryByProduct");
> }
> // after rolling back, rethrow the exception
> throw e;
> } finally {
> // only commit the transaction if we started one... this will throw
> an exception if it fails
> TransactionUtil.commit(beganTransaction);
> }
>
> // If the user has specified a number of months over which to sum usage
> quantities, define the correct timestamp
> Timestamp checkTime = null;
> monthsInPastLimitStr = request.getParameter("monthsInPastLimit");
> if (monthsInPastLimitStr) {
> try {
> monthsInPastLimit = Integer.parseInt(monthsInPastLimitStr);
> cal = UtilDateTime.toCalendar(null);
> cal.add(Calendar.MONTH, 0 - monthsInPastLimit);
> checkTime = UtilDateTime.toTimestamp(cal.getTime());
> searchParameterString += "&monthsInPastLimit=" +
> monthsInPastLimitStr;
> } catch (Exception e) {
> // Ignore
> }
> }
>
> prods.each { oneProd ->
> oneInventory = [:];
> oneInventory.checkTime = checkTime;
> oneInventory.facilityId = facilityId;
> oneInventory.productId = oneProd.productId;
> oneInventory.minimumStock = oneProd.minimumStock as String;
> oneInventory.reorderQuantity = oneProd.reorderQuantity;
> oneInventory.daysToShip = oneProd.daysToShip;
> rows.add(oneInventory);
> }
>
> }
> context.inventoryByProduct = rows;
> context.searchParameterString = searchParameterString;
>
> -----------------------------------------END--------------------------------------------
>
>