From: marina Date: Fri, 13 Dec 2024 13:09:27 +0000 (+0300) Subject: ERP-259 Доработка второго шага передачи смен X-Git-Tag: 1.7~160^2~12 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=b45cbadb2a93a4365462c70fd4047c1565c5ad58;p=erp24_rep%2Fyii-erp24%2F.git ERP-259 Доработка второго шага передачи смен --- diff --git a/erp24/records/WaybillIncoming.php b/erp24/records/WaybillIncoming.php index ee4fed1a..6f115602 100644 --- a/erp24/records/WaybillIncoming.php +++ b/erp24/records/WaybillIncoming.php @@ -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(); diff --git a/erp24/records/WaybillIncomingProducts.php b/erp24/records/WaybillIncomingProducts.php index 63d8c5b1..d5695559 100644 --- a/erp24/records/WaybillIncomingProducts.php +++ b/erp24/records/WaybillIncomingProducts.php @@ -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); } } } diff --git a/erp24/records/WaybillWriteOffs.php b/erp24/records/WaybillWriteOffs.php index aca0b304..c51cacee 100644 --- a/erp24/records/WaybillWriteOffs.php +++ b/erp24/records/WaybillWriteOffs.php @@ -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); } } diff --git a/erp24/records/WaybillWriteOffsProducts.php b/erp24/records/WaybillWriteOffsProducts.php index 8adf0880..df9f377a 100644 --- a/erp24/records/WaybillWriteOffsProducts.php +++ b/erp24/records/WaybillWriteOffsProducts.php @@ -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); } } } diff --git a/erp24/views/shift-transfer/_replacement.php b/erp24/views/shift-transfer/_replacement.php index bd03764d..7d7f4b17 100644 --- a/erp24/views/shift-transfer/_replacement.php +++ b/erp24/views/shift-transfer/_replacement.php @@ -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' + ]) . '  ' . 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 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' - ]) . '  ' . Html::submitButton('Сохранить', [ - 'class' => 'btn btn-success float-right', - 'name' => 'action', - 'value' => 'save' - ]); + echo Html::a('Назад', '/shift-transfer', [ + 'class' => 'btn btn-secondary' + ]) . '  ' . Html::submitButton('Редактировать замены', [ + 'class' => 'btn btn-primary float-right', + 'name' => 'action', + 'value' => 'rejection' + ]) . '  ' . 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' + ]) . '  ' . Html::submitButton('Принять', [ 'class' => 'btn btn-success float-right', 'name' => 'action', 'value' => 'accept' diff --git a/erp24/web/js/shift-transfer/replacement.js b/erp24/web/js/shift-transfer/replacement.js index cd7a6b89..a74a3121 100644 --- a/erp24/web/js/shift-transfer/replacement.js +++ b/erp24/web/js/shift-transfer/replacement.js @@ -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 секунду (можно настроить) +}); + +