Class DefaultB2BBudgetExceededEvaluationStrategy
- java.lang.Object
-
- de.hybris.platform.b2b.strategies.impl.AbstractEvaluationStrategy<P>
-
- de.hybris.platform.b2b.strategies.impl.AbstractPermissionEvaluationStrategy<B2BPermissionModel>
-
- de.hybris.platform.b2b.strategies.impl.DefaultB2BBudgetExceededEvaluationStrategy
-
- All Implemented Interfaces:
EvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel,B2BCustomerModel>,PermissionEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel,B2BCustomerModel>
public class DefaultB2BBudgetExceededEvaluationStrategy extends AbstractPermissionEvaluationStrategy<B2BPermissionModel> implements PermissionEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel,B2BCustomerModel>
A strategy for evaluatingB2BBudgetExceededPermissionModel
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.b2b.strategies.impl.AbstractPermissionEvaluationStrategy
NOLIMIT
-
-
Constructor Summary
Constructors Constructor Description DefaultB2BBudgetExceededEvaluationStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckBudgetExceeded(AbstractOrderModel order)Check if the order has exceeded the active budget.B2BPermissionResultModelevaluate(AbstractOrderModel order, B2BCustomerModel employee)1) Check if order would exceed budget of cost center 1.1) If it doesn't, fine, set permissionresult for this type to approved and exit 1.2) If it does, continue with 2 2) Check if user has BudgetExceeded permission 2.1) If he doesn't, continue with 3 2.2) If he does, fine, set permission result for this type to approved and exit 3) Set PermissionResult to Open and later processing has to find approverprotected B2BBudgetService<B2BBudgetModel,B2BCustomerModel>getB2BBudgetService()protected B2BCostCenterServicegetB2bCostCenterService()B2BBudgetExceededPermissionModelgetPermissionToEvaluate(java.util.Set<B2BPermissionModel> permissions, java.lang.Class<? extends B2BPermissionModel> type)java.lang.Class<? extends B2BPermissionModel>getPermissionType()Gets the permission type.voidsetB2BBudgetService(B2BBudgetService<B2BBudgetModel,B2BCustomerModel> b2BBudgetService)voidsetB2bCostCenterService(B2BCostCenterService b2bCostCenterService)-
Methods inherited from class de.hybris.platform.b2b.strategies.impl.AbstractPermissionEvaluationStrategy
getActivePermissions, getOrderEntryTotal, getOrderTotal, getOrderTotals, getPermissions, getTotalOfEntriesWithCostCenter, getTotalTax, getTypesToEvaluate, toMoney
-
Methods inherited from class de.hybris.platform.b2b.strategies.impl.AbstractEvaluationStrategy
getModelService, getTypeService, setModelService, setTypeService
-
-
-
-
Method Detail
-
evaluate
public B2BPermissionResultModel evaluate(AbstractOrderModel order, B2BCustomerModel employee)
1) Check if order would exceed budget of cost center 1.1) If it doesn't, fine, set permissionresult for this type to approved and exit 1.2) If it does, continue with 2 2) Check if user has BudgetExceeded permission 2.1) If he doesn't, continue with 3 2.2) If he does, fine, set permission result for this type to approved and exit 3) Set PermissionResult to Open and later processing has to find approver- Specified by:
evaluatein interfaceEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel,B2BCustomerModel>- Parameters:
order- the AbstractOrderModelemployee- the B2BCustomerModel- Returns:
- the B2BPermissionResultModel
-
checkBudgetExceeded
protected boolean checkBudgetExceeded(AbstractOrderModel order)
Check if the order has exceeded the active budget.- Parameters:
order- A b2b order- Returns:
- true, if successful
-
getPermissionToEvaluate
public B2BBudgetExceededPermissionModel getPermissionToEvaluate(java.util.Set<B2BPermissionModel> permissions, java.lang.Class<? extends B2BPermissionModel> type)
-
getPermissionType
public java.lang.Class<? extends B2BPermissionModel> getPermissionType()
Description copied from interface:PermissionEvaluateStrategyGets the permission type.- Specified by:
getPermissionTypein interfacePermissionEvaluateStrategy<B2BPermissionResultModel,AbstractOrderModel,B2BCustomerModel>- Specified by:
getPermissionTypein classAbstractPermissionEvaluationStrategy<B2BPermissionModel>- Returns:
- the permission type
-
setB2bCostCenterService
public void setB2bCostCenterService(B2BCostCenterService b2bCostCenterService)
-
setB2BBudgetService
public void setB2BBudgetService(B2BBudgetService<B2BBudgetModel,B2BCustomerModel> b2BBudgetService)
-
getB2bCostCenterService
protected B2BCostCenterService getB2bCostCenterService()
-
getB2BBudgetService
protected B2BBudgetService<B2BBudgetModel,B2BCustomerModel> getB2BBudgetService()
-
-