mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 12:37:14 +01:00
346 lines
11 KiB
PHP
346 lines
11 KiB
PHP
<?php
|
|
|
|
namespace Xentral\Modules\Api\Resource;
|
|
|
|
use Xentral\Components\Database\SqlQuery\SelectQuery;
|
|
|
|
/**
|
|
* Ressource für Aufträge (Verkauf)
|
|
*/
|
|
class DocumentSalesOrderResource extends AbstractResource
|
|
{
|
|
/** @var string */
|
|
const TABLE_NAME = 'auftrag';
|
|
|
|
/**
|
|
* @return void
|
|
*/
|
|
protected function configure()
|
|
{
|
|
$this->setTableName(self::TABLE_NAME);
|
|
|
|
$this->registerFilterParams([
|
|
'status' => 'au.status LIKE',
|
|
'belegnr' => 'au.belegnr %LIKE%',
|
|
'belegnr_equals' => 'au.belegnr LIKE',
|
|
'belegnr_startswith' => 'au.belegnr LIKE%',
|
|
'belegnr_endswith' => 'au.belegnr %LIKE',
|
|
'kundennummer' => 'au.kundennummer %LIKE%',
|
|
'kundennummer_equals' => 'au.kundennummer LIKE',
|
|
'kundennummer_startswith' => 'au.kundennummer LIKE%',
|
|
'kundennummer_endswith' => 'au.kundennummer %LIKE',
|
|
'internet' => 'au.internet %LIKE%',
|
|
'internet_equals' => 'au.internet LIKE',
|
|
'internet_startswith' => 'au.internet LIKE%',
|
|
'internet_endswith' => 'au.internet %LIKE',
|
|
'datum' => 'au.datum =',
|
|
'datum_gt' => 'au.datum >',
|
|
'datum_gte' => 'au.datum >=',
|
|
'datum_lt' => 'au.datum <',
|
|
'datum_lte' => 'au.datum <=',
|
|
'angebot' => 'au.angebot LIKE',
|
|
'angebotid' => 'au.angebotid =',
|
|
'projekt' => 'au.projekt =',
|
|
]);
|
|
|
|
$this->registerSortingParams([
|
|
'belegnr' => 'au.belegnr',
|
|
'datum' => 'au.datum',
|
|
]);
|
|
|
|
$this->registerIncludes([
|
|
'positionen' => [
|
|
'key' => 'positionen',
|
|
'resource' => DocumentSalesOrderPositionResource::class,
|
|
'filter' => [
|
|
[
|
|
'property' => 'auftrag',
|
|
'value' => ':id',
|
|
],
|
|
],
|
|
'sort' => [
|
|
'sort' => 'ASC',
|
|
],
|
|
],
|
|
'protokoll' => [
|
|
'key' => 'protokoll',
|
|
'resource' => DocumentSalesOrderProtocolResource::class,
|
|
'columns' => [
|
|
'auproto.id',
|
|
'auproto.zeit',
|
|
'auproto.bearbeiter',
|
|
'auproto.grund',
|
|
],
|
|
'filter' => [
|
|
[
|
|
'property' => 'auftrag',
|
|
'value' => ':id',
|
|
],
|
|
],
|
|
'sort' => [
|
|
'zeit' => 'ASC',
|
|
],
|
|
],
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @return SelectQuery
|
|
*/
|
|
protected function selectOneQuery()
|
|
{
|
|
return $this->selectAllQuery()->where('au.id = :id');
|
|
}
|
|
|
|
/**
|
|
* @return SelectQuery
|
|
*/
|
|
protected function selectAllQuery()
|
|
{
|
|
return $this->db->select()
|
|
->cols([
|
|
'au.id',
|
|
'au.firma',
|
|
'au.projekt', // Index
|
|
'au.status', // Index
|
|
'au.belegnr', // Index
|
|
'au.kundennummer',
|
|
'au.lieferantenauftrag',
|
|
'au.lieferant',
|
|
'au.aktion',
|
|
'au.angebot',
|
|
'au.ihrebestellnummer',
|
|
'au.internet', // Index
|
|
'au.internebezeichnung',
|
|
'au.datum',
|
|
'au.lieferdatum',
|
|
'au.lieferdatumkw',
|
|
'au.tatsaechlicheslieferdatum',
|
|
'au.reservationdate',
|
|
'au.abweichendebezeichnung',
|
|
|
|
'au.adresse', // Index
|
|
'au.typ',
|
|
'au.name',
|
|
'au.titel',
|
|
'au.ansprechpartnerid',
|
|
'au.ansprechpartner',
|
|
'au.abteilung',
|
|
'au.unterabteilung',
|
|
'au.adresszusatz',
|
|
'au.strasse',
|
|
'au.plz',
|
|
'au.ort',
|
|
'au.land',
|
|
'au.bundesstaat',
|
|
'au.telefon',
|
|
'au.telefax',
|
|
'au.email',
|
|
'au.anschreiben',
|
|
//'au.betreff',
|
|
//'au.vertrieb',
|
|
//'au.vertriebid', // Index
|
|
//'au.deckungsbeitragcalc',
|
|
//'au.deckungsbeitrag',
|
|
'au.gesamtsumme',
|
|
'au.erloes_netto',
|
|
'au.umsatz_netto',
|
|
//'au.provision',
|
|
//'au.provision_summe',
|
|
//'au.keinsteuersatz',
|
|
|
|
'au.lager_ok',
|
|
'au.porto_ok',
|
|
'au.ust_ok',
|
|
'au.check_ok',
|
|
'au.vorkasse_ok',
|
|
'au.nachnahme_ok',
|
|
'au.reserviert_ok',
|
|
'au.partnerid',
|
|
'au.folgebestaetigung',
|
|
'au.zahlungsmail',
|
|
'au.liefertermin_ok',
|
|
'au.teillieferung_moeglich',
|
|
'au.kreditlimit_ok',
|
|
'au.kreditlimit_freigabe',
|
|
'au.liefersperre_ok',
|
|
'au.teillieferungvon', // Index
|
|
'au.teillieferungnummer',
|
|
|
|
'au.autofreigabe',
|
|
'au.freigabe',
|
|
'au.nachbesserung',
|
|
'au.abgeschlossen',
|
|
'au.nachlieferung',
|
|
'au.versandart',
|
|
'au.lieferbedingung',
|
|
'au.autoversand',
|
|
'au.keinporto',
|
|
'au.art',
|
|
'au.fastlane',
|
|
'au.lieferungtrotzsperre',
|
|
'au.keinestornomail',
|
|
'au.keinetrackingmail',
|
|
'au.zahlungsmailcounter',
|
|
'au.zahlungsweise',
|
|
'au.zahlungszieltage',
|
|
'au.zahlungszieltageskonto',
|
|
'au.zahlungszielskonto',
|
|
'au.skontobetrag',
|
|
'au.skontoberechnet',
|
|
//'au.bank_inhaber',
|
|
//'au.bank_institut',
|
|
//'au.bank_blz',
|
|
//'au.bank_konto',
|
|
//'au.kreditkarte_typ',
|
|
//'au.kreditkarte_inhaber',
|
|
//'au.kreditkarte_nummer',
|
|
//'au.kreditkarte_pruefnummer',
|
|
//'au.kreditkarte_monat',
|
|
//'au.kreditkarte_jahr',
|
|
'au.abweichendelieferadresse',
|
|
'au.liefername',
|
|
'au.liefertitel',
|
|
'au.lieferansprechpartner',
|
|
'au.lieferabteilung',
|
|
'au.lieferunterabteilung',
|
|
'au.lieferadresszusatz',
|
|
'au.lieferstrasse',
|
|
'au.lieferort',
|
|
'au.lieferplz',
|
|
'au.lieferland',
|
|
'au.lieferbundesstaat',
|
|
'au.lieferemail',
|
|
'au.lieferid',
|
|
'au.liefergln',
|
|
|
|
'au.versendet',
|
|
'au.versendet_am',
|
|
'au.versendet_per',
|
|
'au.versendet_durch',
|
|
//'au.inbearbeitung',
|
|
//'au.logdatei',
|
|
'au.angebotid',
|
|
//'au.rechnungid',
|
|
//'au.anfrageid',
|
|
//'au.gruppe', // Index
|
|
//'au.usereditid', // Index
|
|
//'au.useredittimestamp',
|
|
//'au.realrabatt',
|
|
//'au.rabatt',
|
|
//'au.rabatt1',
|
|
//'au.rabatt2',
|
|
//'au.rabatt3',
|
|
//'au.rabatt4',
|
|
//'au.rabatt5',
|
|
//'au.steuersatz_normal',
|
|
//'au.steuersatz_zwischen',
|
|
//'au.steuersatz_ermaessigt',
|
|
//'au.steuersatz_starkermaessigt',
|
|
//'au.steuersatz_dienstleistung',
|
|
//'au.schreibschutz',
|
|
//'au.pdfarchiviert',
|
|
//'au.pdfarchiviertversion',
|
|
//'au.ohne_briefpapier',
|
|
//'au.projektfiliale',
|
|
//'au.zuarchivieren',
|
|
//'au.angelegtam',
|
|
//'au.partnerausgezahlt',
|
|
//'au.partnerausgezahltam',
|
|
//'au.kennen',
|
|
//'au.rma',
|
|
//'au.transaktionsnummer', // Index
|
|
//'au.vorabbezahltmarkieren',
|
|
//'au.einzugsdatum',
|
|
//'au.auftragseingangper',
|
|
//'au.systemfreitext',
|
|
//'au.saldo',
|
|
//'au.saldogeprueft',
|
|
//'au.rabatteportofestschreiben',
|
|
//'au.deliverythresholdvatid',
|
|
//'au.lieferantennummer',
|
|
//'au.lieferantkdrnummer', // Index
|
|
//'au.webid',
|
|
//'au.cronjobkommissionierung',
|
|
//'au.standardlager',
|
|
//'au.kommissionskonsignationslager',
|
|
//'au.extsoll',
|
|
'au.gln',
|
|
'au.bearbeiterid',
|
|
'au.bearbeiter',
|
|
'au.ohne_artikeltext',
|
|
'au.ustid',
|
|
'au.ust_befreit',
|
|
'au.ust_inner',
|
|
'au.anzeigesteuer',
|
|
'au.waehrung',
|
|
'au.sprache',
|
|
'au.kurs',
|
|
'au.kostenstelle',
|
|
'au.freitext',
|
|
'au.internebemerkung',
|
|
'au.bodyzusatz',
|
|
'au.shop',
|
|
'au.shopextid',
|
|
'au.shopextstatus',
|
|
//'au.stornogrund',
|
|
//'au.stornosonstiges',
|
|
//'au.stornorueckzahlung',
|
|
//'au.stornobetrag',
|
|
//'au.stornobankinhaber',
|
|
//'au.stornobankkonto',
|
|
//'au.stornobankblz',
|
|
//'au.stornobankbank',
|
|
//'au.stornogutschrift',
|
|
//'au.stornogutschriftbeleg',
|
|
//'au.stornowareerhalten',
|
|
//'au.stornomanuellebearbeitung',
|
|
//'au.stornokommentar',
|
|
//'au.stornobezahlt',
|
|
//'au.stornobezahltam',
|
|
//'au.stornobezahltvon',
|
|
//'au.stornoabgeschlossen',
|
|
//'au.stornorueckzahlungper',
|
|
//'au.stornowareerhaltenretour',
|
|
//'au.transaktionsnummer',
|
|
//'au.packstation_inhaber',
|
|
//'au.packstation_station',
|
|
//'au.packstation_ident',
|
|
//'au.packstation_plz',
|
|
//'au.packstation_ort',
|
|
])->from(self::TABLE_NAME . ' AS au');
|
|
}
|
|
|
|
/**
|
|
* @return SelectQuery
|
|
*/
|
|
protected function selectIdsQuery()
|
|
{
|
|
return $this->selectAllQuery()->where('s.id IN (:ids)');
|
|
}
|
|
|
|
/**
|
|
* @return false
|
|
*/
|
|
protected function insertQuery()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @return false
|
|
*/
|
|
protected function updateQuery()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* @return false
|
|
*/
|
|
protected function deleteQuery()
|
|
{
|
|
return false;
|
|
}
|
|
}
|