%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.145.10.49 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/internals/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sale * @copyright 2001-2012 Bitrix */ namespace Bitrix\Sale\Internals; use Bitrix\Main; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); /** * Class OrderTable * * DO NOT WRITE ANYTHING BELOW THIS * * <<< ORMENTITYANNOTATION * @method static EO_Order_Query query() * @method static EO_Order_Result getByPrimary($primary, array $parameters = array()) * @method static EO_Order_Result getById($id) * @method static EO_Order_Result getList(array $parameters = array()) * @method static EO_Order_Entity getEntity() * @method static \Bitrix\Sale\Internals\EO_Order createObject($setDefaultValues = true) * @method static \Bitrix\Sale\Internals\EO_Order_Collection createCollection() * @method static \Bitrix\Sale\Internals\EO_Order wakeUpObject($row) * @method static \Bitrix\Sale\Internals\EO_Order_Collection wakeUpCollection($rows) */ class OrderTable extends Main\Entity\DataManager { /** * Returns DB table name for entity. * * @return string */ public static function getTableName() { return 'b_sale_order'; } /** * Returns entity map definition. * * @return array */ public static function getMap() { global $DB, $USER; $maxLock = intval(Main\Config\Option::get('sale','MAX_LOCK_TIME', 60)); $userID = (is_object($USER) ? (int)$USER->getID() : 0); $connection = Main\Application::getConnection(); $helper = $connection->getSqlHelper(); return array( new Main\Entity\IntegerField('ID', array( 'autocomplete' => true, 'primary' => true, ) ), new Main\Entity\StringField('LID'), new Main\Entity\StringField( 'ACCOUNT_NUMBER', array( 'size' => 100 ) ), new Main\Entity\StringField('TRACKING_NUMBER'), new Main\Entity\IntegerField('PAY_SYSTEM_ID'), new Main\Entity\IntegerField('DELIVERY_ID'), new Main\Entity\DatetimeField('DATE_INSERT'), new Main\Entity\ExpressionField( 'DATE_INSERT_SHORT', $DB->datetimeToDateFunction('%s'), array('DATE_INSERT'), array('data_type' => 'datetime') ), new Main\Entity\ExpressionField( 'DATE_INSERT_FORMAT', static::replaceDateTime(), array('DATE_INSERT'), array('data_type' => 'datetime') ), new Main\Entity\DatetimeField('DATE_UPDATE'), new Main\Entity\ExpressionField( 'DATE_UPDATE_SHORT', $DB->datetimeToDateFunction('%s'), array('DATE_UPDATE'), array('data_type' => 'datetime') ), new Main\Entity\ExpressionField( 'PRODUCTS_QUANT', '(SELECT SUM(b_sale_basket.QUANTITY) FROM b_sale_basket WHERE b_sale_basket.ORDER_ID = %s)', array('ID') ), new Main\Entity\StringField('PERSON_TYPE_ID'), new Main\Entity\IntegerField( 'USER_ID', array( 'required' => true ) ), new Main\Entity\ReferenceField( 'USER', '\Bitrix\Main\User', array('=this.USER_ID' => 'ref.ID'), array('join_type' => 'left') ), new Main\Entity\BooleanField( 'PAYED', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\BooleanField( 'IS_SYNC_B24', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\DatetimeField('DATE_PAYED'), new Main\Entity\IntegerField('EMP_PAYED_ID'), new Main\Entity\BooleanField( 'DEDUCTED', array( 'values' => array('N','Y'), 'default_value' => 'N' ) ), new Main\Entity\DatetimeField('DATE_DEDUCTED'), new Main\Entity\IntegerField('EMP_DEDUCTED_ID'), new Main\Entity\StringField('REASON_UNDO_DEDUCTED'), new Main\Entity\StringField('STATUS_ID'), new Main\Entity\ReferenceField( 'STATUS', 'Bitrix\Sale\Internals\StatusLang', array( '=this.STATUS_ID' => 'ref.STATUS_ID', '=ref.LID' => array('?', LANGUAGE_ID) ) ), new Main\Entity\DatetimeField('DATE_STATUS'), new Main\Entity\ExpressionField( 'DATE_STATUS_SHORT', $DB->datetimeToDateFunction('%s'), array('DATE_STATUS'), array('data_type' => 'datetime') ), new Main\Entity\IntegerField('EMP_STATUS_ID'), new Main\Entity\ReferenceField( 'EMP_STATUS_BY', 'Bitrix\Main\User', array( '=this.EMP_STATUS_ID' => 'ref.ID' ) ), new Main\Entity\BooleanField( 'MARKED', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\DatetimeField('DATE_MARKED'), new Main\Entity\IntegerField('EMP_MARKED_ID'), new Main\Entity\ReferenceField( 'EMP_MARKED_BY', 'Bitrix\Main\User', array( '=this.EMP_MARKED_ID' => 'ref.ID' ) ), new Main\Entity\StringField('REASON_MARKED'), new Main\Entity\FloatField( 'PRICE_DELIVERY' ), new Main\Entity\BooleanField( 'ALLOW_DELIVERY', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\DatetimeField('DATE_ALLOW_DELIVERY'), new Main\Entity\IntegerField('EMP_ALLOW_DELIVERY_ID'), new Main\Entity\BooleanField( 'RESERVED', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\FloatField( 'PRICE', array( 'default_value' => '0.0000' ) ), new Main\Entity\StringField( 'CURRENCY', array( 'required' => true, 'size' => 3 ) ), new Main\Entity\FloatField( 'DISCOUNT_VALUE', array( 'default_value' => '0.0000' ) ), new Main\Entity\ExpressionField( 'DISCOUNT_ALL', "%s + (SELECT SUM(b_sale_basket.DISCOUNT_PRICE) FROM b_sale_basket WHERE b_sale_basket.ORDER_ID = %s)", array('DISCOUNT_VALUE', 'ID') ), new Main\Entity\FloatField('TAX_VALUE'), new Main\Entity\FloatField('SUM_PAID'), new Main\Entity\ExpressionField( 'SUM_PAID_FORREP', 'CASE WHEN %s = \'Y\' THEN %s ELSE %s END', array('PAYED', 'PRICE', 'SUM_PAID') ), new Main\Entity\StringField( 'USER_DESCRIPTION', array( 'size' => 2000 ) ), new Main\Entity\StringField( 'PAY_VOUCHER_NUM', array( 'size' => 20, ) ), new Main\Entity\DateField('PAY_VOUCHER_DATE'), new Main\Entity\StringField('ADDITIONAL_INFO'), new Main\Entity\StringField('COMMENTS'), new Main\Entity\IntegerField('COMPANY_ID'), new Main\Entity\IntegerField('CREATED_BY'), new Main\Entity\ReferenceField( 'CREATED_USER', 'Bitrix\Main\User', array( '=this.CREATED_BY' => 'ref.ID' ) ), new Main\Entity\IntegerField('RESPONSIBLE_ID'), new Main\Entity\ReferenceField( 'RESPONSIBLE_BY', 'Bitrix\Main\User', array( '=this.RESPONSIBLE_ID' => 'ref.ID' ) ), new Main\Entity\StringField('STAT_GID'), new Main\Entity\DateField('DATE_PAY_BEFORE'), new Main\Entity\DateField('DATE_BILL'), new Main\Entity\BooleanField( 'IS_RECURRING', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\IntegerField('RECURRING_ID'), new Main\Entity\IntegerField('LOCKED_BY'), new Main\Entity\ReferenceField( 'LOCK_USER', 'Bitrix\Main\User', array( '=this.LOCKED_BY' => 'ref.ID' ) ), new Main\Entity\DatetimeField('DATE_LOCK'), new Main\Entity\ExpressionField( 'LOCK_USER_NAME', $helper->getConcatFunction("'('", "%s", "') '", "%s", "' '", "%s"), array('LOCK_USER.LOGIN', 'LOCK_USER.NAME', 'LOCK_USER.LAST_NAME') ), new Main\Entity\ExpressionField( 'LOCK_STATUS', "if(DATE_LOCK is null, 'green', if(DATE_ADD(DATE_LOCK, interval ".$maxLock." MINUTE)<now(), 'green', if(LOCKED_BY=".$userID.", 'yellow', 'red')))" ), new Main\Entity\ReferenceField( 'USER_GROUP', 'Bitrix\Main\UserGroup', array( '=ref.USER_ID' => 'this.USER_ID' ) ), new Main\Entity\ReferenceField( 'RESPONSIBLE', 'Bitrix\Main\User', array( '=this.RESPONSIBLE_ID' => 'ref.ID' ) ), new Main\Entity\ReferenceField( 'BASKET', 'Bitrix\Sale\Internals\Basket', array( '=this.ID' => 'ref.ORDER_ID' ), array('join_type' => 'INNER') ), new Main\Entity\ExpressionField( 'BASKET_PRICE_TOTAL', '(%s * %s)', array('BASKET.PRICE', 'BASKET.QUANTITY') ), new Main\Entity\ReferenceField( 'PAYMENT', 'Bitrix\Sale\Internals\Payment', array( '=ref.ORDER_ID' => 'this.ID', ) ), new Main\Entity\ReferenceField( 'SHIPMENT', 'Bitrix\Sale\Internals\Shipment', array( '=ref.ORDER_ID' => 'this.ID', ) ), new Main\Entity\ReferenceField( 'PROPERTY', 'Bitrix\Sale\Internals\OrderPropsValue', array( '=ref.ORDER_ID' => 'this.ID', ), array('join_type' => 'INNER') ), new Main\Entity\BooleanField( 'RECOUNT_FLAG', array( 'values' => array('N', 'Y') ) ), new Main\Entity\IntegerField('AFFILIATE_ID'), new Main\Entity\StringField( 'DELIVERY_DOC_NUM', array( 'size' => 20 ) ), new Main\Entity\DatetimeField('DELIVERY_DOC_DATE'), new Main\Entity\BooleanField( 'UPDATED_1C', array( 'values' => array('N', 'Y'), 'default' => 'N' ) ), new Main\Entity\StringField('ORDER_TOPIC'), new Main\Entity\StringField('XML_ID'), new Main\Entity\StringField('ID_1C'), new Main\Entity\StringField('VERSION_1C'), new Main\Entity\IntegerField('VERSION'), new Main\Entity\BooleanField( 'EXTERNAL_ORDER', array( 'values' => array('N', 'Y') ) ), new Main\Entity\IntegerField('STORE_ID'), new Main\Entity\BooleanField( 'CANCELED', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\IntegerField('EMP_CANCELED_ID'), new Main\Entity\ReferenceField( 'EMP_CANCELED_BY', 'Bitrix\Main\User', array( '=this.EMP_CANCELED_ID' => 'ref.ID' ) ), new Main\Entity\DatetimeField('DATE_CANCELED'), new Main\Entity\ExpressionField( 'DATE_CANCELED_SHORT', $DB->datetimeToDateFunction('%s'), array('DATE_CANCELED'), array('DATA_TYPE' => 'datetime') ), new Main\Entity\StringField('REASON_CANCELED'), new Main\Entity\StringField('BX_USER_ID'), new Main\Entity\TextField('SEARCH_CONTENT'), new Main\Entity\BooleanField( 'RUNNING', array( 'values' => array('N', 'Y'), 'default_value' => 'N' ) ), new Main\Entity\ReferenceField( 'ORDER_COUPONS', 'Bitrix\Sale\Internals\OrderCoupons', array( '=ref.ORDER_ID' => 'this.ID', ), array('join_type' => 'LEFT') ), new Main\Entity\ReferenceField( 'ORDER_DISCOUNT_DATA', 'Bitrix\Sale\Internals\OrderDiscountData', array( '=ref.ORDER_ID' => 'this.ID', '=ref.ENTITY_TYPE' => new Main\DB\SqlExpression('?', OrderDiscountDataTable::ENTITY_TYPE_ORDER) ), array('join_type' => 'LEFT') ), new Main\Entity\ReferenceField( 'ORDER_DISCOUNT_RULES', 'Bitrix\Sale\Internals\OrderRules', array( '=ref.ORDER_ID' => 'this.ID', ), array('join_type' => 'LEFT') ), new Main\Entity\ExpressionField( 'BY_RECOMMENDATION', "(SELECT (CASE WHEN MAX(BR.RECOMMENDATION) IS NULL OR MAX(BR.RECOMMENDATION) = '' THEN 'N' ELSE 'Y' END) FROM b_sale_basket BR WHERE BR.ORDER_ID=%s GROUP BY BR.ORDER_ID)", array('ID') ), new Main\Entity\ReferenceField( 'TRADING_PLATFORM', \Bitrix\Sale\TradingPlatform\OrderTable::getEntity(), array( '=ref.ORDER_ID' => 'this.ID', ), array('join_type' => 'LEFT') ), ); } public static function getUfId() { return 'ORDER'; } protected static function replaceDateTime() { global $DB; $datetime = $DB->DateToCharFunction('___DATETIME___'); $datetime = str_replace('%', '%%', $datetime); $datetime = str_replace('___DATETIME___', '%1$s', $datetime); return $datetime; } }