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);
    }
  }
예제 #2
0
  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;
  }
예제 #3
0
 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);
 }