]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-259 Доработка второго шага передачи смен
authormarina <m.zozirova@gmail.com>
Fri, 13 Dec 2024 13:09:27 +0000 (16:09 +0300)
committermarina <m.zozirova@gmail.com>
Fri, 13 Dec 2024 13:09:27 +0000 (16:09 +0300)
erp24/records/WaybillIncoming.php
erp24/records/WaybillIncomingProducts.php
erp24/records/WaybillWriteOffs.php
erp24/records/WaybillWriteOffsProducts.php
erp24/views/shift-transfer/_replacement.php
erp24/web/js/shift-transfer/replacement.js

index ee4fed1a5ea012f19fb5e56862074eee89bd3342..6f1156020a7368c6463b00df49a4bdacda5b83f4 100644 (file)
@@ -33,6 +33,7 @@ use yii_app\helpers\DataHelper;
 class WaybillIncoming extends \yii\db\ActiveRecord
 {
     public const STATUS_NEW = 1;
+
     /**
      * {@inheritdoc}
      */
@@ -114,7 +115,7 @@ class WaybillIncoming extends \yii\db\ActiveRecord
         $model = new self();
 
         $model->setAttributes([
-            'guid' =>  DataHelper::createGuidMy(),
+            'guid' => DataHelper::createGuidMy(),
             'shift_transfer_id' => $shiftTransfer->id,
             'status' => self::STATUS_NEW,
             'store_id' => array_flip(array_map('strval', CityStore::getAllActiveGuidId()))[$shiftTransfer->store_guid],
@@ -126,6 +127,36 @@ class WaybillIncoming extends \yii\db\ActiveRecord
             'summ_self_cost' => 0,
         ]);
 
+        try {
+            $model->save();
+
+            $model->updateAttributes([
+                'number' => 'ЕРП_НС_' . date("Y-m-d_H-i") . '_' . $model->id
+            ]);
+
+            WaybillWriteOffsProducts::setData($model, $shiftTransfer);
+
+            $summaries = WaybillWriteOffsProducts::find()
+                ->andWhere(['waybill_write_offs_id' => $model->id])
+                ->select([
+                    'total_product_count' => 'sum(product_count)',
+                    'total_summ' => 'sum(summ)',
+                    'total_summ_self_cost' => 'sum(summ_self_cost)'
+                ])
+                ->asArray()
+                ->one();
+
+            if ($summaries) {
+                $model->updateAttributes([
+                    'quantity' => $summaries['total_product_count'],
+                    'summ' => $summaries['total_summ'],
+                    'summ_self_cost' => $summaries['total_summ_self_cost']
+                ]);
+            }
+        } catch (\Exception $exception) {
+            throw new \Exception($exception);
+        }
+
         if ($model->validate()) {
             $model->save();
 
index 63d8c5b1db95a4651cfbd9fba41973e913165a0d..d56955592e54f4b56966c23dd810003bec442e04 100644 (file)
@@ -2,6 +2,7 @@
 
 namespace yii_app\records;
 
+use TheSeer\Tokenizer\Exception;
 use yii\behaviors\TimestampBehavior;
 use yii\db\Expression;
 
@@ -100,10 +101,10 @@ class WaybillIncomingProducts extends \yii\db\ActiveRecord
                 'summ_self_cost' => $count *  $item->self_cost,
             ]);
 
-            if ($model->validate()) {
+            try {
                 $model->save();
-            } else {
-                var_dump($model->getErrors());die();
+            } catch (\Exception $exception) {
+                throw new Exception($exception);
             }
         }
     }
index aca0b3046841e67e2ad844f3496e938173d9c5a6..c51cacee790e56ab6ddbe05eaa90a82f34a9298a 100644 (file)
@@ -17,7 +17,6 @@ use yii_app\helpers\DataHelper;
  * @property int $status Статус документа
  * @property int $created_admin_id Создан пользователем
  * @property int|null $updated_admin_id Изменён пользователем
-
  * @property int $store_id id магазина в ERP
  * @property string $store_guid GUID магазина из 1с
  * @property string $number Название документа
@@ -30,7 +29,6 @@ use yii_app\helpers\DataHelper;
  * @property string $created_at Дата создания
  * @property string|null $updated_at Дата обновления
  * @property string|null $send_at Дата отправления в 1с
-
  * @property ShiftTransfer $shiftTransfer
  * @property WaybillWriteOffsProducts[] $waybillWriteOffsProducts
  */
