From 6a3a767e2ee117ac550284c787d30371ba4aab83 Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Fri, 28 Mar 2025 16:39:42 +0300 Subject: [PATCH] [ERP-381] dicts --- erp24/controllers/BouquetController.php | 17 +++++++++-------- erp24/records/BouquetComposition.php | 11 +++++++++++ erp24/views/bouquet/_product_edit.php | 12 ++++++------ erp24/views/bouquet/_product_list.php | 8 ++++---- erp24/views/bouquet/index.php | 8 ++++---- erp24/views/bouquet/update.php | 13 +++++++++++-- 6 files changed, 45 insertions(+), 24 deletions(-) diff --git a/erp24/controllers/BouquetController.php b/erp24/controllers/BouquetController.php index fb8b94cf..1d73c585 100644 --- a/erp24/controllers/BouquetController.php +++ b/erp24/controllers/BouquetController.php @@ -150,16 +150,17 @@ class BouquetController extends Controller $data = json_decode(Yii::$app->request->getRawBody(), true); $model = BouquetComposition::findOne($data['bouquetId']); + $cost = []; + $markup = []; + foreach (BouquetComposition::getRegions() as $region_id) { + $cost[$region_id] = round($model->getBouquetCost($region_id, $data, true)); + $markup[$region_id] = round($model->getBouquetCostMarkup($region_id, $data, true), 2); + } + return [ 'selfcost' => round($model->getSelfCost($data), 2), - 'cost' => [ - 52 => round($model->getBouquetCost(52, $data, true)), - 77 => round($model->getBouquetCost(77, $data, true)), - ], - 'markup' => [ - 52 => round($model->getBouquetCostMarkup(52, $data, true), 2), - 77 => round($model->getBouquetCostMarkup(77, $data, true), 2), - ] + 'cost' => $cost, + 'markup' => $markup, ]; } diff --git a/erp24/records/BouquetComposition.php b/erp24/records/BouquetComposition.php index f99890eb..34f367af 100644 --- a/erp24/records/BouquetComposition.php +++ b/erp24/records/BouquetComposition.php @@ -39,6 +39,17 @@ use yii_app\services\FileService; */ class BouquetComposition extends ActiveRecord { + const REGION_NN = 52; + const REGIONO_MSK = 77; + const PROCENT_30 = 0.3; + + public static function getRegions() { + return [ + self::REGION_NN, + self::REGIONO_MSK + ]; + } + public const PHOTO_TYPE = 'image'; public const VIDEO_TYPE = 'video'; public const PHOTO_BOUQUET = 'bouquet/photo_bouquet'; diff --git a/erp24/views/bouquet/_product_edit.php b/erp24/views/bouquet/_product_edit.php index cb80d558..7bb4460d 100644 --- a/erp24/views/bouquet/_product_edit.php +++ b/erp24/views/bouquet/_product_edit.php @@ -28,9 +28,9 @@ $this->registerCSS('.cost-value {max-width: 75px}'); Нижегородская обл.

Себестоимость: ₽

-

Наценка: +30% / +₽

-

Цена: ₽. +%

+

Наценка: +30% / +₽

+

Цена: ₽. +%

@@ -44,9 +44,9 @@ $this->registerCSS('.cost-value {max-width: 75px}'); Московская обл.

Себестоимость: ₽

-

Наценка: +30% / +₽

-

Цена: ₽. +%

+

Наценка: +30% / +₽

+

Цена: ₽. +%

diff --git a/erp24/views/bouquet/_product_list.php b/erp24/views/bouquet/_product_list.php index 8dde69c4..8d898638 100644 --- a/erp24/views/bouquet/_product_list.php +++ b/erp24/views/bouquet/_product_list.php @@ -32,8 +32,8 @@ Нижегородская обл.
Себестоимость: getSelfCost()) ?>₽
- Наценка: +30% / +getSelfCost()) ?>₽
- Цена: getBouquetCost(52)) ?>₽. +getBouquetCostMarkup(52), 2) ?>%
+ Наценка: +30% / +getSelfCost()) ?>₽
+ Цена: getBouquetCost(BouquetComposition::REGION_NN)) ?>₽. +getBouquetCostMarkup(BouquetComposition::REGION_NN), 2) ?>%
@@ -43,8 +43,8 @@ Московская обл.
Себестоимость: getSelfCost()) ?>₽
- Наценка: +30% / +getSelfCost()) ?>₽
- Цена: getBouquetCost(77)) ?>₽. +getBouquetCostMarkup(77), 2) ?>%
+ Наценка: +30% / +getSelfCost()) ?>₽
+ Цена: getBouquetCost(BouquetComposition::REGIONO_MSK)) ?>₽. +getBouquetCostMarkup(BouquetComposition::REGIONO_MSK), 2) ?>%
diff --git a/erp24/views/bouquet/index.php b/erp24/views/bouquet/index.php index 69afdbcb..1a5ee900 100644 --- a/erp24/views/bouquet/index.php +++ b/erp24/views/bouquet/index.php @@ -113,16 +113,16 @@ $this->title = 'Содержание матрицы';
Нижегородская обл.
Себестоимость: " . round($model->getSelfCost()) . "₽
- Наценка: +30% / +" . round(0.3 * $model->getSelfCost()) . "₽
- Цена: " . round($model->getBouquetCost(52)) . "₽. +" . round($model->getBouquetCostMarkup(52), 2) . "%
+ Наценка: +30% / +" . round(BouquetComposition::PROCENT_30 * $model->getSelfCost()) . "₽
+ Цена: " . round($model->getBouquetCost(BouquetComposition::REGION_NN)) . "₽. +" . round($model->getBouquetCostMarkup(BouquetComposition::REGION_NN), 2) . "%
Московская обл.
Себестоимость: " . round($model->getSelfCost()) . "₽
- Наценка: +30% / +" . round(0.3 * $model->getSelfCost()) . "₽
- Цена: " . round($model->getBouquetCost(77)) . "₽. +" . round($model->getBouquetCostMarkup(77), 2) . "%
+ Наценка: +30% / +" . round(BouquetComposition::PROCENT_30 * $model->getSelfCost()) . "₽
+ Цена: " . round($model->getBouquetCost(BouquetComposition::REGIONO_MSK)) . "₽. +" . round($model->getBouquetCostMarkup(BouquetComposition::REGIONO_MSK), 2) . "%
diff --git a/erp24/views/bouquet/update.php b/erp24/views/bouquet/update.php index 4e721ed0..a185d669 100644 --- a/erp24/views/bouquet/update.php +++ b/erp24/views/bouquet/update.php @@ -5,6 +5,7 @@ use yii\helpers\ArrayHelper; use yii\helpers\Html; use yii\helpers\Url; use yii\widgets\ActiveForm; +use yii_app\records\BouquetComposition; use yii_app\records\Products1c; use yii_app\records\Products1cNomenclature; @@ -55,14 +56,22 @@ $this->registerJsFile('/js/bouquet/bouquet.js', ['position' => \yii\web\View::PO
'dual-list-form']); ?>
+ getBouquetCost($region_id); + $markup[$region_id] = $model->getBouquetCostMarkup($region_id); + } + ?> render('_product_edit', [ 'availableItems' => $availableItems, 'selectedItems' => $selectedItems, 'isCreate' => false, 'listContainerSize' => [], 'selfCost' => $model->getSelfCost(), - 'cost' => [ 52 => $model->getBouquetCost(52), 77 => $model->getBouquetCost(77)], - 'markUp' => [ 52 => $model->getBouquetCostMarkup(52), 77 => $model->getBouquetCostMarkup(77)], + 'cost' => $cost, + 'markUp' => $markup, ]); ?>
\ No newline at end of file -- 2.39.5