From: Alexander Smirnov Date: Wed, 4 Sep 2024 13:18:35 +0000 (+0300) Subject: [ERP-140] В случае отсутствия себестоимости записываем summ от продукта X-Git-Tag: 1.4~5^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=a548e1741619cf24f27d277039b9e5db41e7f273;p=erp24_rep%2Fyii-erp24%2F.git [ERP-140] В случае отсутствия себестоимости записываем summ от продукта --- diff --git a/erp24/services/MotivationService.php b/erp24/services/MotivationService.php index beeba4af..848a7a5c 100644 --- a/erp24/services/MotivationService.php +++ b/erp24/services/MotivationService.php @@ -1279,7 +1279,7 @@ class MotivationService foreach ($exportImportTables as $store_id => $store_guid) { if (isset($motivations[$store_id])) { - $writeOffs = WriteOffs::find()->alias('wo')->select(['wo.type', 'wo.date', 'wop.product_id', 'wop.quantity']) + $writeOffs = WriteOffs::find()->alias('wo')->select(['wo.type', 'wo.date', 'wop.product_id', 'wop.quantity', 'wop.summ']) ->rightJoin('write_offs_products wop', 'wop.write_offs_id = wo.id') ->where(['between', 'wo.date', $monthStart, $monthEnd]) ->andWhere(['wo.store_id' => $store_guid]) @@ -1299,8 +1299,9 @@ class MotivationService $sum = 0; foreach($writeOffs as $data) { if (($data['type'] ?? '') == $key) { - $sum += ($selfCostProductMap[date("Y-m-d", strtotime($data['date']))][$data['product_id']] ?? 0) + $value = ($selfCostProductMap[date("Y-m-d", strtotime($data['date']))][$data['product_id']] ?? 0) * ($data['quantity'] ?? 0); + $sum += $value > 0 ? $value : ($data['summ'] ?? 0); } } @@ -1884,7 +1885,7 @@ class MotivationService foreach($writeOffs as $data) { $value = ($selfCostProductMap[date("Y-m-d", strtotime($data['date']))][$data['product_id']] ?? 0) * ($data['quantity'] ?? 0); - $sum = $value > 0 ? $value : $data['summ']; + $sum += $value > 0 ? $value : ($data['summ'] ?? 0); } return $sum;