Как добавить минимальный расчет в yii2 - PullRequest
0 голосов
/ 30 октября 2018

1. например, как на этой картинке, я добавил 30 кг массы 2. результат 123000, потому что 30 x 4100 = 123000 3. При вводе 4 кг масса 4. результат 123000. потому что минимальная масса 30 кг. хотя 4 х 4100 = 16400. Я хочу быть таким Как добавить минимальный расчет. например, цена груза с массой 1 кг = 1000 и минимальной массой 100 кг = 100000. Поэтому, когда я хочу добавить 45 кг или менее 100 кг, результат все равно будет 100 000, поскольку минимальная масса равна 100 кг. и если я введу массу больше 100, например, 101, то 101 x 1000 = 101000. Я могу рассчитывать только на этот исходный код, но нет минимального использования 100 кг. спасибо

[
    'label' => 'Tarif',
    'format' => 'Currency',
    'value' => function ($model) {
        $volume = $model->rate * Yii::$app->request->get('TarifCargoSearch')['panjang'] * Yii::$app->request->get('TarifCargoSearch')['lebar'] * Yii::$app->request->get('TarifCargoSearch')['tinggi'] /4000 + $model->admin_fee;
        $mass = $model->rate * Yii::$app->request->get('TarifCargoSearch')['massa'];

        return $mass > $volume? $mass : $volume;
        }
    ],

1 Ответ

0 голосов
/ 31 октября 2018

Я думаю, вам нужно разобрать его на переменные, чтобы его было легко использовать

[
    'label' => 'Tarif',
    'format' => 'Currency',
    'value' => function ($model) {

        $panjang = Yii::$app->request->get('TarifCargoSearch')['panjang'];
        $lebar = Yii::$app->request->get('TarifCargoSearch')['lebar'];
        $tinggi = Yii::$app->request->get('TarifCargoSearch')['tinggi'];
        $volume = ($panjang * $lebar * $tinggi) / 4000;

        $rate = $model->rate;
        $rate_total = ($rate * $volume) + $model->admin_fee;

        $mass = Yii::$app->request->get('TarifCargoSearch')['massa'];
        $mass_min = 100;

        if ($mass_min < $mass) 
        {
           return $rate_total * $mass;
        } 
        else 
        {
           return $rate_total * $mass_min;
        }

     }
],
...