use of com.axelor.apps.supplychain.service.ReservedQtyService in project axelor-open-suite by axelor.
the class SaleOrderLineController method cancelReservation.
/**
* Called from sale order line form view, on request qty click. Call {@link
* ReservedQtyService#cancelReservation(SaleOrderLine)}
*
* @param request
* @param response
*/
public void cancelReservation(ActionRequest request, ActionResponse response) {
try {
SaleOrderLine saleOrderLine = request.getContext().asType(SaleOrderLine.class);
saleOrderLine = Beans.get(SaleOrderLineRepository.class).find(saleOrderLine.getId());
Product product = saleOrderLine.getProduct();
if (product == null || !product.getStockManaged()) {
throw new AxelorException(TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.SALE_ORDER_LINE_PRODUCT_NOT_STOCK_MANAGED));
}
Beans.get(ReservedQtyService.class).cancelReservation(saleOrderLine);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.apps.supplychain.service.ReservedQtyService in project axelor-open-suite by axelor.
the class SaleOrderLineController method changeReservedQty.
/**
* Called from sale order line request quantity wizard view. Call {@link
* ReservedQtyService#updateReservedQty(SaleOrderLine, BigDecimal)}.
*
* @param request
* @param response
*/
public void changeReservedQty(ActionRequest request, ActionResponse response) {
SaleOrderLine saleOrderLine = request.getContext().asType(SaleOrderLine.class);
BigDecimal newReservedQty = saleOrderLine.getReservedQty();
try {
saleOrderLine = Beans.get(SaleOrderLineRepository.class).find(saleOrderLine.getId());
Product product = saleOrderLine.getProduct();
if (product == null || !product.getStockManaged()) {
throw new AxelorException(TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.SALE_ORDER_LINE_PRODUCT_NOT_STOCK_MANAGED));
}
Beans.get(ReservedQtyService.class).updateReservedQty(saleOrderLine, newReservedQty);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.apps.supplychain.service.ReservedQtyService in project axelor-open-suite by axelor.
the class SaleOrderLineController method deallocateAll.
/**
* Called from sale order form view, on clicking deallocate button on one sale order line. Call
* {@link ReservedQtyService#updateReservedQty(SaleOrderLine, BigDecimal.ZERO)}.
*
* @param request
* @param response
*/
public void deallocateAll(ActionRequest request, ActionResponse response) {
try {
SaleOrderLine saleOrderLine = request.getContext().asType(SaleOrderLine.class);
saleOrderLine = Beans.get(SaleOrderLineRepository.class).find(saleOrderLine.getId());
Beans.get(ReservedQtyService.class).updateReservedQty(saleOrderLine, BigDecimal.ZERO);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.apps.supplychain.service.ReservedQtyService in project axelor-open-suite by axelor.
the class SaleOrderLineController method allocateAll.
/**
* Called from sale order form view, on clicking allocateAll button on one sale order line. Call
* {@link ReservedQtyService#allocateAll(SaleOrderLine)}.
*
* @param request
* @param response
*/
public void allocateAll(ActionRequest request, ActionResponse response) {
try {
SaleOrderLine saleOrderLine = request.getContext().asType(SaleOrderLine.class);
saleOrderLine = Beans.get(SaleOrderLineRepository.class).find(saleOrderLine.getId());
Product product = saleOrderLine.getProduct();
if (product == null || !product.getStockManaged()) {
throw new AxelorException(TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.SALE_ORDER_LINE_PRODUCT_NOT_STOCK_MANAGED));
}
Beans.get(ReservedQtyService.class).allocateAll(saleOrderLine);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
use of com.axelor.apps.supplychain.service.ReservedQtyService in project axelor-open-suite by axelor.
the class SaleOrderLineController method requestQty.
/**
* Called from sale order line form view, on request qty click. Call {@link
* ReservedQtyService#requestQty(SaleOrderLine)}
*
* @param request
* @param response
*/
public void requestQty(ActionRequest request, ActionResponse response) {
try {
SaleOrderLine saleOrderLine = request.getContext().asType(SaleOrderLine.class);
saleOrderLine = Beans.get(SaleOrderLineRepository.class).find(saleOrderLine.getId());
Product product = saleOrderLine.getProduct();
if (product == null || !product.getStockManaged()) {
throw new AxelorException(TraceBackRepository.CATEGORY_INCONSISTENCY, I18n.get(IExceptionMessage.SALE_ORDER_LINE_PRODUCT_NOT_STOCK_MANAGED));
}
Beans.get(ReservedQtyService.class).requestQty(saleOrderLine);
response.setReload(true);
} catch (Exception e) {
TraceBackService.trace(response, e);
}
}
Aggregations