src/Document/Collect/Invoice.php line 21
<?php
namespace App\Document\Collect;
use App\Common\Document\Common;
use ApiPlatform\Metadata\ApiResource;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
use Symfony\Component\Validator\Constraints as Assert;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Serializer\Annotation\Groups;
use App\Filter;
use ApiPlatform\Metadata\ApiFilter;
use App\Document\Embed as MainEmbed;
/**
* @ODM\Document(collection="collect__invoice")
* @ODM\Index(keys={"loc"="2dsphere"})
*/
#[ApiResource(routePrefix: 'collect', shortName: 'collect__invoice', paginationType: "cursor")]
#[ApiFilter(Filter\AdvancedSearchFilter::class, properties: ["number","name","client.name"])]
#[ApiFilter(Filter\RegexFilter::class, properties: ["number","name","client.name"])]
#[ApiFilter(Filter\GeoFilter::class, properties: ["loc"])]
class Invoice extends Common
{
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $case;
/**
* @ODM\ReferenceOne(targetDocument=App\Document\Common\Category::class, storeAs="id", nullable=true)
* @Groups("main")
*/
public $category;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $tabgh = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $efaa = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $eywa = [];
/**
* @ODM\Field(type="date", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $payment_date;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $action;
/**
* @ODM\Field(type="date", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $sadad_date;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $status;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $payment_status;
/**
* @ODM\Field(type="collection", nullable=true)
* @Groups("main")
*/
public $vals;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $naba = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $classification = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $letter = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $payment_notice = [];
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $current_status;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $system_status;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $required_action;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $warning = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $coord = [];
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $payment_period;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $invoice_age;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $contract_number;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $ref;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $type;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $revenue_type;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $extra = [];
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $force_reason;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $name;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $number;
/**
* @ODM\ReferenceOne(targetDocument=Client::class, storeAs="id", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $client;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $tax_date = [];
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $tax;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $elm;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $diwan;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $stamp;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $rev_amount;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $total;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $extra_tax;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $eskan;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $ewya = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $building = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $drilling = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $invest = [];
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $amount;
/**
* @ODM\Field(type="float", nullable=true)
* @Groups("main")
*/
public $net_value;
/**
* @ODM\Field(type="date", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $date;
/**
* @ODM\ReferenceOne(targetDocument=Contract::class, storeAs="id", nullable=true)
* @Groups("main")
*/
public $contract;
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $sheet;
/**
* @ODM\ReferenceOne(targetDocument=License::class, storeAs="id", nullable=true)
* @Groups("main")
*/
public $license;
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $visit = [];
/**
* @ODM\Field(type="raw", nullable=true)
* @Groups("main")
*/
public $call = [];
/**
* @ODM\Field(type="string", nullable=true)
* @Groups("main")
*/
public $system_type;
/**
* @ODM\ReferenceOne(targetDocument=App\Document\Geo\Province::class, storeAs="id", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $province;
/**
* @ODM\ReferenceOne(targetDocument=App\Document\Geo\Municipality::class, storeAs="id", nullable=true)
* @Groups("main")
* @ODM\Index
*/
public $mun;
/**
* @ODM\EmbedOne(targetDocument=MainEmbed\Point::class, nullable=True)
* @Groups("main")
*/
public ?MainEmbed\Point $loc;
}