491 lines
15 KiB
PHP
491 lines
15 KiB
PHP
<?php
|
|
include 'connect/cms-config.php' ;
|
|
include 'requires/function.php' ;
|
|
require( 'extensions/mailer.php' ) ;
|
|
|
|
|
|
$start_date = new DateTime('2024-04-01');
|
|
// $end_date = new DateTime('2024-12-31');
|
|
$end_date = new DateTime('2024-12-31');
|
|
$end_date->modify('+1 day'); // Include the last day
|
|
|
|
$dates = [];
|
|
$interval = new DateInterval('P1D'); // 1 day interval
|
|
$date_period = new DatePeriod($start_date, $interval, $end_date);
|
|
|
|
foreach ($date_period as $date) {
|
|
$dates[] = $date->format('Y-m-d');
|
|
}
|
|
|
|
|
|
|
|
$select = $mysqli->query("select * from staff where deleted_at is null and staff_id = '138'") ;
|
|
|
|
if ( $select->num_rows > 0 ){
|
|
|
|
while ( $row = $select->fetch_assoc() ){
|
|
|
|
foreach ( $dates as $k => $v ){
|
|
|
|
$selectattendance = $mysqli->query("SELECT * FROM `staff_attendance_list` WHERE `staff_id` = '".$row['staff_id']."' and list_date LIKE '%".$v."%' and deleted_at is null;") ;
|
|
|
|
if ( $selectattendance->num_rows == 0 ){
|
|
echo $row['staff_id'] . ' : ' . $v ;
|
|
echo "\n\n" ;
|
|
}
|
|
|
|
}
|
|
|
|
echo "\n\n" ;
|
|
echo "\n\n" ;
|
|
echo "\n\n" ;
|
|
echo "\n\n" ;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit;
|
|
|
|
|
|
|
|
|
|
|
|
$a = '' ;
|
|
|
|
|
|
$b = json_decode($a, true) ;
|
|
|
|
$c = $b['2']['data'] ;
|
|
|
|
$select_staff = $mysqli->query("select * from staff where branch_id = '1'") ;
|
|
if ( $select_staff->num_rows > 0 ){
|
|
while ($row_staff = $select_staff->fetch_assoc() ){
|
|
|
|
$check = false ;
|
|
foreach ( $c as $k => $v ){
|
|
if ( $v['badgenumber'] == $row_staff['staff_idno'] ){
|
|
$check = true ;
|
|
}
|
|
}
|
|
|
|
if ( !$check ){
|
|
|
|
// $mysqli->query("update staff set updated_at = '".date("Y-m-d H:i:s", time())."' where staff_id = '".$row_staff['staff_id']."'") ;
|
|
|
|
echo "update staff set updated_at = '".date("Y-m-d H:i:s", time())."' where staff_id = '".$row_staff['staff_id']."' ;" ;
|
|
echo "\n\n" ;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
exit ;
|
|
|
|
|
|
// $mysqli->query("UPDATE `staff_leave_month` SET
|
|
// `given_date` = '2023-06-01'
|
|
// WHERE `given_date` = '0000-00-00'");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit ;
|
|
$select = $mysqli->query( "SELECT SUM(given_day) as total, staff_id FROM staff_leave_month
|
|
GROUP BY staff_id" ) ;
|
|
|
|
|
|
while ( $row = $select->fetch_assoc() ){
|
|
|
|
|
|
$get_leave_year = $mysqli->query("SELECT leave_year_id, leave_record_days FROM staff_leave_year
|
|
WHERE deleted_at IS NULL AND staff_id = '".$row['staff_id']."' AND leave_type = 'annual' AND leave_year = '2023' LIMIT 1") ;
|
|
if ( $get_leave_year->num_rows > 0 ){
|
|
$row_leave_year = $get_leave_year->fetch_assoc() ;
|
|
|
|
|
|
$staff = $mysqli->query( "SELECT leave_given_days FROM staff_leave_year
|
|
WHERE leave_type = 'annual' AND leave_year = '2023' AND staff_id = '".$row['staff_id']."'" ) ;
|
|
$row_staff = $staff->fetch_assoc() ;
|
|
|
|
$extra_days = ( $row_staff['leave_given_days'] - $row['total'] ) ;
|
|
if ( $extra_days > 0 ){
|
|
|
|
echo "INSERT INTO staff_leave_month
|
|
( leave_year_id, staff_id, given_month, given_day ) VALUES
|
|
( '".$row_leave_year['leave_year_id']."', '".$row['staff_id']."', '6', '".$extra_days."' )" ;
|
|
|
|
print_r('<br />') ;
|
|
print_r('<br />') ;
|
|
|
|
|
|
// $mysqli->query( "INSERT INTO staff_leave_month
|
|
// ( leave_year_id, staff_id, given_month, given_day ) VALUES
|
|
// ( '".$row_leave_year['leave_year_id']."', '".$row['staff_id']."', '6', '".$extra_days."' )" ) ;
|
|
|
|
// $mysqli->query( "UPDATE staff_leave_year SET
|
|
// leave_days = leave_days + ".$extra_days."
|
|
// WHERE leave_year_id = '".$row_leave_year['leave_year_id']."'" ) ;
|
|
|
|
print_r('<br />') ;
|
|
print_r($row) ;
|
|
print_r('<br />') ;
|
|
print_r($extra_days) ;
|
|
print_r('<br />') ;
|
|
print_r('<br />') ;
|
|
print_r('<br />') ;
|
|
print_r('<br />') ;
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit ;
|
|
$select = $mysqli->query( "SELECT * FROM staff_leave_year
|
|
WHERE leave_type = 'annual' AND leave_year = '2023'" ) ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Define the plaintext, IV, and encryption key
|
|
// $plaintext = '{"CompanyID":"1","IsActive":"1"}';
|
|
// $key = '1234567890030188';
|
|
// $iv = 'Info-TechGateWay' ;
|
|
|
|
// // Encrypt the plaintext using AES-256-CBC
|
|
// $ciphertext = openssl_encrypt($plaintext, 'aes-128-cbc', $key, OPENSSL_RAW_DATA, $iv);
|
|
|
|
// // Encode the ciphertext in base64 for output
|
|
// $output = base64_encode($ciphertext);
|
|
|
|
// echo $output;
|
|
|
|
// exit ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit ;
|
|
$rms_call = rmsCall( 'pinless/getproductidlistbymobilenumber', $rms_content ) ;
|
|
print_r($rms_call) ;
|
|
|
|
exit ;
|
|
|
|
|
|
|
|
$parameter = [
|
|
'referenceId' => 'TESTBO000043',
|
|
'countryCode' => '60',
|
|
'mobileNumber' => '176168619'
|
|
] ;
|
|
|
|
$post = 'POST' ;
|
|
$path = 'https://api-qa.molreloads.com/terminal/v1/pinless/getproductidlistbymobilenumber' ;
|
|
$content = json_encode($parameter) ;
|
|
// $datetime = gmdate("Y-m-d\TH:i:s\Z") ;
|
|
$datetime = '2023-05-07T12:36:32Z' ;
|
|
$terminal = 'IPSSB01001' ;
|
|
// $terminal = '000300001' ;
|
|
$terminaltobase64 = base64_encode($terminal) ;
|
|
$key = '3566977797971712' ;
|
|
// $key = '0806105298910204' ;
|
|
|
|
$data = $post . $path . $content . $datetime . $terminal ;
|
|
|
|
$signature = hash_hmac("sha1", $data, $key) ;
|
|
$signaturetobase64 = base64_encode($signature) ;
|
|
|
|
|
|
|
|
echo 'Post: '.$post ;
|
|
echo '<br />' ;
|
|
echo 'Path: '.$path ;
|
|
echo '<br />' ;
|
|
echo 'Content: '.$content ;
|
|
echo '<br />' ;
|
|
echo 'Datetime: '.$datetime ;
|
|
echo '<br />' ;
|
|
echo 'Terminal: '.$terminal ;
|
|
echo '<br />' ;
|
|
echo 'Terminal Base64: '.$terminaltobase64 ;
|
|
echo '<br />' ;
|
|
echo 'Secret Key: '.$key ;
|
|
echo '<br />' ;
|
|
echo 'Signature Before: '.$data ;
|
|
echo '<br />' ;
|
|
echo 'Signature: '.$signature ;
|
|
echo '<br />' ;
|
|
echo 'Signature Base64: '.$signaturetobase64 ;
|
|
echo '<br />' ;
|
|
echo '<br />' ;
|
|
echo '<br />' ;
|
|
print_r(array(
|
|
'Authorization: mol-req-sign '.$terminaltobase64.':'.$signaturetobase64,
|
|
'Content-Type: application/json',
|
|
'x-mol-date-time: '.$datetime
|
|
)) ;
|
|
|
|
|
|
$curl = curl_init();
|
|
|
|
curl_setopt_array($curl, array(
|
|
CURLOPT_URL => $path,
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
CURLOPT_ENCODING => '',
|
|
CURLOPT_MAXREDIRS => 10,
|
|
CURLOPT_TIMEOUT => 0,
|
|
CURLOPT_FOLLOWLOCATION => true,
|
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
|
CURLOPT_CUSTOMREQUEST => 'POST',
|
|
CURLOPT_POSTFIELDS => $content,
|
|
CURLOPT_HTTPHEADER => array(
|
|
'authorization: mol-req-sign '.$terminaltobase64.':'.$signaturetobase64,
|
|
'content-type: application/json',
|
|
'x-mol-date-time: '.$datetime
|
|
),
|
|
));
|
|
|
|
$response = curl_exec($curl);
|
|
|
|
curl_close($curl);
|
|
echo $response;
|
|
|
|
|
|
|
|
|
|
exit ;
|
|
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
|
<style>
|
|
td{ padding: 5px; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript">
|
|
google.charts.load('current', {'packages':['bar']});
|
|
google.charts.setOnLoadCallback(drawStuff);
|
|
|
|
function drawStuff() {
|
|
var data = new google.visualization.arrayToDataTable( [["Month","Point"],["01","0.00"],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",0],["11",0],["12",0]] ) ;
|
|
|
|
var options = {
|
|
chart: { title: 'Yearly Point Report' },
|
|
bars: 'vertical'
|
|
} ;
|
|
var chart = new google.charts.Bar(document.getElementById('barchart')) ;
|
|
chart.draw(data, options);
|
|
};
|
|
</script>
|
|
|
|
<div style="padding: 0 20px;">
|
|
<div id="barchart" style="width: 100%; height: 500px;"></div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
exit ;
|
|
$array_point = [] ;
|
|
$select_point = $mysqli->query("SELECT * FROM setting_point where point_from = 'task' AND deleted_at IS NULL") ;
|
|
if ( $select_point->num_rows > 0 ){
|
|
while ( $row_point = $select_point->fetch_assoc() ){
|
|
$array_point[$row_point['point_type']][$row_point['difficulty']] = $row_point['point_value'] ;
|
|
}
|
|
}
|
|
|
|
|
|
$select_task = $mysqli->query("SELECT * FROM task where status = 'approved' AND deleted_at IS NULL ORDER BY task_id DESC") ;
|
|
|
|
|
|
if ( $select_task->num_rows > 0 ){
|
|
while ( $row_task = $select_task->fetch_assoc() ){
|
|
|
|
$point_earn = $array_point[$row_task['task_type']][$row_task['difficulty']] ;
|
|
|
|
$extra = ( $point_earn + $row_task['extra'] ) ;
|
|
|
|
$earned_assigned = ( $row_task['incentive'] + $extra ) ;
|
|
$earned_executed = ( $row_task['incentive2'] + $extra ) ;
|
|
|
|
echo $row_task['task_type'] . ' : ' . $row_task['difficulty'] . ' = ' . $extra ;
|
|
echo "\n" ;
|
|
echo $row_task['incentive'] . ' : ' . $row_task['incentive2'] ;
|
|
echo "\n" ;
|
|
echo $row_task['task_so'] . " : " . $row_task['assigned_by'] . ' : ( '.$earned_assigned.' : '.$earned_executed.' ) ' ;
|
|
echo "\n" ;
|
|
|
|
$select_movement = $mysqli->query("SELECT * FROM staff_point_movement WHERE from_table = 'task' AND from_id = '".$row_task['task_id']."' AND remark LIKE '%Earn incentive from task%'") ;
|
|
if ( $select_movement->num_rows > 0 ){
|
|
while ( $row_movement = $select_movement->fetch_assoc() ){
|
|
|
|
echo $row_movement['remark'] . " : " . $row_movement['staff_id'] . " : " . $row_movement['amount'] ;
|
|
echo "\n" ;
|
|
}
|
|
}
|
|
|
|
echo "\n" ;
|
|
echo "\n" ;
|
|
echo "\n" ;
|
|
echo "\n" ;
|
|
echo "\n" ;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exit ;
|
|
|
|
|
|
$array = [
|
|
[ 'table' => 'announcement_translation', 'key' => 'announcement_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'app_menu_translation', 'key' => 'menu_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'app_page_translation', 'key' => 'page_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'app_screen_translation', 'key' => 'screen_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'app_service_translation', 'key' => 'service_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'app_support_translation', 'key' => 'support_id', 'related' => [ 'name' ] ],
|
|
[ 'table' => 'association_category_translation', 'key' => 'category_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'association_translation', 'key' => 'association_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'form_category_translation', 'key' => 'category_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'form_translation', 'key' => 'form_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'handbook_category_translation', 'key' => 'category_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'handbook_translation', 'key' => 'handbook_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'nomination_translation', 'key' => 'nomination_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'profile_achievement_translation', 'key' => 'achievement_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'profile_point_translation', 'key' => 'point_id', 'related' => [ 'title', 'sub', 'content' ] ],
|
|
[ 'table' => 'profile_star_translation', 'key' => 'star_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'profile_tier_translation', 'key' => 'tier_id', 'related' => [ 'title', 'sub', 'content' ] ],
|
|
[ 'table' => 'redeem_translation', 'key' => 'redeem_id', 'related' => [ 'title', 'content' ] ],
|
|
[ 'table' => 'setting_adjustment_translation', 'key' => 'adjustment_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'setting_department_translation', 'key' => 'department_id', 'related' => [ 'department_desc' ] ],
|
|
[ 'table' => 'setting_difficulty_translation', 'key' => 'difficulty_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'setting_job_position_translation', 'key' => 'job_position_id', 'related' => [ 'job_position_desc' ] ],
|
|
[ 'table' => 'setting_job_section_translation', 'key' => 'job_section_id', 'related' => [ 'job_section_desc' ] ],
|
|
[ 'table' => 'setting_request_sub_translation', 'key' => 'sub_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'setting_request_translation', 'key' => 'main_id', 'related' => [ 'title' ] ],
|
|
[ 'table' => 'training_translation', 'key' => 'training_id', 'related' => [ 'title', 'content' ] ]
|
|
] ;
|
|
|
|
|
|
|
|
foreach ( $array as $k => $v ){
|
|
|
|
$table_from = str_replace( '_translation', '', $v['table'] ) ;
|
|
$table_to = $v['table'] ;
|
|
|
|
$select = $mysqli->query( "SELECT * FROM " . $table_from ) ;
|
|
if ( $select->num_rows > 0 ){
|
|
while ( $row = $select->fetch_assoc() ){
|
|
|
|
$insert_key = '' ;
|
|
$insert_value = '' ;
|
|
foreach ( $v['related'] as $krelated => $vrelated ){
|
|
$insert_key .= ", " . $vrelated ;
|
|
$insert_value .= ", '" . $row[$vrelated] . "'" ;
|
|
}
|
|
|
|
// echo "INSERT INTO " . $table_to . "
|
|
// ( ".$v['key']." ".$insert_key." ) VALUES
|
|
// ( '".$row[$v['key']]."' ".$insert_value." )" ;
|
|
// echo '<br />' ;
|
|
// echo '<br />' ;
|
|
// echo '<br />' ;
|
|
// echo '<br />' ;
|
|
// echo '<br />' ;
|
|
|
|
foreach ( $LANGS as $klang => $vlang ){
|
|
$mysqli->query( "INSERT INTO " . $table_to . "
|
|
( lang, ".$v['key']." ".$insert_key." ) VALUES
|
|
( '".$klang."', '".$row[$v['key']]."' ".$insert_value." )" ) ;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// $staff_info['staff_name'] = 'Jimmy' ;
|
|
// $staff_info['staff_email'] = 'Jimmy@ips.com.my' ;
|
|
// $leave_type = 'Test' ;
|
|
|
|
|
|
// // send email when apply leave
|
|
// $content = '
|
|
// Hello Team, <br /><br />
|
|
// Please approve <b>'.$staff_info['staff_name'].'</b> leave.<br /><br />
|
|
// </table><br /><br />
|
|
// The approval for this application belongs to you, so do keep this e-mail safe.' ;
|
|
|
|
// $mailer = new Mailer() ;
|
|
// $mailer->from = EMAILNOREPLY ;
|
|
// $mailer->to = $EMAILCC ;
|
|
// $mailer->cc = [ $staff_info['staff_email'] ] ;
|
|
// $mailer->subject = ucwords($leave_type).' leave request from '.$staff_info['staff_name'] ;
|
|
// $mailer->body = $content ;
|
|
// $mailer->send() ;
|