<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

if (!defined('BASEDIR')) {
  include_once '..' . DIRECTORY_SEPARATOR . 'constants.php';
}


class DBWorkObjekt extends DBWorkGenerated
{
  const PREFIX = 'o';

  public function __construct($pDBTyp = 1, $pNewInstance = false)
  {
    parent::__construct($pDBTyp, $pNewInstance);
    $this->select = 'id, bezeichnung, bemerkung, objekt_art_id, menge, gewicht, inventar_betrag, lager_ort_id, inventar_nr, serien_nr, objekt_klassif_id, anschaffung_datum, anschaffung_kosten, va_alternativ, va_nr, va_typ, info, nicht_verfuegbar, web_anzeige_von, web_anzeige_bis, konto, kostenstelle, barcodetext, herdt_datenquelle, herdt_externe_id, herdt_titel_lang, herdt_lieferant_text, untertitel, autor, hlverlag_id, erscheinungsort, auflage, erscheinungsjahr, isbn, hlsprache_id, hlmandant_id, sort, verkaeuflich, verleihbar, intern_einsetzbar, inventar, bearbeiter, bearbdatum, erfasstvon, erfasstam, artikel_nr, lieferzeit, erscheinungsdatum, versandtyp, ';
    $this->select .= $this->dboperation->dbparser->cast2Text('nicht_verfuegbar_text', self::PREFIX);
    $this->_dataModulFields = array('bezeichnung', 'bemerkung', 'gewicht', 'inventar_betrag', 'inventar_nr', 'serien_nr', 'anschaffung_kosten', 'va_alternativ', 'va_typ', 'info', 'nicht_verfuegbar', 'konto', 'kostenstelle', 'barcodetext', 'herdt_datenquelle', 'herdt_externe_id', 'herdt_titel_lang', 'herdt_lieferant_text', 'untertitel', 'autor', 'erscheinungsort', 'isbn', 'verkaeuflich', 'verleihbar', 'intern_einsetzbar', 'inventar', 'bearbeiter', 'erfasstvon', 'anschaffung_datum', 'web_anzeige_von', 'web_anzeige_bis', 'bearbdatum', 'erfasstam', 'objekt_art_id', 'menge', 'lager_ort_id', 'objekt_klassif_id', 'va_nr', 'hlverlag_id', 'auflage', 'erscheinungsjahr', 'hlsprache_id', 'hlmandant_id', 'sort', 'id', 'artikel_nr', 'lieferzeit', 'nicht_verfuegbar_text', 'erscheinungsdatum', 'versandtyp');
  }

  
  public function getNewObject()
  {
    return new Objekt();
  }

  public function getTableName(): string
  {
    return 'objekt';
  }

  
  public function getSearchSqlFreigabePart($pPrefix)
  {
    
    $result = ' AND ' . $this->datetimeop->getGueltigPart($pPrefix, 'web_anzeige_von', 'web_anzeige_bis');
    
    $result .= ' AND ' . $this->dboperation->dbparser->isNull($pPrefix . 'web_anzeige', "'F'") . " = 'W'";

    return $result;
  }
}