door card pass: create table and create model and console controller

This commit is contained in:
Schneider Roland
2023-02-08 19:42:42 +01:00
parent 3daa39a0b6
commit 4d44b1c2af
9 changed files with 307 additions and 19 deletions

View File

@@ -42,6 +42,7 @@ class Card extends \common\models\BaseFitnessActiveRecord
public static $FLAG_KEY = 2; //key status
public static $FLAG_STATUS = 3; //allowed/disabled
public static $FLAG_DOOR_ALLOWED = 4; //ticket type allows door
public static $FLAG_DOOR_PASS_ALLOWED = 5; // door pass
/**
* This script is used in daily scripts, to clear the flag door log status
@@ -77,6 +78,22 @@ class Card extends \common\models\BaseFitnessActiveRecord
return Card::SQL_CLEAR_STATUS_DOOR_ALLOWED_FLAG() . " and card.id_card = :id ";
}
public static function SQL_DENY_DOOR_CARD_PASS() {
return "update card set flag = flag | (1 << " . Card::$FLAG_DOOR_PASS_ALLOWED . ") ";
}
public static function SQL_ALLOW_DOOR_CARD_PASS() {
return "update card set flag = flag | (1 << " . Card::$FLAG_DOOR_PASS_ALLOWED . ") ";
}
public static function SQL_DENY_DOOR_CARD_PASS_EXPIRED( ){
return "update card ca "
. "inner join door_card_pass dcp on ca.id_card = dcp.id_card "
. "set ca.flag = ca.flag | (1 << " . Card::$FLAG_DOOR_PASS_ALLOWED . ") , dcp.updated_at = now()"
. " WHERE "
. " dcp.updated_at <> dcp.created_at and dcp.created_at <= :datetime ";
}
public static $SQL_UPDATE_FLAG_STATUS_ACTIVE = '
update card set flag = CASE WHEN status = 20 then (flag | 1 << 3) else ( flag & ~(1 << 3 ) ) end