add inventory item changes

This commit is contained in:
2016-09-07 07:42:43 +02:00
parent 59c8099530
commit 179b47c454
8 changed files with 181 additions and 30 deletions

View File

@@ -202,14 +202,26 @@ class InventoryItemController extends Controller
$model->save(false);
$prev = Url::previous("inventory-item-index");
\Yii::$app->session->setFlash('success', "Mennyiség elmentve: " . $model->productName . ' - ' .$model->count . ' db');
if (isset($prev)) {
return $this->redirect($prev);
} else {
// $prev = Url::previous("inventory-item-index");
// if (isset($prev)) {
// return $this->redirect($prev);
// } else {
// return $this->redirect(['index', 'id' => $inventory->id_inventory]);
// }
$next = InventoryItem::findNextItemAlphabetical($model->id_inventory_item);
if ( isset($next)){
return $this->redirect(['inventory-item/update', 'id' => $next]);
}else{
return $this->redirect(['index', 'id' => $inventory->id_inventory]);
}
} else {
return $this->render('update', [
'model' => $model,

View File

@@ -2,18 +2,15 @@
namespace backend\models;
use Yii;
use /** @noinspection PhpMethodOrClassCallIsNotCaseSensitiveInspection */
Yii;
use yii\base\Model;
use common\models\Card;
use common\models\Customer;
use common\models\Ticket;
use common\models\Account;
use yii\web\UploadedFile;
use common\models\Inventory;
use yii\base\Exception;
use common\models\Product;
use common\models\InventoryGroup;
use common\models\InventoryItem;
use yii\db\Expression;
use yii\db\Query;
use common\models\Procurement;
use common\models\Transfer;
@@ -51,7 +48,9 @@ class InventoryItemForm extends Model{
public $product_stock;
public $last_inventory_item;
public $inventory_item;
public $next_item_index;
public function rules(){
return [
[[ 'name', 'count'], 'required'],
@@ -63,14 +62,16 @@ class InventoryItemForm extends Model{
];
}
public function validateType($attribute,$params){
public function validateType(/** @noinspection PhpUnusedParameterInspection */
$attribute, $params){
if ( array_search($this->type, ['product','group']) === false ){
\Yii::error("Típus nem megfelelő: " . $this->type);
$this->addError("name","Nincs termék vagy termék csoport kiválasztva");
}
}
public function validateId($attribute,$params){
public function validateId(/** @noinspection PhpUnusedParameterInspection */
$attribute, $params){
if ( !$this->hasErrors('type')){
if ( $this->type == 'group'){
$this->inventoryGroup = InventoryGroup::findOne($this->id_product);
@@ -170,6 +171,10 @@ class InventoryItemForm extends Model{
$query->innerJoin(Product::tableName(),"product.id_product = sale.id_product ");
$query->andWhere(['in', 'transfer.status' ,[Transfer::STATUS_PAID ,Transfer::STATUS_NOT_PAID ] ]);
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
if ( isset($this->last_inventory_item ) ){
$query->andWhere([ '>', 'transfer.created_at' ,$this->last_inventory_item->created_at]);
}
if ( $this->type == 'product') {
$query->andWhere(['product.id_product' => $this->product->id_product]);
@@ -275,16 +280,14 @@ class InventoryItemForm extends Model{
foreach ($this->products as $product ){
$this->productOptions[]= [ 'type' =>'product', 'id' => $product->id_product ,'name' => $product->name . " (Termék/" .$product->productCategoryName ."/" . $product->accountName .")" ];
}
foreach ($this->inventoryGroups as $inventoryGroup ){
$this->productOptions[] = ['type' =>'group', 'id' =>$inventoryGroup->id_inventory_group ,'name' =>$inventoryGroup->name ."/Termékcsoport" ];
}
}
public function attributeLabels()
{
return [
@@ -293,5 +296,7 @@ class InventoryItemForm extends Model{
];
}
}

View File

@@ -19,7 +19,7 @@ $options = [];
$options['products'] = $model->productOptions;
$options['url_product_find'] = Url::toRoute(['product/find']);
$this->registerJs('inventoryItemCreate.init( '. json_encode($options) .' );');
$this-> registerJs('inventoryItemCreate.init( '. json_encode($options) .' );');
?>
<div class="inventory-item-create">

View File

@@ -24,6 +24,7 @@ $this->registerJs('inventoryItemIndex.init( ' . json_encode($options) . ' );');
?>
<!--suppress CssUnusedSymbol -->
<style>
.table th {
white-space: normal;
@@ -65,7 +66,7 @@ $this->registerJs('inventoryItemIndex.init( ' . json_encode($options) . ' );');
}
?>
<?php echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<div>
Magyarázat:
<ul>
<li>
@@ -87,7 +88,7 @@ $this->registerJs('inventoryItemIndex.init( ' . json_encode($options) . ' );');
Különbség: = "Leltározott mennyiség - ( "Előző leltár" + "Beszerzett mennyiség" - "Eladott mennyiség" )
</li>
</ul>
</p>
</div>
<p>
<?php echo Html::a("XLS letöltése", Url::current(['InventoryItemSearch[output]' => 'xls']), ['class' => 'btn btn-primary']) ?>
</p>
@@ -165,7 +166,7 @@ $this->registerJs('inventoryItemIndex.init( ' . json_encode($options) . ' );');
'urlCreator' => function ($action, $model) {
$result = "";
if ($action == 'update') {
$result = Url::toRoute(['update-item', 'id' => $model['item_id_inventory_item']]);
$result = Url::toRoute(['update', 'id' => $model['item_id_inventory_item']]);
}
return $result;
}

View File

@@ -7,10 +7,11 @@ use yii\widgets\DetailView;
/* @var $model common\models\InventoryItem */
$this->title = Yii::t('common/inventory-item', 'Leltár termék');
$this->params['breadcrumbs'][] = ['label' => Yii::t('common/inventory-item', 'Inventory Items'), 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => 'Leltár termékek', 'url' => ['index', 'id' => $model->id_inventory]];
$this->params['breadcrumbs'][] = ['label' => $model->id_inventory_item, 'url' => ['view', 'id' => $model->id_inventory_item]];
$this->params['breadcrumbs'][] = Yii::t('common/inventory-item', 'Update');
?>
<div class="inventory-item-update">
<h1><?= Html::encode($this->title) ?></h1>