From 863d52c569c9637fdba94e7727222efe9775d288 Mon Sep 17 00:00:00 2001 From: marina Date: Thu, 12 Dec 2024 17:32:49 +0300 Subject: [PATCH] =?utf8?q?ERP-259=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?utf8?q?=D1=82=D0=BA=D0=B0=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B3=D0=BE?= =?utf8?q?=20=D1=88=D0=B0=D0=B3=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4?= =?utf8?q?=D0=B0=D1=87=D0=B8=20=D1=81=D0=BC=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/controllers/ShiftTransferController.php | 14 +- erp24/records/ShiftRemains.php | 6 + erp24/records/ShiftTransfer.php | 2 +- erp24/records/WaybillIncoming.php | 82 +++++++++++- erp24/records/WaybillIncomingProducts.php | 63 ++++++++- erp24/records/WaybillWriteOffs.php | 84 +++++++++++- erp24/records/WaybillWriteOffsProducts.php | 63 ++++++++- erp24/views/shift-transfer/_replacement.php | 126 ++++++++++++++---- erp24/web/js/shift-transfer/replacement.js | 5 +- 9 files changed, 396 insertions(+), 49 deletions(-) diff --git a/erp24/controllers/ShiftTransferController.php b/erp24/controllers/ShiftTransferController.php index 8e2bb167..afe87bea 100644 --- a/erp24/controllers/ShiftTransferController.php +++ b/erp24/controllers/ShiftTransferController.php @@ -26,6 +26,8 @@ use yii_app\records\Shift; use yii_app\records\ShiftRemains; use yii_app\records\ShiftTransfer; use yii_app\records\StoreBalance; +use yii_app\records\WaybillIncoming; +use yii_app\records\WaybillWriteOffs; use yii_app\services\TaskService; class ShiftTransferController extends Controller @@ -251,15 +253,19 @@ class ShiftTransferController extends Controller StoreBalance::setData($model); } elseif ($action === 'save') { $model->updateAttributes(['status_id' => ShiftTransfer::STATUS_ID_READY_TO_ACCEPT]); - EqualizationRemains::updateData(Yii::$app->request->post()['ShiftTransfer']['equalizationRemains'], $id); + WaybillWriteOffs::updateAll(['active' => WaybillWriteOffs::INACTIVE, 'shift_transfer_id' => $model->id]); } elseif ($action == 'recalculate') { EqualizationRemains::setData($model); Yii::$app->session->setFlash('success', 'Таблица замен успешно перерасчитана'); - } elseif ($action === 'rejection' || $action === 'back') { + } elseif ($action === 'rejection') { $model->updateAttributes(['status_id' => ShiftTransfer::STATUS_ID_TRANSFER_ACTIONS]); - //удаление данных из табличек с плюсом и минусом + WaybillWriteOffs::deleteAll(['shift_transfer_id' => $model->id]); + WaybillIncoming::deleteAll(['shift_transfer_id' => $model->id]); } elseif ($action === 'resume') { - //формирование табличек с минусом и плюсом + $model->updateAttributes(['status_id' => ShiftTransfer::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES]); + EqualizationRemains::updateData(Yii::$app->request->post()['ShiftTransfer']['equalizationRemains'], $id); + WaybillIncoming::setData($model); + WaybillWriteOffs::setData($model); } $this->redirect(Yii::$app->request->referrer); diff --git a/erp24/records/ShiftRemains.php b/erp24/records/ShiftRemains.php index f4c9aa04..23a6347f 100644 --- a/erp24/records/ShiftRemains.php +++ b/erp24/records/ShiftRemains.php @@ -70,4 +70,10 @@ class ShiftRemains extends \yii\db\ActiveRecord 'type' => 'Тип записи', ]; } + + public function getProduct() + { + return $this->hasOne(Products1c::class, ['id' => 'product_guid']); + } + } diff --git a/erp24/records/ShiftTransfer.php b/erp24/records/ShiftTransfer.php index a9eade56..41df4bbb 100644 --- a/erp24/records/ShiftTransfer.php +++ b/erp24/records/ShiftTransfer.php @@ -41,7 +41,7 @@ class ShiftTransfer extends \yii\db\ActiveRecord self::STATUS_ID_TRANSFER_ACTIONS => 'Действия по замене', self::STATUS_ID_READY_TO_ACCEPT => 'Готова к принятию', self::STATUS_ID_ACCEPTED => 'Принято', - self::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES => 'Cтатус формирования излишков и недостачи', + self::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES => 'Формирования излишков и недостачи', ]; } diff --git a/erp24/records/WaybillIncoming.php b/erp24/records/WaybillIncoming.php index 167227e6..b6a7eb6b 100644 --- a/erp24/records/WaybillIncoming.php +++ b/erp24/records/WaybillIncoming.php @@ -3,6 +3,10 @@ namespace yii_app\records; use Yii; +use yii\behaviors\BlameableBehavior; +use yii\behaviors\TimestampBehavior; +use yii\db\Expression; +use yii_app\helpers\DataHelper; /** * This is the model class for table "waybill_incoming". @@ -31,6 +35,9 @@ use Yii; */ class WaybillIncoming extends \yii\db\ActiveRecord { + public const ACTIVE = 1; + public const INACTIVE = 2; + public const NEW = 1; /** * {@inheritdoc} */ @@ -45,8 +52,8 @@ class WaybillIncoming extends \yii\db\ActiveRecord public function rules() { return [ - [['guid', 'created_admin_id', 'store_id', 'store_guid', 'number', 'date', 'quantity', 'summ', 'created_at'], 'required'], - [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'default', 'value' => null], + [['guid', 'store_id', 'store_guid', 'date', 'quantity', 'summ'], 'required'], + [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'store_id', 'number', 'active', 'deleted_admin_id'], 'default', 'value' => null], [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'integer'], [['date', 'created_at', 'updated_at', 'deleted_at', 'send_at'], 'safe'], [['comment'], 'string'], @@ -56,6 +63,25 @@ class WaybillIncoming extends \yii\db\ActiveRecord ]; } + + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ], + [ + 'class' => BlameableBehavior::class, + 'createdByAttribute' => 'created_admin_id', + 'updatedByAttribute' => 'updated_admin_id', + ], + ]; + } + + /** * {@inheritdoc} */ @@ -86,7 +112,57 @@ class WaybillIncoming extends \yii\db\ActiveRecord ]; } - public function getShiftTransfer() { + public function getShiftTransfer() + { return $this->hasOne(ShiftTransfer::class, ['id' => 'shift_transfer_id']); } + + public static function setData($shiftTransfer) + { + $model = new self(); + + $model->setAttributes([ + 'guid' => DataHelper::createGuidMy(), + 'shift_transfer_id' => $shiftTransfer->id, + 'status' => self::NEW, + 'store_id' => array_flip(array_map('strval', CityStore::getAllActiveGuidId()))[$shiftTransfer->store_guid], + 'store_guid' => $shiftTransfer->store_guid, + 'date' => $shiftTransfer->date, + 'comment' => $shiftTransfer->comment, + 'quantity' => 0, + 'summ' => 0, + 'summ_self_cost' => 0, + 'active' => self::INACTIVE, + ]); + + if ($model->validate()) { + $model->save(); + + $model->updateAttributes([ + 'number' => 'ЕРП_ПС_' . date("Y-m-d_H-i") . '_' . $model->id + ]); + + WaybillIncomingProducts::setData($model, $shiftTransfer); + + $summaries = WaybillIncomingProducts::find() + ->andWhere(['waybill_incoming_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'] + ]); + } + } else { + var_dump($model->getErrors()); + } + } } diff --git a/erp24/records/WaybillIncomingProducts.php b/erp24/records/WaybillIncomingProducts.php index 889509ed..7b6cf5e8 100644 --- a/erp24/records/WaybillIncomingProducts.php +++ b/erp24/records/WaybillIncomingProducts.php @@ -2,7 +2,8 @@ namespace yii_app\records; -use Yii; +use yii\behaviors\TimestampBehavior; +use yii\db\Expression; /** * This is the model class for table "waybill_incoming_products". @@ -31,13 +32,25 @@ class WaybillIncomingProducts extends \yii\db\ActiveRecord return 'waybill_incoming_products'; } + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ] + ]; + } + /** * {@inheritdoc} */ public function rules() { return [ - [['waybill_incoming_id', 'name', 'summ', 'created_at'], 'required'], + [['waybill_incoming_id', 'name', 'summ'], 'required'], [['waybill_incoming_id'], 'default', 'value' => null], [['waybill_incoming_id'], 'integer'], [['product_count', 'product_price', 'product_self_cost', 'summ', 'summ_self_cost'], 'number'], @@ -48,6 +61,52 @@ class WaybillIncomingProducts extends \yii\db\ActiveRecord ]; } + public static function setData($waybillIncoming, $shiftTransfer) + { + $items = ShiftRemains::find() + ->andWhere(['shift_transfer_id' => $shiftTransfer->id]) + ->andWhere(['>', 'fact_and_1c_diff', 0]) + ->all(); + + foreach ($items as $item) { + $itemCount = abs($item->fact_and_1c_diff); + $er = EqualizationRemains::findOne([ + 'shift_transfer_id' => $shiftTransfer->id, + 'product_id' => $item->product_guid + ]); + + if ($er) { + if ($er->product_count == $itemCount) { + return; + } + + $count = $er->product_count < $itemCount + ? $itemCount - $er->product_count + : $er->product_count; + } else { + $count = $itemCount; + } + + $model = new self(); + $model->setAttributes([ + 'waybill_incoming_id' => $waybillIncoming->id, + 'name' => $item->product->name, + 'product_id' => $item->product_guid, + 'product_count' => abs($count), + 'product_price' => $item->retail_price, + 'product_self_cost' => $item->self_cost, + 'summ' => $count * $item->retail_price, + 'summ_self_cost' => $count * $item->self_cost, + ]); + + if ($model->validate()) { + $model->save(); + } else { + var_dump($model->getErrors());die(); + } + } + } + /** * {@inheritdoc} */ diff --git a/erp24/records/WaybillWriteOffs.php b/erp24/records/WaybillWriteOffs.php index 95121c61..70734efb 100644 --- a/erp24/records/WaybillWriteOffs.php +++ b/erp24/records/WaybillWriteOffs.php @@ -3,6 +3,10 @@ namespace yii_app\records; use Yii; +use yii\behaviors\BlameableBehavior; +use yii\behaviors\TimestampBehavior; +use yii\db\Expression; +use yii_app\helpers\DataHelper; /** * This is the model class for table "waybill_write_offs". @@ -36,6 +40,10 @@ use Yii; */ class WaybillWriteOffs extends \yii\db\ActiveRecord { + public const ACTIVE = 1; + public const INACTIVE = 2; + public const NEW = 1; + /** * {@inheritdoc} */ @@ -50,18 +58,35 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord public function rules() { return [ - [['guid', 'created_admin_id', 'store_id', 'store_guid', 'number', 'date', 'quantity', 'summ', 'created_at'], 'required'], - [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'confirm_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'default', 'value' => null], - [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'confirm_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'integer'], + [['guid', 'store_id', 'store_guid', 'date', 'quantity', 'summ'], 'required'], + [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'default', 'value' => null], + [['shift_transfer_id', 'status', 'created_admin_id', 'updated_admin_id', 'store_id', 'active', 'deleted_admin_id'], 'integer'], [['date', 'created_at', 'updated_at', 'deleted_at', 'send_at'], 'safe'], [['comment'], 'string'], [['quantity', 'summ', 'summ_self_cost'], 'number'], - [['guid', 'store_guid', 'number', 'number_1c', 'confirm_at'], 'string', 'max' => 100], + [['guid', 'store_guid', 'number', 'number_1c'], 'string', 'max' => 100], [['guid'], 'unique'], [['shift_transfer_id'], 'exist', 'skipOnError' => true, 'targetClass' => ShiftTransfer::class, 'targetAttribute' => ['shift_transfer_id' => 'id']], ]; } + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ], + [ + 'class' => BlameableBehavior::class, + 'createdByAttribute' => 'created_admin_id', + 'updatedByAttribute' => 'updated_admin_id', + ], + ]; + } + /** * {@inheritdoc} */ @@ -74,7 +99,6 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord 'status' => 'Статус документа', 'created_admin_id' => 'Создан пользователем', 'updated_admin_id' => 'Изменён пользователем', - 'confirm_admin_id' => 'Подтвержден пользователем', 'store_id' => 'id магазина в ERP', 'store_guid' => 'GUID магазина из 1с', 'number' => 'Название документа', @@ -87,13 +111,61 @@ class WaybillWriteOffs extends \yii\db\ActiveRecord 'created_at' => 'Дата создания', 'updated_at' => 'Дата обновления', 'deleted_at' => 'Дата удаление', - 'confirm_at' => 'Дата подтверждения', 'send_at' => 'Дата отправления в 1с', 'active' => 'Активность', 'deleted_admin_id' => 'Удален пользователем', ]; } + public static function setData($shiftTransfer) + { + $model = new self(); + + $model->setAttributes([ + 'guid' => DataHelper::createGuidMy(), + 'shift_transfer_id' => $shiftTransfer->id, + 'status' => self::NEW, + 'store_id' => array_flip(array_map('strval', CityStore::getAllActiveGuidId()))[$shiftTransfer->store_guid], + 'store_guid' => $shiftTransfer->store_guid, + 'date' => $shiftTransfer->date, + 'comment' => $shiftTransfer->comment, + 'quantity' => 0, + 'summ' => 0, + 'summ_self_cost' => 0, + 'active' => self::INACTIVE, + ]); + + if ($model->validate()) { + $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'] + ]); + } + } else { + var_dump($model->getErrors()); + } + } + /** * Gets query for [[ShiftTransfer]]. * diff --git a/erp24/records/WaybillWriteOffsProducts.php b/erp24/records/WaybillWriteOffsProducts.php index 1b5762bd..c755cd20 100644 --- a/erp24/records/WaybillWriteOffsProducts.php +++ b/erp24/records/WaybillWriteOffsProducts.php @@ -3,6 +3,8 @@ namespace yii_app\records; use Yii; +use yii\behaviors\TimestampBehavior; +use yii\db\Expression; /** * This is the model class for table "waybill_write_offs_products". @@ -31,13 +33,26 @@ class WaybillWriteOffsProducts extends \yii\db\ActiveRecord return 'waybill_write_offs_products'; } + public function behaviors() + { + return [ + [ + 'class' => TimestampBehavior::class, + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + 'value' => new Expression('NOW()'), + ] + ]; + } + + /** * {@inheritdoc} */ public function rules() { return [ - [['waybill_write_offs_id', 'name', 'summ', 'created_at'], 'required'], + [['waybill_write_offs_id', 'name', 'summ'], 'required'], [['waybill_write_offs_id'], 'default', 'value' => null], [['waybill_write_offs_id'], 'integer'], [['product_count', 'product_price', 'product_self_cost', 'summ', 'summ_self_cost'], 'number'], @@ -48,6 +63,52 @@ class WaybillWriteOffsProducts extends \yii\db\ActiveRecord ]; } + public static function setData($waybillWriteOffs, $shiftTransfer) + { + $items = ShiftRemains::find() + ->andWhere(['shift_transfer_id' => $shiftTransfer->id]) + ->andWhere(['<', 'fact_and_1c_diff', 0]) + ->all(); + + foreach ($items as $item) { + $itemCount = abs($item->fact_and_1c_diff); + $er = EqualizationRemains::findOne([ + 'shift_transfer_id' => $shiftTransfer->id, + 'product_id' => $item->product_guid + ]); + + if ($er) { + if ($er->product_count == $itemCount) { + return; + } + + $count = $er->product_count < $itemCount + ? $itemCount - $er->product_count + : $er->product_count; + } else { + $count = $itemCount; + } + + $model = new self(); + $model->setAttributes([ + 'waybill_write_offs_id' => $waybillWriteOffs->id, + 'name' => $item->product->name, + 'product_id' => $item->product_guid, + 'product_count' => abs($count), + 'product_price' => $item->retail_price, + 'product_self_cost' => $item->self_cost, + 'summ' => $count * $item->retail_price, + 'summ_self_cost' => $count * $item->self_cost, + ]); + + if ($model->validate()) { + $model->save(); + } else { + var_dump($model->getErrors());die(); + } + } + } + /** * {@inheritdoc} */ diff --git a/erp24/views/shift-transfer/_replacement.php b/erp24/views/shift-transfer/_replacement.php index 57d87c63..4c54767a 100644 --- a/erp24/views/shift-transfer/_replacement.php +++ b/erp24/views/shift-transfer/_replacement.php @@ -19,13 +19,14 @@ use yii\widgets\ActiveForm; $this->registerJsFile('/js/shift-transfer/replacement.js', ['position' => \yii\web\View::POS_END]); $totalBalance = array_sum(array_column($shiftTransfer->equalizationRemains, 'balance')); +$writeOffsBalance = \yii_app\records\WaybillWriteOffs::findOne(['shift_transfer_id' => $shiftTransfer->id])->summ ?? null; +$incomingBalance = \yii_app\records\WaybillIncoming::findOne(['shift_transfer_id' => $shiftTransfer->id])->summ ?? null; $form = \yii\widgets\ActiveForm::begin(); ?> -
+
- - + 'h4 font-weight-bold']); ?>
@@ -180,7 +181,7 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO
new ArrayDataProvider([ + 'dataProvider' => new \yii\data\ArrayDataProvider([ 'allModels' => $shiftTransfer->equalizationRemains, ]), 'showFooter' => true, @@ -198,11 +199,6 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO 'label' => 'Цена товара розничная', 'format' => 'raw', ], - [ - 'attribute' => 'product_self_cost', - 'label' => 'Себестоимость товара', - 'format' => 'raw', - ], [ 'attribute' => 'product_replacement_id', 'label' => 'Товар замена', @@ -215,17 +211,12 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO 'label' => 'Цена товара замены розничная', 'format' => 'raw', ], - [ - 'attribute' => 'product_replacement_self_cost', - 'label' => 'Себестоимость товара замены', - 'format' => 'raw', - ], [ 'attribute' => 'product_replacement_count', 'label' => 'Количество товара', 'format' => 'raw', 'pageSummary' => true, - 'footer' => Html::tag('b', $totalBalance < 0 ? 'Недосдача: ' : 'Избыток: ') + 'footer' => Html::tag('b', $totalBalance < 0 ? 'Недостача: ' : 'Избыток: ') ], [ 'attribute' => 'balance', @@ -234,12 +225,6 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO 'pageSummary' => true, 'footer' => Html::tag('b', number_format($totalBalance, 2, '.', ' ')), ], - [ - 'attribute' => 'balance_self_cost', - 'label' => 'Разница в сумме (Себестоимость)', - 'format' => 'raw', - 'pageSummary' => true, - ], [ 'attribute' => 'updated_at', 'label' => 'Дата обновления записи', @@ -256,16 +241,101 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO 'showPageSummary' => true, 'layout' => '{items}', ]); + ?> + status_id, [ShiftTransfer::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES, ShiftTransfer::STATUS_ID_ACCEPTED, ShiftTransfer::STATUS_ID_READY_TO_ACCEPT])) : ?> +
+ 'h4 font-weight-bold' + ]); + echo GridView::widget([ + 'dataProvider' => new \yii\data\ActiveDataProvider([ + 'query' => \yii_app\records\WaybillWriteOffsProducts::find() + ->andWhere(['waybill_write_offs_id' => \yii_app\records\WaybillWriteOffs::findOne(['shift_transfer_id' => $shiftTransfer->id])->id ?? null]) + ]), + 'showFooter' => true, + 'columns' => [ + [ + 'label' => 'Товар', + 'attribute' => 'name', + 'pageSummary' => 'Итого:', + ], + [ + 'label' => 'Количество товара', + 'attribute' => 'product_count', + 'pageSummary' => true, - //гридвью с двумя таблицами(плюс и минус) + ], + [ + 'label' => 'Цена товара', + 'attribute' => 'product_price', + 'pageSummary' => true, + 'footer' => Html::tag('b', 'Недостача: '), + ], + [ + 'label' => 'Сумма', + 'attribute' => 'summ', + 'pageSummary' => true, + 'footer' => Html::tag('b', number_format($writeOffsBalance, 2, '.', ' ')), + ], + ], + 'showPageSummary' => true, + 'layout' => '{items}', + ]); + ?> +
+
+ 'h4 font-weight-bold' + ]); + echo GridView::widget([ + 'dataProvider' => new \yii\data\ActiveDataProvider([ + 'query' => \yii_app\records\WaybillIncomingProducts::find() + ->andWhere(['waybill_incoming_id' => \yii_app\records\WaybillIncoming::findOne(['shift_transfer_id' => $shiftTransfer->id])->id ?? null]) + ]), + 'showFooter' => true, + 'columns' => [ + [ + 'label' => 'Товар', + 'attribute' => 'name', + 'pageSummary' => 'Итого:', + ], + [ + 'label' => 'Количество товара', + 'attribute' => 'product_count', + 'pageSummary' => true, + + ], + [ + 'label' => 'Цена товара', + 'attribute' => 'product_price', + 'pageSummary' => true, + 'footer' => Html::tag('b', 'Излишек: '), + ], + [ + 'label' => 'Сумма', + 'attribute' => 'summ', + 'pageSummary' => true, + 'footer' => Html::tag('b', number_format($incomingBalance, 2, '.', ' ')), + ], + ], + 'showPageSummary' => true, + 'layout' => '{items}', + ]); ?> + +
+ status_id == ShiftTransfer::STATUS_OF_THE_FORMATION_OF_SURPLUSES_AND_SHORTAGES && Yii::$app->user->id == $shiftTransfer->end_shift_admin_id) { - echo $btn = Html::submitButton('Сохранить', [ - 'class' => 'btn btn-primary float-right', - 'name' => 'action', - 'value' => 'save' - ]); + echo $btn = 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 ( @@ -274,7 +344,7 @@ if (in_array($shiftTransfer->status_id, [ShiftTransfer::STATUS_ID_TRANSFER_ACTIO && Yii::$app->user->id != $shiftTransfer->end_shift_admin_id ) { echo Html::submitButton('Принять', [ - 'class' => 'btn btn-primary float-right', + 'class' => 'btn btn-success float-right', 'name' => 'action', 'value' => 'accept' ]) . '  ' . Html::submitButton('Отказ', [ diff --git a/erp24/web/js/shift-transfer/replacement.js b/erp24/web/js/shift-transfer/replacement.js index bcfc8b79..cd7a6b89 100644 --- a/erp24/web/js/shift-transfer/replacement.js +++ b/erp24/web/js/shift-transfer/replacement.js @@ -245,7 +245,7 @@ $('.field-shifttransfer-equalizationremains').on('input', '.list-cell__product_r var inputElement = $(this); var rowId = inputElement.closest('tr').index(); var max = parseFloat($(inputElement).attr('max')); - var value = parseFloat($(inputElement).val()); + var value = parseFloat($(inputElement).val()); setDynamicMaxValue(inputElement, rowId); @@ -255,6 +255,3 @@ $('.field-shifttransfer-equalizationremains').on('input', '.list-cell__product_r } }); - - - -- 2.39.5