From: Alexander Smirnov Date: Fri, 3 May 2024 08:30:11 +0000 (+0300) Subject: fix shipment add X-Git-Tag: 1.1~61^2 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=36d883a1eb14595a1014a82d4b99935170bd380b;p=erp24_rep%2Fyii-erp24%2F.git fix shipment add --- diff --git a/erp24/actions/shipment/AddAction.php b/erp24/actions/shipment/AddAction.php index def46e5c..5cbc8f37 100644 --- a/erp24/actions/shipment/AddAction.php +++ b/erp24/actions/shipment/AddAction.php @@ -11,15 +11,26 @@ use yii_app\records\UniversalCatalogItem; class AddAction extends Action { - public function run($id) { - $model = StoreOrders::find()->where(['id' => $id])->one(); + public function run($id = null) { + if (!$id) { + $model = new StoreOrders; + } else { + $model = StoreOrders::find()->where(['id' => $id])->one(); + } + if (!$model) { + throw new \Exception('не могу найти закуп с id='. $id); + } /** @var $model StoreOrders */ $model->getProviders(); if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) { $model->setProviders(); - $model->price_logistic = 0; if ($model->validate()) { $model->save(); + } else { + echo "
";
+                var_dump($model->getErrors());
+                echo "
"; + die; } } diff --git a/erp24/modul/shipment/functionsShipment.php b/erp24/modul/shipment/functionsShipment.php index 6c048c15..681a9341 100644 --- a/erp24/modul/shipment/functionsShipment.php +++ b/erp24/modul/shipment/functionsShipment.php @@ -332,7 +332,11 @@ $orderStoresArrayRelation_in .=")"; //показываем магазины если статус закупки подразумевает разбивку данных по магазинам if($statuses_stores_show[$status_order_id] ?? false) { -$stores_arr=$db::mapping("SELECT name,id FROM products_1c WHERE tip='city_store' AND view='1' AND id $orderStoresArrayRelation_in order by name ASC"); +if (strlen($orderStoresArrayRelation_in) > strlen(' IN ()')) { + $stores_arr = $db::mapping("SELECT name,id FROM products_1c WHERE tip='city_store' AND view='1' AND id $orderStoresArrayRelation_in order by name ASC"); +} else { + $stores_arr = []; +} //print_r($stores_arr); $stores_cnt=count($stores_arr); diff --git a/erp24/records/StoreOrders.php b/erp24/records/StoreOrders.php index 6403dab8..fcc739a7 100644 --- a/erp24/records/StoreOrders.php +++ b/erp24/records/StoreOrders.php @@ -25,6 +25,7 @@ use Yii; * @property string $status_logi * @property string $date_update Дата и врепмя обновления информации в таблице храннеия data * @property string $update_html HTML блок расчета по формулам + * @property int $city_id номер города в universal_catalog_item */ class StoreOrders extends \yii\db\ActiveRecord { @@ -45,7 +46,7 @@ class StoreOrders extends \yii\db\ActiveRecord public function rules() { return [ - [['name', 'parent_id', 'date_start', 'date_end', 'delivery_date', 'division_date', 'division_hours', 'delivery_date_fact', 'price_logistic', 'comments', 'admin_id', 'date_add', 'providers_arr', 'status_logi', 'date_update', 'update_html'], 'required'], + [['name', 'parent_id', 'date_start', 'city_id', /*'date_end',*/ 'delivery_date', 'division_date', /*'division_hours', */'delivery_date_fact', /* 'price_logistic', */ 'comments', /*'admin_id', */'date_add', 'providers_arr' /*, 'status_logi', 'date_update', 'update_html'*/], 'required'], [['parent_id', 'division_hours', 'price_logistic', 'admin_id', 'status'], 'integer'], [['date_start', 'date_end', 'delivery_date', 'division_date', 'delivery_date_fact', 'date_add', 'date_update'], 'safe'], [['comments', 'status_logi', 'update_html'], 'string'], @@ -83,11 +84,15 @@ class StoreOrders extends \yii\db\ActiveRecord public function setProviders() { - $this->providers_arr = implode(',', $this->providers); + if (empty($this->providers)) { + $this->providers_arr = ''; + } else { + $this->providers_arr = implode(',', $this->providers); + } } public function getProviders() { - $this->providers = explode(',', $this->providers_arr); + $this->providers = explode(',', $this->providers_arr ?? ''); } } diff --git a/erp24/views/shipment/add.php b/erp24/views/shipment/add.php index eb91af1d..d3591c1f 100644 --- a/erp24/views/shipment/add.php +++ b/erp24/views/shipment/add.php @@ -23,6 +23,8 @@ use yii_app\helpers\PrintBlockHelper; + field($model, 'id')->hiddenInput() ?> + field($model, 'city_id')->widget(Select2::class, [ 'data' => $cities, 'language' => 'ru',