]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
добавил логику возврата
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 4 Sep 2024 09:49:12 +0000 (12:49 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Wed, 4 Sep 2024 09:49:12 +0000 (12:49 +0300)
erp24/services/MotivationService.php

index 43a9d6cabf7dbf3ffc9fac64aaa53500887c4b1f..fff4ee005f7815d140b7a1dcad4dd736073a56db 100644 (file)
@@ -1390,13 +1390,31 @@ class MotivationService
 
 
         $salesRecords = Sales::find()
-            ->select(['id', 'date']) // Выбираем id и дату чека
+            ->select(['id', 'date'])
             ->where(['store_id' => $storeId, 'operation' => 'Продажа'])
             ->andWhere(['>=', 'date', $startDate])
             ->andWhere(['<=', 'date', $endDate])
             ->asArray()
             ->all();
 
+
+        $returnedSales = Sales::find()
+            ->select(['sales_check'])
+            ->where(['store_id' => $storeId, 'operation' => 'Возврат'])
+            ->andWhere(['>=', 'date', $startDate])
+            ->andWhere(['<=', 'date', $endDate])
+            ->andWhere(['is not', 'sales_check', ''])  // Проверяем, что поле sales_check не пустое
+            ->asArray()
+            ->all();
+
+
+        $returnedSalesIds = array_column($returnedSales, 'sales_check');
+
+
+        $salesRecords = array_filter($salesRecords, function($sale) use ($returnedSalesIds) {
+            return !in_array($sale['id'], $returnedSalesIds);
+        });
+
         // Если нет подходящих чеков, сразу возвращаем 0
         if (empty($salesRecords)) {
             return 0.0;