Remove trigger condition - maximalize enter count with ticket

This commit is contained in:
Roland Schneider 2016-09-29 18:38:53 +02:00
parent 606f18950f
commit e30bb082fa
4 changed files with 31 additions and 3 deletions

View File

@ -389,10 +389,18 @@ class CardController extends \backend\controllers\BackendController {
$command = $connection->createCommand( Ticket::$SQL_UPDATE ); $command = $connection->createCommand( Ticket::$SQL_UPDATE );
$result = $command->execute(); $result = $command->execute();
\Yii::info("Tickets updated: " . $result ); \Yii::info("Tickets updated: " . $result );
\Yii::$app->session->setFlash('success', 'Módosított bérletek száma: ' . $result); \Yii::$app->session->setFlash('success', 'Módosított bérletek száma: ' . $result);
$command = $connection->createCommand( Card::$SQL_CLEARS_STATUS_DOOR );
$result = $command->execute();
\Yii::info("Door flag cleared: " . $result );
$command = $connection->createCommand( Card::$SQL_FIX_KEY_STATUS );
$result = $command->execute();
\Yii::info("Key flag fixed: " . $result );
} }
return $this->render("recalculate"); return $this->render("recalculate");

View File

@ -44,6 +44,15 @@ class Card extends \common\models\BaseFitnessActiveRecord
UPDATE card set flag = ( flag & ~(1 << 1 ) ), flag_out= ( flag_out & ~(1 << 1 ) ) where card.type <> 50 UPDATE card set flag = ( flag & ~(1 << 1 ) ), flag_out= ( flag_out & ~(1 << 1 ) ) where card.type <> 50
"; ";
public static $SQL_FIX_KEY_STATUS = "
update card as c1
left join card_key_assignment k
on k.id_card = c1.id_card
set flag = CASE WHEN k.id_key is null then (c1.flag | 1 << 2) else ( c1.flag & ~(1 << 2 ) ) end,
flag_out = CASE WHEN k.id_key is null then ( c1.flag_out & ~(1 << 2 )) else (c1.flag_out | 1 << 2 ) end
WHERE c1.type <> 50
";
public static $SQL_CLEARS_STATUS_DOOR_IN = " public static $SQL_CLEARS_STATUS_DOOR_IN = "
UPDATE card set flag = ( flag & ~(1 << 1 ) ) WHERE card.type <> 50 and card.id_card = :id UPDATE card set flag = ( flag & ~(1 << 1 ) ) WHERE card.type <> 50 and card.id_card = :id
"; ";

View File

@ -28,6 +28,10 @@ class TicketController extends Controller {
$command = $connection->createCommand ( Ticket::$SQL_UPDATE ); $command = $connection->createCommand ( Ticket::$SQL_UPDATE );
$result = $command->execute (); $result = $command->execute ();
\Yii::info ( "Tickets updated: " . $result ); \Yii::info ( "Tickets updated: " . $result );
$command = $connection->createCommand ( Card::$SQL_FIX_KEY_STATUS );
$result = $command->execute ();
} }
/** /**

View File

@ -120,6 +120,11 @@ begin
-- alapertelmezesben a belépés engedélyezve van -- alapertelmezesben a belépés engedélyezve van
set @p_allow_enter = true; set @p_allow_enter = true;
/*
-- NAPI TÖBSZÖRI BELÉPÉS FIGYELÉSE ITT - CSAK MÉSGEM KELLETT
set @p_allow_multiple_enter = true; set @p_allow_multiple_enter = true;
set @p_count_all = 0; set @p_count_all = 0;
@ -143,6 +148,7 @@ begin
THEN THEN
set @p_allow_enter = false; set @p_allow_enter = false;
END IF; END IF;
*/
INSERT INTO devlog ( msg) values( concat( 'Kilépés: Aktuális bérlet/belépések száma/többszire belépés on/belépés on: ' INSERT INTO devlog ( msg) values( concat( 'Kilépés: Aktuális bérlet/belépések száma/többszire belépés on/belépés on: '
, coalesce(@p_mo_ticket_id,''),'/', coalesce(@p_count_all,'') , '/', coalesce(@p_allow_multiple_enter,''),'/', coalesce(@p_allow_enter,'' ) ) ); , coalesce(@p_mo_ticket_id,''),'/', coalesce(@p_count_all,'') , '/', coalesce(@p_allow_multiple_enter,''),'/', coalesce(@p_allow_enter,'' ) ) );
@ -151,6 +157,7 @@ begin
flag_out = ( flag_out | 1 << 1 ) , -- nem léphet ki ( 1. bit beállíátsa 1-re ) flag_out = ( flag_out | 1 << 1 ) , -- nem léphet ki ( 1. bit beállíátsa 1-re )
flag = case when @p_allow_enter then ( flag & ~(1 << 1) ) else ( flag | 1 << 1 ) end flag = case when @p_allow_enter then ( flag & ~(1 << 1) ) else ( flag | 1 << 1 ) end
WHERE type <> 50 and id_card = New.id_card; WHERE type <> 50 and id_card = New.id_card;
END IF; END IF;
-- BELÉPÉS van folyamatban - kilépés flag_out bekapcsolása, belépés flag kikapcsolása -- BELÉPÉS van folyamatban - kilépés flag_out bekapcsolása, belépés flag kikapcsolása