Пример #1
0
  @Override
  protected void onBtnSaveClick() throws PresentationLogicException {
    ProceduresPerformedByHCPVo proc = null;

    if (form.getLocalContext().getIsNewNodeIsNotNull() && form.getLocalContext().getIsNewNode()
        || form.getLocalContext().getIsNewServiceIsNotNull()
            && form.getLocalContext()
                .getIsNewService()) // &&form.getLocalContext().getIsNewProcedureIsNotNull()&&form.getLocalContext().getIsNewProcedure())
    proc = new ProceduresPerformedByHCPVo();
    else if (form.getLocalContext().getSelectedProcedurePerfIsNotNull())
      proc = form.getLocalContext().getSelectedProcedurePerf();

    ProcedureLiteVoCollection procedures = new ProcedureLiteVoCollection();
    if (form.qmbHCPpanel().getValue() != null) proc.setPerformingHCP(form.qmbHCPpanel().getValue());
    if (form.cmbServicesPanel().getValue() != null)
      proc.setService(form.cmbServicesPanel().getValue());

    if (form.dyngrdProcedures().getRows().size() != 0) {
      for (int i = 0; i < form.dyngrdProcedures().getRows().size(); i++) {
        DynamicGridRow row = form.dyngrdProcedures().getRows().get(i);
        DynamicGridColumn column =
            form.dyngrdProcedures().getColumns().getByIdentifier(COLUMN_PROC);
        DynamicGridCell cell = row.getCells().get(column);

        // WDEV-17779
        if (cell.getValue() == null && cell.getTypedText() != null) {
          engine.showMessage(
              "Please select a Procedure. '" + cell.getTypedText() + "' is not valid.");
          return;
        }

        procedures.add((ProcedureLiteVo) cell.getValue());
      }
    } else procedures = null;

    proc.setProcedures(procedures);

    try {
      String[] errors = proc.validate();
      if (errors != null) {
        engine.showErrors(errors);
        return;
      } else
        try {
          domain.saveProcedurePerformedByHCP(proc);
        } catch (DomainInterfaceException e) {
          e.printStackTrace();
          engine.showMessage("Error saving Procedure" + e.toString());
          return;
        }
    } catch (StaleObjectException e) {
      engine.showMessage(ims.configuration.gen.ConfigFlag.UI.STALE_OBJECT_MESSAGE.getValue());
    }

    form.setMode(FormMode.VIEW);

    ProceduresPerformedByHCPVoCollection hcpProcedures =
        domain.listProceduresPerformedByHCP(
            form.qmbHCP().getValue(), form.cmbServices().getValue());
    populateTree(hcpProcedures);
    initialize();
  }