From: Alexander Smirnov Date: Wed, 5 Mar 2025 10:05:12 +0000 (+0300) Subject: Merge branch 'develop' into feature_smirnov_erp-331_request_orders X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=5bfe7979fa6939d2ef9b82b4948e094e3db8e6b9;p=erp24_rep%2Fyii-erp24%2F.git Merge branch 'develop' into feature_smirnov_erp-331_request_orders # Conflicts: # erp24/api2/controllers/DataController.php --- 5bfe7979fa6939d2ef9b82b4948e094e3db8e6b9 diff --cc erp24/api2/controllers/DataController.php index e1ce3a99,8d240850..fd526181 --- a/erp24/api2/controllers/DataController.php +++ b/erp24/api2/controllers/DataController.php @@@ -172,11 -172,11 +172,16 @@@ class DataController extends BaseContro $mess['create_resortings'] = $replacementInvoiceResult; } + $onlyNewOrdersArray = $this->getMarketplaceNewOrders(); + if (!empty($onlyNewOrdersArray)) { + $mess['create_new_orders'] = $onlyNewOrdersArray; + } + + $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'] @@@ -682,45 -682,47 +687,86 @@@ return $result; } + private function getMarketplaceNewOrders(): array { + $marketplaceOrders = MarketplaceOrders::find() + ->where([ + 'status_1c' => 1, + 'status_id' => 1, + ])->andWhere([ + 'between', + 'creation_date', + date('Y-m-d 00:00:00', strtotime('-3 days', 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; + } + + + 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); @@@ -2134,11 -2136,12 +2180,17 @@@ } } + if (!empty($result['created_new_orders'])) { + foreach ($result['created_new_orders'] as $arr) { + MarketplaceOrders::updateAll(['status_1c' => 2], ['guid' => $arr['id']]); + } + } + + 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 {