@@ -113,7 +111,7 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord
         $model = new self();
 
         $model->setAttributes([
-            'guid' =>  DataHelper::createGuidMy(),
+            'guid' => DataHelper::createGuidMy(),
             'shift_transfer_id' => $shiftTransfer->id,
             'status' => self::STATUS_NEW,
             'store_id' => array_flip(array_map('strval', CityStore::getAllActiveGuidId()))[$shiftTransfer->store_guid],
@@ -124,8 +122,7 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord
             'summ' => 0,
             'summ_self_cost' => 0
         ]);
-
-        if ($model->validate()) {
+        try {
             $model->save();
 
             $model->updateAttributes([
@@ -151,8 +148,8 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord
                     'summ_self_cost' => $summaries['total_summ_self_cost']
                 ]);
             }
-        } else {
-            var_dump($model->getErrors());
+        } catch (\Exception $exception) {
+            throw new \Exception($exception);
         }
     }
 
index 8adf0880adf396034282c0f1c99d4138fd9e59b6..df9f377aaf17442d2d6dd834f88bbaec7b07ac6e 100644 (file)
@@ -103,10 +103,11 @@ class WaybillWriteOffsProducts extends \yii\db\ActiveRecord
                 'summ_self_cost' => $count * $item->self_cost,
             ]);
 
-            if ($model->validate()) {
+
+            try {
                 $model->save();
-            } else {
-                var_dump($model->getErrors());die();
+            } catch (\Exception $exception) {
+                throw new \Exception($exception);
             }
         }
     }
index bd03764d7fc252d254cf99f68305586a933cdfd2..7d7f4b17d87ff6df0f845de067bc4d07918fb27a 100644 (file)
@@ -56,6 +56,7 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO
                 'title' => 'Заменяемый товар',
                 'type' => Select2::class,
                 'options' => [
+                        'class' => 'readonly-select2',
                     'data' => array_merge(
                         ['text' => 'Выберите товар'],
                         $products
@@ -168,11 +169,13 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO
         'iconSource' => 'fa',
     ])->label(false);
 
-    echo Html::submitButton('Продолжить', [
-        'class' => 'btn btn-primary float-right',
-        'name' => 'action',
-        'value' => 'resume'
-    ]);
+    echo Html::a('Назад', '/shift-transfer', [
+            'class' => 'btn btn-secondary'
+        ]) . '&nbsp;&nbsp;' . Html::submitButton('Продолжить', [
+            'class' => 'btn btn-primary float-right',
+            'name' => 'action',
+            'value' => 'resume'
+        ]);
 } else {
     echo GridView::widget([
         'dataProvider' => new \yii\data\ArrayDataProvider([
@@ -329,15 +332,17 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO
     <?php
     if ($shiftTransfer->status_id == ShiftTransfer::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES
         && Yii::$app->user->id == $shiftTransfer->end_shift_admin_id) {
-        echo Html::submitButton('Редактировать', [
-            'class' => 'btn btn-primary float-right',
-            'name' => 'action',
-            'value' => 'rejection'
-        ]) . '&nbsp;&nbsp;' . Html::submitButton('Сохранить', [
-            'class' => 'btn btn-success float-right',
-            'name' => 'action',
-            'value' => 'save'
-        ]);
+        echo Html::a('Назад', '/shift-transfer', [
+                'class' => 'btn btn-secondary'
+            ]) . '&nbsp;&nbsp;' . Html::submitButton('Редактировать замены', [
+                'class' => 'btn btn-primary float-right',
+                'name' => 'action',
+                'value' => 'rejection'
+            ]) . '&nbsp;&nbsp;' . Html::submitButton('Сохранить', [
+                'class' => 'btn btn-success float-right',
+                'name' => 'action',
+                'value' => 'save'
+            ]);
     }
 
     if (
@@ -345,7 +350,9 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO
         && $shiftTransfer->status_id == ShiftTransfer::STATUS_ID_READY_TO_ACCEPT
         && Yii::$app->user->id != $shiftTransfer->end_shift_admin_id
     ) {
-        echo Html::submitButton('Принять', [
+        echo Html::a('Назад', '/shift-transfer', [
+                'class' => 'btn btn-secondary'
+            ]) . '&nbsp;&nbsp;' . Html::submitButton('Принять', [
                 'class' => 'btn btn-success float-right',
                 'name' => 'action',
                 'value' => 'accept'
index cd7a6b8904e5433347df83796b17e784efb70b6f..a74a3121716a8c190e7e06bf586b7e6abb3742b4 100644 (file)
@@ -255,3 +255,10 @@ $('.field-shifttransfer-equalizationremains').on('input', '.list-cell__product_r
     }
 });
 
+$(window).on('load', function() {
+    setTimeout(function() {
+        $('.field-shifttransfer-equalizationremains [class$="-product_id"]').css('pointer-events', 'none');
+    }, 5000); // Задержка в 1 секунду (можно настроить)
+});
+
+