public void showCopyOfTechnology( final ViewDefinitionState view, final ComponentState state, final String[] args) { Long orderId = (Long) state.getFieldValue(); if (orderId != null) { Entity order = dataDefinitionService .get(OrdersConstants.PLUGIN_IDENTIFIER, OrdersConstants.MODEL_ORDER) .get(orderId); if (OrderType.WITH_PATTERN_TECHNOLOGY .getStringValue() .equals(order.getField(OrderFields.ORDER_TYPE)) && (order.getBelongsToField(OrderFields.TECHNOLOGY_PROTOTYPE) == null)) { state.addMessage("order.technology.patternTechnology.not.set", MessageType.INFO); return; } Long technologyId = order.getBelongsToField(OrderFields.TECHNOLOGY).getId(); Map<String, Object> parameters = Maps.newHashMap(); parameters.put("form.id", technologyId); String url = "../page/orders/copyOfTechnologyDetails.html"; view.redirectTo(url, false, true, parameters); } }
private boolean isOrderTypeChangedToWithPatternTechnology(final Entity order) { Entity existingOrder = getExistingOrder(order); if (existingOrder == null) { return false; } String orderType = existingOrder.getStringField(OrderFields.ORDER_TYPE); if (OrderType.WITH_PATTERN_TECHNOLOGY.getStringValue().equals(orderType)) { return false; } return true; }
public void setTechnologyNumber(final DataDefinition orderDD, final Entity order) { String orderType = order.getStringField(OrderFields.ORDER_TYPE); Entity technology = order.getBelongsToField(OrderFields.TECHNOLOGY); if (technology == null) { return; } String number = ""; if (OrderType.WITH_PATTERN_TECHNOLOGY.getStringValue().equals(orderType)) { number = generateNumberForTechnologyInOrder( order, order.getBelongsToField(OrderFields.TECHNOLOGY_PROTOTYPE)); } else if (OrderType.WITH_OWN_TECHNOLOGY.getStringValue().equals(orderType)) { number = generateNumberForTechnologyInOrder(order, null); } technology.setField(TechnologyFields.NUMBER, number); technology = technology.getDataDefinition().save(technology); order.setField(OrderFields.TECHNOLOGY, technology); }