]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Merge branch 'develop' into feature_smirnov_erp-331_request_orders
authorAlexander Smirnov <fredeom@mail.ru>
Wed, 5 Mar 2025 10:05:12 +0000 (13:05 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Wed, 5 Mar 2025 10:05:12 +0000 (13:05 +0300)
# Conflicts:
# erp24/api2/controllers/DataController.php

1  2 
erp24/api2/controllers/DataController.php
erp24/records/MarketplaceOrders.php

index e1ce3a9913123894148e4143f54fab738f6614b0,8d240850150cdb9adb00131abbe43ae3d9016082..fd52618151ebe4674f2f20a1e0b6944f44bde3cb
@@@ -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']
          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);
                  }
              }
  
+             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 {
Simple merge