From: Alexander Smirnov Date: Wed, 26 Feb 2025 13:12:37 +0000 (+0300) Subject: [ERP-331] request orders X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=4331a35e7071746e6d59d174204871a117814eb6;p=erp24_rep%2Fyii-erp24%2F.git [ERP-331] request orders --- diff --git a/erp24/api2/controllers/DataController.php b/erp24/api2/controllers/DataController.php index 60e821c4..e1ce3a99 100644 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@ -24,6 +24,7 @@ use yii_app\records\EqualizationRemains; use yii_app\records\ExportImportTable; use yii_app\records\Incoming; use yii_app\records\IncomingItems; +use yii_app\records\MarketplaceOrders; use yii_app\records\OrdersAmo; use yii_app\records\PaymentTypes; use yii_app\records\Prices; @@ -171,6 +172,11 @@ class DataController extends BaseController $mess['create_resortings'] = $replacementInvoiceResult; } + $newOrdersArray = $this->getMarketplaceOrders(); + if (!empty($newOrdersArray)) { + $mess['create_orders'] = $newOrdersArray; + } + // $mess['delete_employee'] = [ // ['id' => '06202309-2808-0427-d4c9-100030128795'], // ['id' => '06202309-2855-0215-4f5d-100043236389'] @@ -676,6 +682,45 @@ class DataController extends BaseController return $result; } + private function getMarketplaceOrders(): array { + $marketplaceOrders = MarketplaceOrders::find() + ->where([ + 'status_1c' => MarketplaceOrders::STATUSES_1C_CREATED_IN_ERP + ])->andWhere([ + 'between', + 'creation_date', + date('Y-m-d 00:00:00', time()), + date('Y-m-d 23:59:59', time()) + ]) + ->all(); + $result = []; + foreach ($marketplaceOrders as $marketplaceOrder) { + /* @var MarketplaceOrders $marketplaceOrder */ + $result[] = [ + 'id' => $marketplaceOrder->guid, + 'marketplace_order_id' => $marketplaceOrder->marketplace_order_id, + 'store_id' => $marketplaceOrder->store_id, + 'status_id' => $marketplaceOrder->status_id, + 'substatus_id' => $marketplaceOrder->substatus_id, + 'warehouse_guid' => $marketplaceOrder->warehouse_guid, + 'creation_date' => $marketplaceOrder->creation_date, + 'updated_at' => $marketplaceOrder->updated_at, + 'returned_at' => $marketplaceOrder->returned_at, + 'return_data' => $marketplaceOrder->return_data, + 'fake' => $marketplaceOrder->fake, + 'total' => $marketplaceOrder->total, + 'delivery_total' => $marketplaceOrder->delivery_total, + 'buyer_total_before_discount' => $marketplaceOrder->buyer_total_before_discount, + 'tax_system' => $marketplaceOrder->tax_system, + 'payment_type' => $marketplaceOrder->payment_type, + 'payment_method' => $marketplaceOrder->payment_method, + 'cancel_requested' => $marketplaceOrder->cancel_requested, + 'raw_data' => $marketplaceOrder->raw_data, + ]; + } + return $result; + } + public function actionUpload() { set_time_limit(600); @@ -2089,6 +2134,11 @@ class DataController extends BaseController } } + if (!empty($result['created_orders'])) { + foreach ($result['created_orders'] as $arr) { + MarketplaceOrders::updateAll(['status_1c' => MarketplaceOrders::STATUSES_1C_CREATED_IN_1C], ['guid' => $arr['id']]); + } + } } catch (Exception $e) { file_put_contents(self::OUT_DIR . '/log_error.txt', PHP_EOL . date("d.m.Y H:i:s", time()) . $e->getMessage() . " " . $e->getLine(), FILE_APPEND); } finally { diff --git a/erp24/records/MarketplaceOrders.php b/erp24/records/MarketplaceOrders.php index 0738d9ed..f7d3bbf6 100644 --- a/erp24/records/MarketplaceOrders.php +++ b/erp24/records/MarketplaceOrders.php @@ -31,8 +31,12 @@ use Yii; */ class MarketplaceOrders extends \yii\db\ActiveRecord { + const STATUSES_1C_CREATED_IN_ERP = 1; + const STATUSES_1C_CREATED_IN_1C = 2; + const STATUSES_1C = [ - 1 => 'Создан в ЕРП' + self::STATUSES_1C_CREATED_IN_ERP => 'Создан в ЕРП', + self::STATUSES_1C_CREATED_IN_1C => 'Создан в 1C', ]; /**