add kulcsok, add tartós beszedés, add ticket type with intallments
This commit is contained in:
62
common/models/CardKeyAssignment.php
Normal file
62
common/models/CardKeyAssignment.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\behaviors\TimestampBehavior;
|
||||
|
||||
/**
|
||||
* This is the model class for table "card_key_assignment".
|
||||
*
|
||||
* @property integer $id_card
|
||||
* @property integer $id_key
|
||||
* @property integer $id_user
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class CardKeyAssignment extends \yii\db\ActiveRecord
|
||||
{
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return ArrayHelper::merge( [
|
||||
[
|
||||
'class' => TimestampBehavior::className(),
|
||||
'value' => function(){ return date('Y-m-d H:i:s' ); }
|
||||
],
|
||||
], parent::behaviors());
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
return 'card_key_assignment';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_card', 'id_key', 'id_user'], 'integer'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_card' => Yii::t('common/image', 'Id Card'),
|
||||
'id_key' => Yii::t('common/image', 'Id Key'),
|
||||
'id_user' => Yii::t('common/image', 'Id User'),
|
||||
'created_at' => Yii::t('common/image', 'Created At'),
|
||||
'updated_at' => Yii::t('common/image', 'Updated At'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ class CardSearch extends Card
|
||||
{
|
||||
|
||||
$query = new Query();
|
||||
$query->select(['card.number as card_number' , 'customer.name as customer_name', 'customer.email as customer_email','customer.phone as customer_phone']);
|
||||
$query->select(['card.id_card as card_id_card', 'card.number as card_number' , 'customer.name as customer_name', 'customer.email as customer_email','customer.phone as customer_phone']);
|
||||
$query->from('card');
|
||||
$query->innerJoin('customer','card.id_card = customer.id_customer_card');
|
||||
$query->orderBy(['customer.name' => SORT_ASC]);
|
||||
|
||||
@@ -46,7 +46,7 @@ class Ticket extends \common\models\BaseFitnessActiveRecord
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_user', 'id_ticket_type', 'id_account', 'id_discount', 'max_usage_count', 'usage_count', 'status', 'price_brutto'], 'integer'],
|
||||
[[ 'id_user', 'id_ticket_type', 'id_account', 'id_discount', 'max_usage_count', 'usage_count', 'status', 'price_brutto'], 'integer'],
|
||||
[['start', 'end', 'created_at', 'updated_at'], 'safe'],
|
||||
[['comment'], 'required'],
|
||||
[['comment'], 'string', 'max' => 255]
|
||||
@@ -59,7 +59,7 @@ class Ticket extends \common\models\BaseFitnessActiveRecord
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_ticket' => Yii::t('common/ticket', 'Id Ticket'),
|
||||
'id_ticket' => Yii::t('common/ticket', 'Bérlet azonosító'),
|
||||
'id_user' => Yii::t('common/ticket', 'Id User'),
|
||||
'id_ticket_type' => Yii::t('common/ticket', 'Id Ticket Type'),
|
||||
'id_account' => Yii::t('common/ticket', 'Id Account'),
|
||||
@@ -233,4 +233,20 @@ class Ticket extends \common\models\BaseFitnessActiveRecord
|
||||
return $query;
|
||||
}
|
||||
|
||||
public static function statuses( ) {
|
||||
return [
|
||||
Ticket::STATUS_ACTIVE => 'Aktív',
|
||||
Ticket::STATUS_DELETED => 'Törölve',
|
||||
];
|
||||
}
|
||||
|
||||
public static function toStatusName($id_status){
|
||||
$result = "Ismeretlen";
|
||||
$statuses = Ticket::statuses();
|
||||
if ( array_key_exists($id_status, $statuses)){
|
||||
$result = $statuses[$id_status];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
156
common/models/TicketInstallmentRequest.php
Normal file
156
common/models/TicketInstallmentRequest.php
Normal file
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
use yii\helpers\ArrayHelper;
|
||||
use yii\behaviors\TimestampBehavior;
|
||||
|
||||
/**
|
||||
* This is the model class for table "ticket_installment_request".
|
||||
*
|
||||
* @property integer $id_ticket_installment_request
|
||||
* @property integer $id_ticket
|
||||
* @property integer $id_customer
|
||||
* @property integer $id_transfer
|
||||
* @property integer $status
|
||||
* @property integer $money
|
||||
* @property string $customer_name
|
||||
* @property string $bank_name
|
||||
* @property string $bank_address
|
||||
* @property string $bank_account
|
||||
* @property integer $priority
|
||||
* @property string $request_sent_at
|
||||
* @property string $request_processed_at
|
||||
* @property string $request_target_time_at
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class TicketInstallmentRequest extends \yii\db\ActiveRecord
|
||||
{
|
||||
///status //pending | marked_to_send | sent | canceled | rejected | accepted |
|
||||
|
||||
public static $STATUS_PENDING = 0;
|
||||
public static $STATUS_MARKED_TO_SEND = 10;
|
||||
public static $STATUS_SENT = 20;
|
||||
public static $STATUS_CANCELED = 30;
|
||||
public static $STATUS_REJECTED = 40;
|
||||
public static $STATUS_ACCEPTED = 50;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
return 'ticket_installment_request';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_ticket', 'id_customer', 'id_transfer', 'status', 'money', 'priority'], 'integer'],
|
||||
[['request_sent_at', 'request_processed_at', 'request_target_time_at', 'created_at', 'updated_at'], 'required'],
|
||||
[['request_sent_at', 'request_processed_at', 'request_target_time_at', 'created_at', 'updated_at'], 'safe'],
|
||||
[['customer_name', 'bank_name', 'bank_address', 'bank_account'], 'string', 'max' => 255]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_ticket_installment_request' => Yii::t('common/ticket_installment_request', 'Id Ticket Installment Request'),
|
||||
'id_ticket' => Yii::t('common/ticket_installment_request', 'Id Ticket'),
|
||||
'id_customer' => Yii::t('common/ticket_installment_request', 'Id Customer'),
|
||||
'id_transfer' => Yii::t('common/ticket_installment_request', 'Id Transfer'),
|
||||
'status' => Yii::t('common/ticket_installment_request', 'Status'),
|
||||
'money' => Yii::t('common/ticket_installment_request', 'Money'),
|
||||
'customer_name' => Yii::t('common/ticket_installment_request', 'Customer Name'),
|
||||
'bank_name' => Yii::t('common/ticket_installment_request', 'Bank Name'),
|
||||
'bank_address' => Yii::t('common/ticket_installment_request', 'Bank Address'),
|
||||
'bank_account' => Yii::t('common/ticket_installment_request', 'Bank Account'),
|
||||
'priority' => Yii::t('common/ticket_installment_request', 'Priority'),
|
||||
'request_sent_at' => Yii::t('common/ticket_installment_request', 'Request Sent At'),
|
||||
'request_processed_at' => Yii::t('common/ticket_installment_request', 'Request Processed At'),
|
||||
'request_target_time_at' => Yii::t('common/ticket_installment_request', 'Request Target Time At'),
|
||||
'created_at' => Yii::t('common/ticket_installment_request', 'Created At'),
|
||||
'updated_at' => Yii::t('common/ticket_installment_request', 'Updated At'),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return ArrayHelper::merge( [
|
||||
[
|
||||
'class' => TimestampBehavior::className(),
|
||||
'value' => function(){ return date('Y-m-d H:i:s' ); }
|
||||
],
|
||||
], parent::behaviors());
|
||||
}
|
||||
|
||||
public function getCustomer(){
|
||||
return $this->hasOne( Customer::className(), ["id_customer" =>"id_customer" ] );
|
||||
}
|
||||
|
||||
/**
|
||||
* @param common\models\Ticket $ticket
|
||||
* @param common\models\TicketType $type
|
||||
* @return common\models\TicketInstallmentRequest[]
|
||||
* */
|
||||
public static function createInstallments($ticket,$type,$customer){
|
||||
$result = [];
|
||||
if ( $type->isInstallment() ){
|
||||
$count = $type->installment_count;
|
||||
$ticketCreatedAt = time();
|
||||
$money = $type->price_brutto;
|
||||
for ( $i = 1; $i <= $count; $i++){
|
||||
$request = TicketInstallmentRequest::createInstallment($ticket, $type, $customer, $money, $ticketCreatedAt, $i);
|
||||
$result[] = $request;
|
||||
}
|
||||
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function createInstallment($ticket,$type,$customer,$money,$ticketCreated,$index){
|
||||
$request = new TicketInstallmentRequest();
|
||||
$request->id_ticket = $ticket->id_ticket;
|
||||
$request->id_customer = $customer->id_customer;
|
||||
$request->status = TicketInstallmentRequest::$STATUS_PENDING;
|
||||
$request->priority = $index;
|
||||
$request->request_target_time_at = date('Y-m-d H:i:s', strtotime("+".$index." month" ));
|
||||
$request->request_processed_at = null;
|
||||
$request->request_sent_at = null;
|
||||
$request->money = $money;
|
||||
|
||||
return $request;
|
||||
}
|
||||
|
||||
public static function statuses(){
|
||||
return [
|
||||
TicketInstallmentRequest::$STATUS_PENDING => 'Indításra vár',
|
||||
TicketInstallmentRequest::$STATUS_MARKED_TO_SEND=> 'Beküldésre jelölve',
|
||||
TicketInstallmentRequest::$STATUS_SENT=> 'Beküldve',
|
||||
TicketInstallmentRequest::$STATUS_CANCELED=> 'Törölve',
|
||||
TicketInstallmentRequest::$STATUS_REJECTED=> 'Visszautasítva',
|
||||
TicketInstallmentRequest::$STATUS_ACCEPTED=> 'Sikeresen végrehajtva',
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
public static function toStatusName($id_status){
|
||||
$result = "Ismeretlen";
|
||||
$statuses = TicketInstallmentRequest::statuses();
|
||||
if ( array_key_exists($id_status, $statuses)){
|
||||
$result = $statuses[$id_status];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,6 +18,9 @@ use yii\helpers\ArrayHelper;
|
||||
* @property integer $id_account
|
||||
* @property integer $flag_student
|
||||
* @property integer $status
|
||||
* @property integer installment_enabled
|
||||
* @property integer installment_count
|
||||
* @property integer installment_money
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
@@ -33,6 +36,9 @@ class TicketType extends \common\models\BaseFitnessActiveRecord {
|
||||
const FLAG_STUDENT_OFF = 0;
|
||||
const FLAG_STUDENT_ON = 1;
|
||||
|
||||
const INSTALLMENT_OFF = 0;
|
||||
const INSTALLMENT_ON = 1;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
@@ -89,6 +95,15 @@ class TicketType extends \common\models\BaseFitnessActiveRecord {
|
||||
////////////////
|
||||
[['id_account',], 'integer'],
|
||||
[['id_account',], 'validateIdAccount'],
|
||||
|
||||
/////////////////////
|
||||
//INSTALLMENT ENABLED
|
||||
/////////////////////
|
||||
[['installment_enabled',], 'integer'],
|
||||
[['installment_enabled',], 'in', 'range' => [ self::INSTALLMENT_ON, self::INSTALLMENT_OFF ]],
|
||||
|
||||
[['installment_money',], 'integer'],
|
||||
[['installment_count',], 'integer'],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -110,6 +125,9 @@ class TicketType extends \common\models\BaseFitnessActiveRecord {
|
||||
'status' => Yii::t('common/ticket_type', 'Status'),
|
||||
'created_at' => Yii::t('common/ticket_type', 'Created At'),
|
||||
'updated_at' => Yii::t('common/ticket_type', 'Updated At'),
|
||||
'installment_enabled' => Yii::t('common/ticket_type', 'Részlet fizetés a brutto áron felül'),
|
||||
'installment_count' => Yii::t('common/ticket_type', 'Havi részletek száma'),
|
||||
'installment_money' => Yii::t('common/ticket_type', 'Havi részlet összege'),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -170,6 +188,9 @@ class TicketType extends \common\models\BaseFitnessActiveRecord {
|
||||
public function isStudent(){
|
||||
return $this->flag_student == ( self::FLAG_STUDENT_ON);
|
||||
}
|
||||
public function isInstallment(){
|
||||
return $this->installment_enabled == ( self::INSTALLMENT_ON);
|
||||
}
|
||||
|
||||
|
||||
public function validateIdAccount($attribute,$params){
|
||||
|
||||
@@ -51,7 +51,10 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
const DIRECTION_IN = 20;//MONEY GOES IN TO THE ACCOUNT ( COMPANY EARN MONEY )
|
||||
|
||||
const PAYMENT_METHOD_CASH = 10;
|
||||
const PAYMENT_METHOD_TRANSFER = 20;
|
||||
const PAYMENT_METHOD_BANCCARD = 20; //BANKKÁRTYA
|
||||
const PAYMENT_METHOD_TRANSFER= 30; // ÁTUTALÁS
|
||||
const PAYMENT_METHOD_CAFETERY = 40;//SZÉCHENYI KÁRTYA
|
||||
// const PAYMENT_METHOD_DEBIT_MANDATE = 50;//CSOPORTOS BESZEDÉSI MEGBÍZÁS
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
@@ -464,7 +467,10 @@ class Transfer extends \common\models\BaseFitnessActiveRecord
|
||||
public static function paymentMethods( ) {
|
||||
return [
|
||||
self::PAYMENT_METHOD_CASH=> Yii::t('common/transfer','Készpénz'),
|
||||
self::PAYMENT_METHOD_TRANSFER => Yii::t('common/transfer','Bankkártyás fizetés'),
|
||||
self::PAYMENT_METHOD_BANCCARD => Yii::t('common/transfer','Bankkártyás fizetés'),
|
||||
self::PAYMENT_METHOD_TRANSFER => Yii::t('common/transfer','Átutalás'),
|
||||
self::PAYMENT_METHOD_CAFETERY => Yii::t('common/transfer','Széchenyi kártya'),
|
||||
// self::PAYMENT_METHOD_DEBIT_MANDATE => Yii::t('common/transfer','Csoportos beszedési megbízás'),
|
||||
];
|
||||
}
|
||||
public static function statuses( ) {
|
||||
|
||||
86
common/models/Ugiro.php
Normal file
86
common/models/Ugiro.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
use yii\behaviors\TimestampBehavior;
|
||||
use yii\helpers\ArrayHelper;
|
||||
|
||||
/**
|
||||
* This is the model class for table "ugiro".
|
||||
*
|
||||
* @property integer $id_ugiro
|
||||
* @property integer $id_user
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class Ugiro extends \yii\db\ActiveRecord
|
||||
{
|
||||
|
||||
public static $PATH_MEGBIZAS = "giro/megbizas";
|
||||
public static $STATUS_SENT = 0;
|
||||
public static $STATUS_FINISHED = 1;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
return 'ugiro';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return ArrayHelper::merge( [
|
||||
[
|
||||
'class' => TimestampBehavior::className(),
|
||||
'value' => function(){ return date('Y-m-d H:i:s' ); }
|
||||
],
|
||||
], parent::behaviors());
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_ugiro' => Yii::t('common/ticket_installment_request', 'Id Ugiro'),
|
||||
'id_user' => Yii::t('common/ticket_installment_request', 'Id User'),
|
||||
'created_at' => Yii::t('common/ticket_installment_request', 'Created At'),
|
||||
'updated_at' => Yii::t('common/ticket_installment_request', 'Updated At'),
|
||||
];
|
||||
}
|
||||
|
||||
public function getUser(){
|
||||
return $this->hasOne( User::className(), ["id" =>"id_user" ] );
|
||||
}
|
||||
|
||||
public static function statuses() {
|
||||
return [
|
||||
static::$STATUS_SENT =>"Folyamatban",
|
||||
static::$STATUS_FINISHED =>"Befejezve",
|
||||
]
|
||||
;
|
||||
}
|
||||
|
||||
public function getStatusName( ) {
|
||||
$statuses = static::statuses() ;
|
||||
$result = "Ismeretlen";
|
||||
if ( array_key_exists($this->status, $statuses)){
|
||||
$result = $statuses[$this->status];
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
51
common/models/UgiroRequestAssignment.php
Normal file
51
common/models/UgiroRequestAssignment.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
|
||||
/**
|
||||
* This is the model class for table "ugiro_request_assignment".
|
||||
*
|
||||
* @property integer $id_ugiro_request_assignment
|
||||
* @property integer $id_ugiro
|
||||
* @property integer $id_request
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class UgiroRequestAssignment extends \yii\db\ActiveRecord
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
return 'ugiro_request_assignment';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_ugiro', 'id_request'], 'integer'],
|
||||
[['created_at', 'updated_at'], 'required'],
|
||||
[['created_at', 'updated_at'], 'safe']
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_ugiro_request_assignment' => Yii::t('common/ugiro_request_assignment', 'Id Ugiro Request Assignment'),
|
||||
'id_ugiro' => Yii::t('common/ugiro_request_assignment', 'Id Ugiro'),
|
||||
'id_request' => Yii::t('common/ugiro_request_assignment', 'Id Request'),
|
||||
'created_at' => Yii::t('common/ugiro_request_assignment', 'Created At'),
|
||||
'updated_at' => Yii::t('common/ugiro_request_assignment', 'Updated At'),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user