public void crearMaestroInicio(vistaMaestro vista) {
    // mainPrototipo principal =
    // (mainPrototipo)vista.getParent().getParent().getParent().getParent().getParent();
    modeloMaestro modeloMaestro = new modeloMaestro();

    if (modeloMaestro.buscarMaestros().length == 0) {
      // System.out.println("Crear Maestro inicio");
      Maestro mstr = new Maestro();
      mstr.setLngid(0);
      mstr.setStrcodigo("RAIZ");
      mstr.setStrnombre("Sistema");
      mstr.setStrsigla("RAIZ");
      mstr.setIntnivel((short) 1);
      mstr.setIntpos_rel((short) 1);
      mstr.setStrip_creacion(this.obtenerIpHost());
      mstr.setStrhost_creacion(this.obtenerNombreHost());
      mstr.setDtmfecha_creacion(new Date());
      mstr.setDtmvalido_hasta(this.sumarAnios(5));
      mstr.setBolactivo(true);
      // mstr.setDtousuario_cracion(principal.getUsrConectado());
      modeloMaestro.grabar(mstr);
      javax.swing.DefaultComboBoxModel modeloComboMaestro =
          new javax.swing.DefaultComboBoxModel(modeloMaestro.buscarMaestros());
      vista.getCmbdtomaestro().setModelo(modeloComboMaestro);
      this.getSession().setListaDto(modeloMaestro.buscar(new Maestro()));
    }
    this.cargarGrid();
  }
  public void grabar() {
    vistaMaestro vista = new vistaMaestro(this);
    vista = (vistaMaestro) this.getSession().getVista();
    String strlngid = vista.getTxtlngid().getText();

    if (strlngid.isEmpty() || strlngid.length() == 0) {
      vista.mensageDialogo(
          "error",
          "Identificador vacío o inválido.\nÉste debe ser mayor o igual a cero.",
          vista.getTitle());
    } else {
      Maestro dto = new Maestro();
      dto.setHash(vista.getDto(dto));
      this.getSession().setUsuarioInicio(vista);
      if (dto.getLngid() == 0) {
        dto.setLngseg_usuario_creacion(this.getSession().getLngusr());
        dto.setDtmfecha_creacion(new Date());
        dto.setStrip_creacion(this.obtenerIpHost());
        dto.setStrhost_creacion(this.obtenerNombreHost());
        dto.setLngseg_usuario_modificacion(this.getSession().getLngusr());
        dto.setDtmfecha_modificacion(new Date());
        dto.setStrip_modificacion(this.obtenerIpHost());
        dto.setStrhost_modificacion(this.obtenerNombreHost());
        dto.setDtmvalido_desde(new Date());
        dto.setDtmvalido_hasta(this.sumarAnios(20));
        dto.setBolborrado(false);

      } else {
        dto.setStrip_modificacion(this.obtenerIpHost());
        dto.setStrhost_modificacion(this.obtenerNombreHost());
        dto.setDtmfecha_modificacion(new Date());
        dto.setLngseg_usuario_modificacion(this.getSession().getLngusr());
      }
      List<String> lsError = this.testValidacion(dto);
      if (lsError.isEmpty()) {
        int intDialogo =
            vista.mensageDialogo("confirmar", "¿Desea grabar los cambios?", vista.getTitle());
        if (JOptionPane.YES_OPTION == intDialogo) {
          modeloMaestro modelo = new modeloMaestro();
          modelo.grabar(dto);
          vista.mensageDialogo("informacion", "Datos Grabados.", vista.getTitle());
          vista.limpiarError();
        }
      } else {
        // vista.mensageDialogo("error","Por favor verifíque los datos. Debe ingresarlos
        // correctamente!","Error en datos");
        vista.marcarError(lsError);
      }
    }
  }