278 lines
16 KiB
PHP
278 lines
16 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Command;
|
|
use League\Csv\Reader;
|
|
use Illuminate\Support\Facades\Http;
|
|
use App\Http\Requests\LambdaRequest;
|
|
use Log;
|
|
use DB;
|
|
use App\Models\User;
|
|
//use App\Models\Paramedics;
|
|
|
|
class importmetricdata extends Command
|
|
{
|
|
/**
|
|
* The name and signature of the console command.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $signature = 'lms:sendlink';
|
|
|
|
/**
|
|
* The console command description.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $description = 'Command description';
|
|
|
|
protected $authkey = '6bf9faa1-408e-4905-9da4-660b45a2331c';
|
|
protected $source_identifier = 'test_metric_data';
|
|
/**
|
|
* Create a new command instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* Execute the console command.
|
|
*
|
|
* @return int
|
|
*/
|
|
public function handle()
|
|
{
|
|
$contacts = ['1702035093-40410d84-2e3e-403a-bf47-9978e9cdc160'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702455019-ac0e6e08-5289-4839-b88a-7752b829a382'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702455537-8f07f1a3-92c2-44c6-984d-7ef1d5d47f2a'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702714981-fa484239-33a0-4778-b576-b00e07df9c8b'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702716426-98338267-5eae-4962-85f2-81f98bd0f64a'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702719366-9288f4c5-5787-4f6c-a141-d2757d2b38db'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702989777-2d42501a-562c-419e-a297-0aeafe639c11'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1703129045-bdc895aa-e80f-44d2-b1c0-43ce250dca5c'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1703129585-6c86cb8a-f81c-493c-ac90-6a0043666ac7'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1703303143-bf3e3c97-fc8b-41d4-b962-a75c0f993a2a'=>'1698994736-a87141f6-a81c-42f8-b434-92ae921922ba',
|
|
'1702022681-b38d5aa9-8b91-441d-aea8-f0955b98404a'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1701415380-ef335bf9-d647-4252-8da4-ae7f18c0d148'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1700137053-4f53cfa9-95d2-48ac-bf01-94e9515585a0'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1700123153-b87591f8-69df-421d-ae6a-37017ce317a6'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1700043821-36f95d8a-077c-4bc3-b18a-cfcb12012584'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1700035409-a57198b7-676a-452c-bf9e-dd19b90d52a9'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1702456854-949a0259-a019-40df-b6ed-38f02db5e5a5'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',
|
|
'1701928907-14a42829-e9fa-430a-a1f9-2ce481c8f772'=>'1694702267-90acc1d9-78ea-400d-b0ee-4c4cdb454fbd',];
|
|
|
|
$positions = ['1702035093-40410d84-2e3e-403a-bf47-9978e9cdc160'=>'3053',
|
|
'1702455019-ac0e6e08-5289-4839-b88a-7752b829a382'=>'3053',
|
|
'1702455537-8f07f1a3-92c2-44c6-984d-7ef1d5d47f2a'=>'3053',
|
|
'1702714981-fa484239-33a0-4778-b576-b00e07df9c8b'=>'3053',
|
|
'1702716426-98338267-5eae-4962-85f2-81f98bd0f64a'=>'3053',
|
|
'1702719366-9288f4c5-5787-4f6c-a141-d2757d2b38db'=>'3053',
|
|
'1702989777-2d42501a-562c-419e-a297-0aeafe639c11'=>'3053',
|
|
'1703129045-bdc895aa-e80f-44d2-b1c0-43ce250dca5c'=>'3053',
|
|
'1703129585-6c86cb8a-f81c-493c-ac90-6a0043666ac7'=>'3053',
|
|
'1703303143-bf3e3c97-fc8b-41d4-b962-a75c0f993a2a'=>'3053',
|
|
'1702022681-b38d5aa9-8b91-441d-aea8-f0955b98404a'=>'11711',
|
|
'1701415380-ef335bf9-d647-4252-8da4-ae7f18c0d148'=>'11711',
|
|
'1700137053-4f53cfa9-95d2-48ac-bf01-94e9515585a0'=>'11711',
|
|
'1700123153-b87591f8-69df-421d-ae6a-37017ce317a6'=>'11711',
|
|
'1700043821-36f95d8a-077c-4bc3-b18a-cfcb12012584'=>'11711',
|
|
'1700035409-a57198b7-676a-452c-bf9e-dd19b90d52a9'=>'11711',
|
|
'1702456854-949a0259-a019-40df-b6ed-38f02db5e5a5'=>'11711',
|
|
'1701928907-14a42829-e9fa-430a-a1f9-2ce481c8f772'=>'11711',
|
|
];
|
|
|
|
$updatedContacts = [];
|
|
foreach($contacts as $cid => $uid) {
|
|
print_r($uid);
|
|
$access_token = User::where('user_id', $uid)->first()->access_token;
|
|
print_r($access_token);
|
|
print_r(['id' => $cid, 'position'=> $positions[$cid], 'is_verified' => true ]);
|
|
$response = LambdaRequest::postrequest('contact', 'contact/update', ['id' => $cid, 'position'=> $positions[$cid], 'is_verified' => true ], $access_token );
|
|
print_r($response);
|
|
$updatedContacts[] = $response->data->item;
|
|
}
|
|
|
|
|
|
$allcourses = [];
|
|
$courses = LambdaRequest::getrequest('lms', 'courses/get_all', ['status' => 'active'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
foreach($courses->data->items as $course) {
|
|
unset($course->subscribed_users);
|
|
$lessons = LambdaRequest::getrequest('lms', 'lessons/list', ['id'=>$course->id, 'partition' => 'rapport-crestroad'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
$articles = [];
|
|
$quizs = [];
|
|
foreach($lessons->data->lessons as $lesson){
|
|
foreach($lesson->articles as $article){
|
|
if($article->type == 'article') {
|
|
$articles[] = $article->entity_id;
|
|
}
|
|
if($article->type == 'quiz') {
|
|
$quizs[] = $article->entity_id;
|
|
}
|
|
}
|
|
}
|
|
$course->articles = $articles;
|
|
$course->quizs = $quizs;
|
|
$allcourses[$course->id] = $course;
|
|
}
|
|
|
|
foreach($updatedContacts as $item){
|
|
if(!isset($parents[$item->hierarchy])) {
|
|
$hierarchy = LambdaRequest::getrequest('ums', 'hierarchy/get_one', ['id' => $item->hierarchy ], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
$hierarchy = $hierarchy->data->item;
|
|
$parents[$item->hierarchy] = $hierarchy->parents . '#' . $item->hierarchy;
|
|
}
|
|
$item = (array)$item;
|
|
$counts = [];
|
|
if(isset($item['completed_articles']) && count($item['completed_articles']) > 0 ) {
|
|
foreach($allcourses as $course) {
|
|
$completed_articles = array_intersect($course->articles, $item['completed_articles']);
|
|
$counts[$course->id]['articles'] = count($completed_articles);
|
|
foreach($completed_articles as $completed_article) {
|
|
DB::table("lms_courses_completion")->updateOrInsert(['contact_id'=>$item['id'],'course_id'=>$course->id,'article_id'=>$completed_article], ['type'=>'articles', 'total_articles' => 3]);
|
|
}
|
|
$completed_articles = array_intersect($course->quizs, $item['completed_articles']);
|
|
$counts[$course->id]['quiz'] = count($completed_articles);
|
|
foreach($completed_articles as $completed_article) {
|
|
DB::table("lms_courses_completion")->updateOrInsert(['contact_id'=>$item['id'],'course_id'=>$course->id,'article_id'=>$completed_article], ['type'=>'quiz', 'total_articles' => 3]);
|
|
}
|
|
}
|
|
}
|
|
|
|
$data = ['user_id' => $item['user_id'],
|
|
'hierarchy_id' => $item['hierarchy'],
|
|
'name' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['name']),
|
|
'phone' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['phone']),
|
|
'alternate_phone' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['alternate_phone']),
|
|
'email' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['email']),
|
|
'city' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['city']),
|
|
'state' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['state']),
|
|
'language' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['language']),
|
|
'highlight_qualification' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['highlight_qualification']),
|
|
'type_of_setup' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['type_of_setup']),
|
|
'designation' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['designation']),
|
|
'clinic_institute_name' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['clinic_institute_name']),
|
|
'date_of_birth' => $item['date_of_birth'],
|
|
'parents' => $parents[ $item['hierarchy'] ],
|
|
|
|
'rep_name' => $item['user_info']->name,
|
|
'employee_code' => $item['user_info']->employee_code,
|
|
|
|
'english_article_count' => isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']) && isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['articles']) ? $counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['articles'] : 0,
|
|
'english_quiz_count' => isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']) && isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['quiz']) ? $counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['quiz'] : 0,
|
|
|
|
'hindi_article_count' => isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']) && isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['articles']) ? $counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['articles'] : 0,
|
|
'hindi_quiz_count' => isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']) && isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['quiz']) ? $counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['quiz'] : 0,
|
|
];
|
|
DB::table("lms_users")->updateOrInsert(['contact_id' => $item['id'] ], $data);
|
|
|
|
print_r($data);
|
|
}
|
|
|
|
|
|
// $search = ['type' => 'lmsuser'];
|
|
// $response = LambdaRequest::getrequest('contact', 'contact/get_all', ['start' => 0, 'length' => 9999, 'belowme' => true, 'search' => json_encode($search), 'keyword' => '', 'source' => 'dynamodb', 'fields' => json_encode(['completed_articles','user_id','alternate_phone','city','state','language','highlight_qualification','type_of_setup','designation','clinic_institute_name','date_of_birth','hierarchy', 'user_info']) ], env('LAMBDA_ACCESS_TOKEN', 'default_value') );
|
|
// $allcourses = [];
|
|
// $courses = LambdaRequest::getrequest('lms', 'courses/get_all', ['status' => 'active'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
// foreach($courses->data->items as $course) {
|
|
// unset($course->subscribed_users);
|
|
// $lessons = LambdaRequest::getrequest('lms', 'lessons/list', ['id'=>$course->id, 'partition' => 'rapport-crestroad'], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
// $articles = [];
|
|
// $quizs = [];
|
|
// foreach($lessons->data->lessons as $lesson){
|
|
// foreach($lesson->articles as $article){
|
|
// if($article->type == 'article') {
|
|
// $articles[] = $article->entity_id;
|
|
// }
|
|
// if($article->type == 'quiz') {
|
|
// $quizs[] = $article->entity_id;
|
|
// }
|
|
// }
|
|
// }
|
|
// $course->articles = $articles;
|
|
// $course->quizs = $quizs;
|
|
// $allcourses[$course->id] = $course;
|
|
// }
|
|
|
|
// $parents = [];
|
|
|
|
// foreach($response->data->items as $item){
|
|
// //if($item->id != '1693925017-bd6b2848-e0cf-4ed1-9d17-b9e6b960f02e') {
|
|
// if(!isset($parents[$item->hierarchy])) {
|
|
// $hierarchy = LambdaRequest::getrequest('ums', 'hierarchy/get_one', ['id' => $item->hierarchy ], env('LAMBDA_ACCESS_TOKEN', 'default_value'));
|
|
// $hierarchy = $hierarchy->data->item;
|
|
// $parents[$item->hierarchy] = $hierarchy->parents . '#' . $item->hierarchy;
|
|
// }
|
|
// $item = (array)$item;
|
|
// $counts = [];
|
|
// if(isset($item['completed_articles']) && count($item['completed_articles']) > 0 ) {
|
|
// foreach($allcourses as $course) {
|
|
// $completed_articles = array_intersect($course->articles, $item['completed_articles']);
|
|
// $counts[$course->id]['articles'] = count($completed_articles);
|
|
// foreach($completed_articles as $completed_article) {
|
|
// DB::table("lms_courses_completion")->updateOrInsert(['contact_id'=>$item['id'],'course_id'=>$course->id,'article_id'=>$completed_article], ['type'=>'articles', 'total_articles' => 3]);
|
|
// }
|
|
// $completed_articles = array_intersect($course->quizs, $item['completed_articles']);
|
|
// $counts[$course->id]['quiz'] = count($completed_articles);
|
|
// foreach($completed_articles as $completed_article) {
|
|
// DB::table("lms_courses_completion")->updateOrInsert(['contact_id'=>$item['id'],'course_id'=>$course->id,'article_id'=>$completed_article], ['type'=>'quiz', 'total_articles' => 3]);
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// $data = ['user_id' => $item['user_id'],
|
|
// 'hierarchy_id' => $item['hierarchy'],
|
|
// 'name' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['name']),
|
|
// 'phone' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['phone']),
|
|
// 'alternate_phone' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['alternate_phone']),
|
|
// 'email' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['email']),
|
|
// 'city' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['city']),
|
|
// 'state' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['state']),
|
|
// 'language' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['language']),
|
|
// 'highlight_qualification' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['highlight_qualification']),
|
|
// 'type_of_setup' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['type_of_setup']),
|
|
// 'designation' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['designation']),
|
|
// 'clinic_institute_name' => preg_replace("/[^a-zA-Z0-9. ]+/", '',$item['clinic_institute_name']),
|
|
// 'date_of_birth' => $item['date_of_birth'],
|
|
// 'parents' => $parents[ $item['hierarchy'] ],
|
|
|
|
// 'rep_name' => $item['user_info']->name,
|
|
// 'employee_code' => $item['user_info']->employee_code,
|
|
|
|
// 'english_article_count' => isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']) && isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['articles']) ? $counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['articles'] : 0,
|
|
// 'english_quiz_count' => isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']) && isset($counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['quiz']) ? $counts['1692237077-7be9a215-dae1-4af0-9350-d336ea54176f']['quiz'] : 0,
|
|
|
|
// 'hindi_article_count' => isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']) && isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['articles']) ? $counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['articles'] : 0,
|
|
// 'hindi_quiz_count' => isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']) && isset($counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['quiz']) ? $counts['1692263655-25749640-2bfb-476c-9116-cbc9aa958335']['quiz'] : 0,
|
|
// ];
|
|
// DB::table("lms_users")->updateOrInsert(['contact_id' => $item['id'] ], $data);
|
|
|
|
// print_r($data);
|
|
// //}
|
|
// }
|
|
// // print_r($allcourses);
|
|
// // print_r(count($response->data->items));
|
|
// return 0;
|
|
// }
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
"authkey":"6bf9faa1-408e-4905-9da4-660b45a2331c",
|
|
"user_email":"Sooraj.N@Cipla.com",
|
|
"source_identifier":"test_metric_data",
|
|
"source_record_identifier":"10000",
|
|
"record_date":"2022-02-10",
|
|
"duova_rx":0,
|
|
"glycohale_fb_rx":5,
|
|
"maxiflo_rx":5,
|
|
"maxiflo_sb_rx":5,
|
|
"nistami_rx":0,
|
|
"tiova_rx":5,
|
|
"tiova_sb_rx":0,
|
|
"triohale_rx":3
|
|
*/ |