-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
zze_grp
committed
May 10, 2019
1 parent
aa34ad1
commit b9f5a80
Showing
48 changed files
with
2,952 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
use Illuminate\Support\Facades\DB; | ||
use Symfony\Component\Console\Helper\Table; | ||
|
||
class ChoosequestionController extends Controller | ||
{ | ||
public function list() | ||
{ | ||
|
||
$casematerial= DB::table('case_study_material') | ||
->select('id','title') | ||
->get(); | ||
|
||
$casestudy = DB::table('case_to_question') | ||
->join('case_study_question','case_study_question.id','=','case_to_question.question_id') | ||
->join('case_study_material','case_study_material.id','=','case_to_question.case_id') | ||
->select('case_to_question.id','case_to_question.question_id','case_to_question.case_id', | ||
'case_study_question.question_rank','case_study_question.detail') | ||
->get(); | ||
$survey = DB::table('survey_detail_question') | ||
->select('id','survey_id','detail') | ||
->get(); | ||
|
||
$section = DB::table('section_question') | ||
->select('id','section_id','question_rank','detail') | ||
->get(); | ||
$question_hasresult = DB::table('temp_result')->select('id','type_id','question_id')->get(); | ||
|
||
$question_hasresult = json_decode($question_hasresult,true); | ||
$case_hasresult = array(); | ||
$survey_hasresult = array(); | ||
$section_hasresult = array(); | ||
foreach($question_hasresult as $item){ | ||
if ($item['type_id'] == 1) { | ||
array_push($case_hasresult, $item['question_id']); | ||
} elseif ($item['type_id'] == 2){ | ||
array_push($section_hasresult, $item['question_id']); | ||
} elseif ($item['type_id'] == 3){ | ||
array_push($survey_hasresult, $item['question_id']); | ||
} | ||
} | ||
return view('admin.data_analysis.show_question', | ||
compact('casematerial','casestudy','survey','section','case_hasresult','section_hasresult','survey_hasresult')); | ||
|
||
} | ||
|
||
public function survey($id) | ||
{ | ||
$number=DB::table('survey_answer') | ||
->where('id','=',$id) | ||
->count(); | ||
if($number==0){ | ||
return view('admin.data_analysis.noanswer'); | ||
} | ||
else{ | ||
$user= DB::table('survey_answer') | ||
->join('users','survey_answer.user_id','=','users.id') | ||
->where('survey_answer.id','=',$id) | ||
->where('users.is_active','=',1) | ||
->get(); | ||
$type=1; | ||
return view('admin.data_analysis.question_choose_user',compact('user','type','id')); | ||
} | ||
} | ||
|
||
public function casestudy($id) | ||
{ | ||
$number=DB::table('case_study_answer') | ||
->where('id','=',$id) | ||
->count(); | ||
if($number>0) { | ||
$user = DB::table('case_study_answer') | ||
->join('users', 'case_study_answer.user_id', '=', 'users.id') | ||
->where('case_study_answer.id', '=', $id) | ||
->where('users.is_active','=',1) | ||
->get(); | ||
$type = 2; | ||
return view('admin.data_analysis.question_choose_user', compact('user', 'type','id')); | ||
} | ||
else{ | ||
return view('admin.data_analysis.noanswer'); | ||
} | ||
|
||
} | ||
|
||
public function section($id) | ||
{ | ||
$number=DB::table('survey_answer') | ||
->where('id','=',$id) | ||
->count(); | ||
if($number==0){ | ||
return view('admin.data_analysis.noanswer'); | ||
} | ||
else{ | ||
$user= DB::table('section_question_answer') | ||
->join('users','section_question_answer.user_id','=','users.id') | ||
->where('section_question_answer.id','=',$id) | ||
->where('users.is_active','=',1) | ||
->get(); | ||
$type=3; | ||
return view('admin.data_analysis.question_choose_user',compact('user','type','id')); | ||
} | ||
} | ||
|
||
public function submit() | ||
{ | ||
// $users = $_POST["userid"]; | ||
|
||
|
||
$type = $_POST["type"]; //type 1=survey 2=case study 3=section question | ||
$question_id = $_POST["questionid"]; | ||
$function = $_POST["Function"]; | ||
$property=$_POST["Focus"]; //Focus = Age/Income | ||
if ($type==1){ | ||
$table="survey_answer"; | ||
$user= DB::table('survey_answer') | ||
->where('survey_answer.id','=',$question_id) | ||
->get(); | ||
} | ||
elseif($type==2){ | ||
$table="case_study_answer"; | ||
$user = DB::table('case_study_answer') | ||
->where('case_study_answer.id', '=', $question_id) | ||
->get(); | ||
} | ||
elseif($type==3){ | ||
$table="section_question_answer"; | ||
$user= DB::table('section_question_answer') | ||
->where('section_question_answer.id','=',$question_id) | ||
->get(); | ||
} | ||
$message = $function.";".$table.";".$question_id.";"; | ||
|
||
$user=json_decode($user,true); | ||
|
||
foreach ($user as $temp){ | ||
$userid=$temp["user_id"]; | ||
|
||
$message=$message.$userid.","; | ||
} | ||
if(count($user)!=0){ | ||
$message = substr($message,0,strlen($message)-1); | ||
} | ||
$message = $message.";".$property; | ||
// foreach ($users as $temp){ | ||
// $message= $message.";".$temp; | ||
// } | ||
$message = mb_convert_encoding($message,'GBK','UTF-8'); | ||
|
||
|
||
|
||
|
||
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); | ||
|
||
if(socket_connect($socket,'192.168.122.97',6666) == false){ | ||
$return_message= 'connect fail massege:'.socket_strerror(socket_last_error()); | ||
}else{ | ||
|
||
|
||
if(socket_write($socket,$message,strlen($message)) == false){ | ||
$return_message='fail to write'.socket_strerror(socket_last_error()); | ||
|
||
}else{ | ||
while($callback = socket_read($socket,1024)){ | ||
$return_message= 'server return message is:'.PHP_EOL.$callback; | ||
} | ||
} | ||
} | ||
socket_close($socket); | ||
|
||
|
||
|
||
return redirect('/dataanalysis'); | ||
|
||
} | ||
|
||
public function result($type,$id) | ||
{ | ||
$result = DB::table('temp_result')->where('question_id','=',$id) | ||
->where('type_id','=',$type)->orderBy('id','desc')->get(); | ||
return view('admin.data_analysis.analysis_result',compact('result')); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
use Illuminate\Support\Facades\DB; | ||
use Symfony\Component\Console\Helper\Table; | ||
|
||
class ShowResultController extends Controller | ||
{ | ||
public function index(){ | ||
$users = DB::table('users')->get(); | ||
$semesters = DB::table('users') | ||
->groupBy("semesters") | ||
->pluck("semesters"); | ||
$section_numbers = DB::table('users') | ||
->groupBy("section_numbers") | ||
->pluck("section_numbers"); | ||
return view('admin.result.index', compact("users", "semesters", "section_numbers")); | ||
} | ||
|
||
// public function user(){ | ||
// $userList = DB::table('users') | ||
// ->select('id', 'first_name', 'last_name') | ||
// ->get(); | ||
// return view('result.userlist', compact('userList')); | ||
// #return view('result.userlist'); | ||
// } | ||
|
||
// public function showID($id){ | ||
// $userInfo = DB::table('users')->find($id); | ||
// $first_name = $userInfo->first_name; | ||
// $last_name = $userInfo->last_name; | ||
|
||
|
||
// return view('result.answerPerID', compact('id', 'first_name', 'last_name')); | ||
// } | ||
|
||
public function show_by_user(){ | ||
$section = request('section'); | ||
$semester = request('semester'); | ||
$match = ['section_numbers' => $section, 'semesters' => $semester]; | ||
$users = DB::table('users')->where($match)->get(); | ||
return view('admin.result.show_by_user', compact("users", "semester", "section")); | ||
#return view('admin.result.show_by_user', compact("semester", "section")); | ||
} | ||
|
||
public function show_by_ID($user_id){ | ||
$user = DB::table('users')->find($user_id); | ||
$section_answer_for_user = DB::table('section_question_answer') | ||
->where('user_id' , $user->id) | ||
->get(); | ||
|
||
$case_answer_for_user = DB::table('case_study_answer') | ||
->where('user_id' , $user->id) | ||
->get(); | ||
|
||
|
||
$section_empty = $section_answer_for_user->isEmpty(); | ||
$case_empty = $case_answer_for_user->isEmpty(); | ||
|
||
|
||
if (!$section_empty and !$case_empty) { | ||
|
||
|
||
$section_question_answers = DB::table('section_question') | ||
->join('section_question_answer', | ||
'section_question.id', '=','section_question_answer.id') | ||
->join('chapter_section', | ||
'section_question.section_id', '=', 'chapter_section.section_id') | ||
->orderBy('chapter_id', 'ASC') | ||
->orderBy('question_rank', 'ASC') | ||
->where('user_id', $user->id) | ||
->get(); | ||
// dd($section_question_answers); | ||
return view('admin.result.show_by_id', compact("user", "section_question_answers")); | ||
} | ||
elseif($section_empty and !$case_empty){ | ||
dd('No chapter answer!'); | ||
} | ||
elseif(!$section_empty and $case_empty){ | ||
dd('No case study answer!'); | ||
} | ||
else{ | ||
dd('No answer!'); | ||
} | ||
|
||
|
||
|
||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
use Illuminate\Support\Facades\DB; | ||
use Symfony\Component\Console\Helper\Table; | ||
use phpDocumentor\Reflection\Types\Null_; | ||
use Illuminate\Database\Eloquent\Model; | ||
use Illuminate\Support\Facades\Auth; | ||
|
||
|
||
class ShowUser extends Controller | ||
{ | ||
public function getusers() | ||
{ | ||
$allusers = DB::table('users') | ||
->join('registerinfo1','users.id','=','registerinfo1.user_id') | ||
->select('users.id','users.user_name','users.email','users.first_name','users.last_name','users.is_active', | ||
'registerinfo1.usertype','registerinfo1.age','registerinfo1.gender','registerinfo1.nationality') | ||
->where('users.is_active','=',1) | ||
->orderBy('users.id')->get(); | ||
|
||
|
||
return view('show_users', compact('allusers')); | ||
} | ||
|
||
public function userdetail($id){ | ||
$basicinfo = DB::table('users') | ||
->join('registerinfo1','users.id','=','registerinfo1.user_id') | ||
->select('users.id','users.user_name','users.email','users.first_name','users.last_name','users.is_active', | ||
'registerinfo1.usertype','registerinfo1.age','registerinfo1.gender','registerinfo1.nationality', | ||
'registerinfo1.identification','registerinfo1.identification_other') | ||
->where('users.is_active','=',1) | ||
->where('users.id','=',$id) | ||
->orderBy('users.id')->get(); | ||
|
||
$userdata=DB::table('registerinfo1') | ||
->select('registerinfo1.user_id','registerinfo1.usertype') | ||
->where('registerinfo1.user_id','=',$id) | ||
->get(); | ||
|
||
$userdata=json_decode($userdata, true); | ||
|
||
$languageinfo = DB::table('registerinfo2') | ||
->where('registerinfo2.user_id','=',$id) | ||
->orderBy('registerinfo2.user_id')->get(); | ||
|
||
if ($userdata[0]["usertype"] == 'student') { | ||
$educationalinfo = DB::table('registerinfo3') | ||
->where('registerinfo3.user_id','=',$id) | ||
->orderBy('registerinfo3.user_id')->get(); | ||
} else { | ||
$educationalinfo = DB::table('registerinfo3_2') | ||
->where('registerinfo3_2.user_id','=',$id) | ||
->orderBy('registerinfo3_2.user_id')->get(); | ||
} | ||
|
||
$religiousinfo = DB::table('registerinfo4') | ||
->where('registerinfo4.user_id','=',$id) | ||
->orderBy('registerinfo4.user_id')->get(); | ||
|
||
return view('show_users_detail', compact('basicinfo','languageinfo','educationalinfo','religiousinfo')); | ||
} | ||
|
||
public function deleteuser($id){ | ||
DB::table('users') | ||
->select('users.id','users.is_active') | ||
->where('users.id','=',$id) | ||
->update([ | ||
'users.is_active' => 0 | ||
]); | ||
|
||
return redirect("/users"); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
|
||
class SocketconnectController extends Controller | ||
{ | ||
public function connect(){ | ||
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); | ||
// /****************设置socket连接选项,这两个步骤你可以省略*************/ | ||
// //接收套接流的最大超时时间1秒,后面是微秒单位超时时间,设置为零,表示不管它 | ||
// socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 1, "usec" => 0)); | ||
// //发送套接流的最大超时时间为6秒 | ||
// socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec" => 6, "usec" => 0)); | ||
// /****************设置socket连接选项,这两个步骤你可以省略*************/ | ||
|
||
//连接服务端的套接流,这一步就是使客户端与服务器端的套接流建立联系 | ||
if(socket_connect($socket,'192.168.122.97',6666) == false){ | ||
echo 'connect fail massege:'.socket_strerror(socket_last_error()); | ||
}else{ | ||
$message = 'l love you socket'; | ||
//转为GBK编码,处理乱码问题,这要看你的编码情况而定,每个人的编码都不同 | ||
$message = mb_convert_encoding($message,'GBK','UTF-8'); | ||
//向服务端写入字符串信息 | ||
|
||
if(socket_write($socket,$message,strlen($message)) == false){ | ||
echo 'fail to write'.socket_strerror(socket_last_error()); | ||
|
||
}else{ | ||
echo 'client write success'.PHP_EOL; | ||
//读取服务端返回来的套接流信息 | ||
while($callback = socket_read($socket,1024)){ | ||
echo 'server return message is:'.PHP_EOL.$callback; | ||
} | ||
} | ||
} | ||
socket_close($socket); | ||
} | ||
} |
Oops, something went wrong.