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

@@ -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{
];
}
}