meraproject/themes/merakomis/time/cache/controller.php
keboss-m 5c21d25d45 Initial commit: Merakomis portal, Docker stack and user-reader API.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-24 11:04:05 +03:00

108 lines
2.8 KiB
PHP

<?
namespace controller\themes\merakomis\time\cache;
use ms\ms\structure\msControllerTable;
use themes\merakomis\Emp;
use themes\merakomis\structure\merakomisControllerTable;
use themes\merakomis\Time;
use themes\merakomis\time\Cache;
class Api extends merakomisControllerTable {
static $class = 'themes\merakomis\time\Cache';
static function testEmp(){
$where =new \Where(\Where::_or([
\Where::_operator(Cache::$EMP,'=',264),
]));
$r = Cache::select([
\Query::WHERE=> $where,
\Query::COUNT=>0,
]);
$rr = Cache::delete($where);
echo '<pre>';
echo var_dump($rr,$r);
echo '</pre>';
}
static function test(){
$r = Time::select([
\Query::SELECT => ['SUM('.Time::$DURATION.') as cc',Time::$IS_OVER,Time::$DATE],
\Query::WHERE => new \Where(\Where::_and([
\Where::_operator(Time::$PROJECT,'=',99),
\Where::_between(Time::$DATE,'2026-03-01','2026-03-31'),
\Where::_in(Time::$EMP,[264]),
])),
\Query::GROUP_BY =>[Time::$IS_OVER,Time::$DATE],
]);
while($l = \DB::fetch($r)){
echo '<pre>';
echo var_dump($l);
echo '</pre>';
}
}
static function test2(){
$r = Cache::select([
\Query::WHERE => new \Where(\Where::_and([
\Where::_operator(Cache::$PROJECT,'=',99),
\Where::_operator(Cache::$BEGIN,'=','2026-03-01'),
\Where::_operator(Cache::$END,'=','2026-03-31'),
])),
]);
$tota = 0;
echo '<pre>';
echo var_dump(\DB::numRows($r));
echo '</pre>';
$emps = [];
while($l = \DB::fetch($r)){
$data = json_decode($l[Cache::$DATA],true);
$x = $data['total'];
if($x) {
$total += $x;
$emps[$l[Cache::$EMP]] += $x;
}
}
ksort($emps);
echo '<pre>';
echo var_dump($total,$emps);
echo '</pre>';
}
static function clear()
{
$dateBegin = '2026-03-01';
$dateEnd = '2026-03-31';
$where =new \Where(\Where::_or([
\Where::_between(Cache::$BEGIN,$dateBegin,$dateEnd),
\Where::_between(Cache::$END,$dateBegin,$dateEnd),
\Where::_and([
\Where::_operator(Cache::$BEGIN,'<=',$dateBegin),
\Where::_operator(Cache::$END,'>=',$dateEnd),
])
]));
$r = Cache::select([
\Query::WHERE=> $where,
\Query::COUNT=>0,
]);
$rr = Cache::delete($where);
echo '<pre>';
echo var_dump($rr,$r);
echo '</pre>';
}
}