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 );
$result = $command->execute();
\Yii::info("Tickets updated: " . $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");

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
";
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 = "
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 );
$result = $command->execute ();
\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
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_count_all = 0;
@ -143,6 +148,7 @@ begin
THEN
set @p_allow_enter = false;
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: '
, 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 = case when @p_allow_enter then ( flag & ~(1 << 1) ) else ( flag | 1 << 1 ) end
WHERE type <> 50 and id_card = New.id_card;
END IF;
-- BELÉPÉS van folyamatban - kilépés flag_out bekapcsolása, belépés flag kikapcsolása