/
Sales.php
69 lines (60 loc) · 1.65 KB
/
Sales.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
namespace app\models\sales;
use Yii;
use app\models\master\Customer;
use app\models\master\Branch;
use app\models\inventory\GoodsMovement;
/**
* Sales
*
* @property SalesDtl[] $salesDtls
*
* @author Misbahul D Munir <misbahuldmunir@gmail.com>
* @since 1.0
*/
class Sales extends \biz\core\sales\models\Sales
{
public function rules()
{
$rules = parent::rules();
return array_merge([
[['Date'], 'required'],
[['nmCustomer'], 'in', 'range' => Customer::find()->select('name')->column()]
], $rules);
}
public function getCustomer()
{
return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
}
public function getBranch()
{
return $this->hasOne(Branch::className(), ['id' => 'branch_id']);
}
public function getSalesDtls()
{
return $this->hasMany(SalesDtl::className(), ['sales_id' => 'id']);
}
public function getGis()
{
return $this->hasMany(GoodsMovement::className(), ['reff_id' => 'id'])
->onCondition(['reff_type' => 200]);
}
public function behaviors()
{
$behaviors = parent::behaviors();
return array_merge([
[
'class' => 'mdm\converter\DateConverter',
'attributes' => [
'Date' => 'date',
]
],
[
'class' => 'mdm\converter\RelatedConverter',
'attributes' => [
'nmCustomer' => [[Customer::className(), 'id' => 'customer_id'], 'name'],
],
],
], $behaviors);
}
}