From: marina Date: Fri, 6 Dec 2024 13:30:05 +0000 (+0300) Subject: ERP-259 Доработка второго шага передачи смен X-Git-Tag: 1.7~187^2~6 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=aac71a9f434a2309d8d0d36fba269df228349715;p=erp24_rep%2Fyii-erp24%2F.git ERP-259 Доработка второго шага передачи смен --- diff --git a/erp24/records/EqualizationRemains.php b/erp24/records/EqualizationRemains.php index 9acf7d82..2e2d91a2 100644 --- a/erp24/records/EqualizationRemains.php +++ b/erp24/records/EqualizationRemains.php @@ -156,12 +156,22 @@ class EqualizationRemains extends \yii\db\ActiveRecord ->select('guid') ->column(); - $quanity = $p->fact_and_1c_diff; - $intersection = array_intersect_key($minus, array_flip($replacement)); + foreach ($minus as $key => $item) { + +// $count = $count ?? $item['fact_and_1c_diff']; + + if (self::find() + ->select(['shift_id', 'product_replacement_id']) + ->andWhere(['shift_id' => $shiftTransfer->id]) + ->andWhere(['product_replacement_id' => $key]) + ->groupBy(['shift_id', 'product_replacement_id']) + ->having(['SUM(product_replacement_count)' => abs($item['fact_and_1c_diff'])]) + ->exists()) { + break; + } - foreach ($intersection as $key => $item) { if ($quanity <= 0) { break; } @@ -180,9 +190,18 @@ class EqualizationRemains extends \yii\db\ActiveRecord 'balance' => min($quanity, abs($item['fact_and_1c_diff'])) * ($p->retail_price - $item['retail_price']), 'balance_self_cost' => min($quanity, abs($item['fact_and_1c_diff'])) * ($p->self_cost - $item['self_cost']) ]); + if ($model->validate()) { $model->save(); - $quanity -= min($quanity, abs($item['fact_and_1c_diff'])); + + $quanity = $quanity - min($quanity, abs($item['fact_and_1c_diff'])); + $count += min($quanity, abs($item['fact_and_1c_diff'])); +// +// if ($count == 0) { +//// unset($intersection['fad838d9-8159-11ef-84ea-ac1f6b1b7573']); +// unset($count); +// break; +// } } elseif ($model->getErrors()) { var_dump($model->errors); die();