估分测试0603
This commit is contained in:
parent
d671361223
commit
2bd3991a96
|
|
@ -13,7 +13,6 @@ use app\app\controller\Skip;
|
|||
class Sportstesting extends Base{
|
||||
|
||||
protected $color = ['#FF5656','#FF5656','#5AD06D','#6492F6','#3967D6'];
|
||||
|
||||
protected $city_data_rule2 = [
|
||||
'北京'=>[
|
||||
'xc'=>[
|
||||
|
|
@ -40,45 +39,46 @@ class Sportstesting extends Base{
|
|||
'6:00'=>'0'
|
||||
],
|
||||
'unit'=>'分/秒',
|
||||
'value'=>'00:00',
|
||||
'proportion'=>'1',
|
||||
],
|
||||
],
|
||||
'2'=>[
|
||||
'800米'=>['list'=>['3:55'=>'8','4:01'=>'7.5','4:08'=>'7','4:16'=>'6.5','4:25'=>'6','4:35'=>'5.5','4:45'=>'5','4:49'=>'4.5','4:53'=>'4','4:57'=>'3.5','5:02'=>'3','5:07'=>'2.5','5:12'=>'2','5:19'=>'1.5','5:26'=>'1','5:35'=>'0.5','5:36'=>'0',],'unit'=>'分/秒','proportion'=>'1',]
|
||||
'800米'=>['list'=>['3:55'=>'8','4:01'=>'7.5','4:08'=>'7','4:16'=>'6.5','4:25'=>'6','4:35'=>'5.5','4:45'=>'5','4:49'=>'4.5','4:53'=>'4','4:57'=>'3.5','5:02'=>'3','5:07'=>'2.5','5:12'=>'2','5:19'=>'1.5','5:26'=>'1','5:35'=>'0.5','5:36'=>'0',],'unit'=>'分/秒','value'=>'00:00','proportion'=>'1',]
|
||||
],
|
||||
],
|
||||
'xc_2'=>[
|
||||
'1'=>[
|
||||
'引体向上'=>['list'=>['11'=>'8','10'=>'7.5','9'=>'7','8'=>'6.5','7'=>'6','6'=>'5.5','5'=>'5','4'=>'4.5','3'=>'4','2'=>'3.5','1'=>'3'],'unit'=>'次','proportion'=>'1',],
|
||||
'双杠臂屈伸'=>['list'=>['11'=>'8','10'=>'7.5','9'=>'7','8'=>'6.5','7'=>'6','6'=>'5.5','5'=>'5','4'=>'4.5','3'=>'4','2'=>'3.5','1'=>'3'],'unit'=>'次','proportion'=>'1',],
|
||||
'引体向上'=>['list'=>['11'=>'8','10'=>'7.5','9'=>'7','8'=>'6.5','7'=>'6','6'=>'5.5','5'=>'5','4'=>'4.5','3'=>'4','2'=>'3.5','1'=>'3'],'unit'=>'次','value'=>'0','proportion'=>'1',],
|
||||
'双杠臂屈伸'=>['list'=>['11'=>'8','10'=>'7.5','9'=>'7','8'=>'6.5','7'=>'6','6'=>'5.5','5'=>'5','4'=>'4.5','3'=>'4','2'=>'3.5','1'=>'3'],'unit'=>'次','value'=>'0','proportion'=>'1',],
|
||||
],
|
||||
'2'=>[
|
||||
'斜身引体'=>['list'=>['40'=>'8','36'=>'7.5','32'=>'7','28'=>'6.5','24'=>'6','20'=>'5.5','16'=>'5','12'=>'4.5','10'=>'4','9'=>'3.5','8'=>'3','7'=>'2.5','6'=>'2','5'=>'1.5','4'=>'1','3'=>'0.5','2'=>'0'],'unit'=>'次','proportion'=>'1',],
|
||||
'仰卧起坐'=>['list'=>['42'=>'8','40'=>'7.5','37'=>'7','34'=>'6.5','30'=>'6','26'=>'5.5','22'=>'5','21'=>'4.5','20'=>'4','19'=>'3.5','18'=>'3','17'=>'2.5','16'=>'2','15'=>'1.5','14'=>'1','13'=>'0.5','12'=>'0'],'unit'=>'次','proportion'=>'1',],
|
||||
'斜身引体'=>['list'=>['40'=>'8','36'=>'7.5','32'=>'7','28'=>'6.5','24'=>'6','20'=>'5.5','16'=>'5','12'=>'4.5','10'=>'4','9'=>'3.5','8'=>'3','7'=>'2.5','6'=>'2','5'=>'1.5','4'=>'1','3'=>'0.5','2'=>'0'],'unit'=>'次','value'=>'0','proportion'=>'1',],
|
||||
'仰卧起坐'=>['list'=>['42'=>'8','40'=>'7.5','37'=>'7','34'=>'6.5','30'=>'6','26'=>'5.5','22'=>'5','21'=>'4.5','20'=>'4','19'=>'3.5','18'=>'3','17'=>'2.5','16'=>'2','15'=>'1.5','14'=>'1','13'=>'0.5','12'=>'0'],'unit'=>'次','value'=>'0','proportion'=>'1',],
|
||||
],
|
||||
],
|
||||
'xc_3'=>[
|
||||
'1'=>[
|
||||
'足球运球/射门'=>['list'=>['19.5'=>'8','20.0'=>'7.5','20.5'=>'7','21.0'=>'6.5','21.5'=>'6','22.0'=>'5.5','22.5'=>'5','23.0'=>'4.5','23.8'=>'4','24.6'=>'3.5','25.4'=>'3','26.2'=>'2.5','27.0'=>'2','27.8'=>'1.5','28.6'=>'1','29.4'=>'0.5','29.5'=>'0'],'unit'=>'秒','proportion'=>'1',],
|
||||
'足球运球/射门'=>['list'=>['19.5'=>'8','20.0'=>'7.5','20.5'=>'7','21.0'=>'6.5','21.5'=>'6','22.0'=>'5.5','22.5'=>'5','23.0'=>'4.5','23.8'=>'4','24.6'=>'3.5','25.4'=>'3','26.2'=>'2.5','27.0'=>'2','27.8'=>'1.5','28.6'=>'1','29.4'=>'0.5','29.5'=>'0'],'unit'=>'秒','value'=>'00.0','proportion'=>'1',],
|
||||
],
|
||||
'2'=>[
|
||||
'足球运球/射门'=>['list'=>['21.0'=>'8','21.5'=>'7.5','22.0'=>'7','22.5'=>'6.5','23.0'=>'6','23.5'=>'5.5','24.0'=>'5','24.5'=>'4.5','25.3'=>'4','26.1'=>'3.5','26.9'=>'3','27.7'=>'2.5','28.5'=>'2','29.3'=>'1.5','30.1'=>'1','30.9'=>'0.5','31.0'=>'0'],'unit'=>'秒','proportion'=>'1',],
|
||||
'足球运球/射门'=>['list'=>['21.0'=>'8','21.5'=>'7.5','22.0'=>'7','22.5'=>'6.5','23.0'=>'6','23.5'=>'5.5','24.0'=>'5','24.5'=>'4.5','25.3'=>'4','26.1'=>'3.5','26.9'=>'3','27.7'=>'2.5','28.5'=>'2','29.3'=>'1.5','30.1'=>'1','30.9'=>'0.5','31.0'=>'0'],'unit'=>'秒','value'=>'00.0','proportion'=>'1',],
|
||||
],
|
||||
],
|
||||
'xc_4'=>[
|
||||
'1'=>[
|
||||
'100米游泳'=>['list'=>['2:25'=>'6','2:35'=>'5.5','2:45'=>'5','2:55'=>'4.5','3:05'=>'4','3:15'=>'3.5','3:30'=>'3','3:40'=>'2.5','3:50'=>'2','4:00'=>'1.5','4:10'=>'1','4:20'=>'0.5','4:21'=>'0'],'unit'=>'分/秒','proportion'=>'1',],
|
||||
'100米游泳'=>['list'=>['2:25'=>'6','2:35'=>'5.5','2:45'=>'5','2:55'=>'4.5','3:05'=>'4','3:15'=>'3.5','3:30'=>'3','3:40'=>'2.5','3:50'=>'2','4:00'=>'1.5','4:10'=>'1','4:20'=>'0.5','4:21'=>'0'],'unit'=>'分/秒','value'=>'00:00','proportion'=>'1',],
|
||||
],
|
||||
'2'=>[
|
||||
'100米游泳'=>['list'=>['2:40'=>'6','2:48'=>'5.5','2:56'=>'5','3:04'=>'4.5','3:12'=>'4','3:20'=>'3.5','3:30'=>'3','3:40'=>'2.5','3:50'=>'2','4:00'=>'1.5','4:10'=>'1','4:20'=>'0.5','4:21'=>'0'],'unit'=>'分/秒','proportion'=>'1',],
|
||||
'100米游泳'=>['list'=>['2:40'=>'6','2:48'=>'5.5','2:56'=>'5','3:04'=>'4.5','3:12'=>'4','3:20'=>'3.5','3:30'=>'3','3:40'=>'2.5','3:50'=>'2','4:00'=>'1.5','4:10'=>'1','4:20'=>'0.5','4:21'=>'0'],'unit'=>'分/秒','value'=>'00:00','proportion'=>'1',],
|
||||
],
|
||||
],
|
||||
],
|
||||
'gc'=>[
|
||||
'gc_8'=>[
|
||||
'1'=>[
|
||||
'BMI'=>['list'=>['15.6'=>'80','22.5'=>'100','25.2'=>'80','100'=>'60'],'unit'=>'','proportion'=>'0.15',],
|
||||
'肺活量'=>['list'=>['3940'=>'100','3820'=>'95','3700'=>'90','3450'=>'85','3200'=>'80','3080'=>'78','2960'=>'76','2840'=>'74','2720'=>'72','2600'=>'70','2480'=>'68','2360'=>'66','2240'=>'64','2120'=>'62','2000'=>'60','1890'=>'50','1780'=>'40','1670'=>'30','1560'=>'20','1450'=>'10',],'unit'=>'ml','proportion'=>'0.15',],
|
||||
'BMI'=>['list'=>['15.6'=>'80','22.5'=>'100','25.2'=>'80','100'=>'60'],'unit'=>'','value'=>'0','proportion'=>'0.15',],
|
||||
'肺活量'=>['list'=>['3940'=>'100','3820'=>'95','3700'=>'90','3450'=>'85','3200'=>'80','3080'=>'78','2960'=>'76','2840'=>'74','2720'=>'72','2600'=>'70','2480'=>'68','2360'=>'66','2240'=>'64','2120'=>'62','2000'=>'60','1890'=>'50','1780'=>'40','1670'=>'30','1560'=>'20','1450'=>'10',],'unit'=>'ml','value'=>'0','proportion'=>'0.15',],
|
||||
'50米跑'=>[
|
||||
'list'=>[
|
||||
'7.5'=>'100',
|
||||
|
|
@ -103,6 +103,7 @@ class Sportstesting extends Base{
|
|||
'10.9'=>'10',
|
||||
],
|
||||
'unit'=>'秒',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.2',
|
||||
],
|
||||
'坐位体前屈'=>[
|
||||
|
|
@ -129,6 +130,7 @@ class Sportstesting extends Base{
|
|||
'-7.4'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
],
|
||||
'立定跳远'=>[
|
||||
|
|
@ -155,33 +157,81 @@ class Sportstesting extends Base{
|
|||
'145'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
],
|
||||
'引体向上'=>[
|
||||
'list'=>[
|
||||
'240'=>'100',
|
||||
'233'=>'95',
|
||||
'226'=>'90',
|
||||
'218'=>'85',
|
||||
'210'=>'80',
|
||||
'206'=>'78',
|
||||
'202'=>'76',
|
||||
'198'=>'74',
|
||||
'194'=>'72',
|
||||
'190'=>'70',
|
||||
'186'=>'68',
|
||||
'182'=>'66',
|
||||
'178'=>'64',
|
||||
'174'=>'62',
|
||||
'170'=>'60',
|
||||
'165'=>'50',
|
||||
'160'=>'40',
|
||||
'155'=>'30',
|
||||
'150'=>'20',
|
||||
'145'=>'10',
|
||||
'14'=>'100',
|
||||
'13'=>'95',
|
||||
'12'=>'90',
|
||||
'11'=>'85',
|
||||
'10'=>'80',
|
||||
'9'=>'76',
|
||||
'8'=>'72',
|
||||
'7'=>'68',
|
||||
'6'=>'64',
|
||||
'5'=>'60',
|
||||
'4'=>'50',
|
||||
'3'=>'40',
|
||||
'2'=>'30',
|
||||
'1'=>'20',
|
||||
'0'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
'add_point'=>[
|
||||
'10'=>'10',
|
||||
'9'=>'9',
|
||||
'8'=>'8',
|
||||
'7'=>'7',
|
||||
'6'=>'6',
|
||||
'5'=>'5',
|
||||
'4'=>'4',
|
||||
'3'=>'3',
|
||||
'2'=>'2',
|
||||
'1'=>'1',
|
||||
]
|
||||
],
|
||||
'男生1000米'=>[
|
||||
'list'=>[
|
||||
'3:50'=>'100',
|
||||
'3:55'=>'95',
|
||||
'4:00'=>'90',
|
||||
'4:07'=>'85',
|
||||
'4:15'=>'80',
|
||||
'4:20'=>'78',
|
||||
'4:25'=>'76',
|
||||
'4:30'=>'74',
|
||||
'4:35'=>'72',
|
||||
'4:40'=>'70',
|
||||
'4:45'=>'68',
|
||||
'4:50'=>'66',
|
||||
'4:55'=>'64',
|
||||
'5:00'=>'62',
|
||||
'5:05'=>'60',
|
||||
'5:25'=>'50',
|
||||
'5:45'=>'40',
|
||||
'6:05'=>'30',
|
||||
'6:25'=>'20',
|
||||
'6:45'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'00:00',
|
||||
'proportion'=>'0.2',
|
||||
'add_point'=>[
|
||||
'-35'=>'10',
|
||||
'-32'=>'9',
|
||||
'-29'=>'8',
|
||||
'-26'=>'7',
|
||||
'-23'=>'6',
|
||||
'-20'=>'5',
|
||||
'-16'=>'4',
|
||||
'-12'=>'3',
|
||||
'-8'=>'2',
|
||||
'-4'=>'1',
|
||||
]
|
||||
],
|
||||
],
|
||||
'2'=>[
|
||||
|
|
@ -193,6 +243,7 @@ class Sportstesting extends Base{
|
|||
'100'=>'60'
|
||||
],
|
||||
'unit'=>'',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.15',
|
||||
],
|
||||
'肺活量'=>[
|
||||
|
|
@ -219,6 +270,7 @@ class Sportstesting extends Base{
|
|||
'1300'=>'10',
|
||||
],
|
||||
'unit'=>'ml',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.15',
|
||||
],
|
||||
'50米跑'=>[
|
||||
|
|
@ -245,6 +297,7 @@ class Sportstesting extends Base{
|
|||
'11.8'=>'10',
|
||||
],
|
||||
'unit'=>'秒',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.2',
|
||||
],
|
||||
'坐位体前屈'=>[
|
||||
|
|
@ -271,6 +324,7 @@ class Sportstesting extends Base{
|
|||
'-1.1'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
],
|
||||
'立定跳远'=>[
|
||||
|
|
@ -297,8 +351,87 @@ class Sportstesting extends Base{
|
|||
'145'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
],
|
||||
'一分钟仰卧起坐'=>[
|
||||
'list'=>[
|
||||
'51'=>'100',
|
||||
'49'=>'95',
|
||||
'47'=>'90',
|
||||
'44'=>'85',
|
||||
'41'=>'80',
|
||||
'39'=>'78',
|
||||
'37'=>'76',
|
||||
'35'=>'74',
|
||||
'33'=>'72',
|
||||
'31'=>'70',
|
||||
'29'=>'68',
|
||||
'27'=>'66',
|
||||
'25'=>'64',
|
||||
'23'=>'62',
|
||||
'21'=>'60',
|
||||
'19'=>'50',
|
||||
'17'=>'40',
|
||||
'15'=>'30',
|
||||
'13'=>'20',
|
||||
'11'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'0',
|
||||
'proportion'=>'0.1',
|
||||
'add_point'=>[
|
||||
'13'=>'10',
|
||||
'12'=>'9',
|
||||
'11'=>'8',
|
||||
'10'=>'7',
|
||||
'9'=>'6',
|
||||
'8'=>'5',
|
||||
'7'=>'4',
|
||||
'6'=>'3',
|
||||
'4'=>'2',
|
||||
'2'=>'1',
|
||||
]
|
||||
],
|
||||
'女生800米'=>[
|
||||
'list'=>[
|
||||
'3:30'=>'100',
|
||||
'3:37'=>'95',
|
||||
'3:44'=>'90',
|
||||
'3:52'=>'85',
|
||||
'4:00'=>'80',
|
||||
'4:05'=>'78',
|
||||
'4:10'=>'76',
|
||||
'4:15'=>'74',
|
||||
'4:20'=>'72',
|
||||
'4:25'=>'70',
|
||||
'4:30'=>'68',
|
||||
'4:35'=>'66',
|
||||
'4:40'=>'64',
|
||||
'4:45'=>'62',
|
||||
'4:50'=>'60',
|
||||
'5:00'=>'50',
|
||||
'5:10'=>'40',
|
||||
'5:20'=>'30',
|
||||
'5:30'=>'20',
|
||||
'5:40'=>'10',
|
||||
],
|
||||
'unit'=>'cm',
|
||||
'value'=>'00:00',
|
||||
'proportion'=>'0.2',
|
||||
'add_point'=>[
|
||||
'-50'=>'10',
|
||||
'-45'=>'9',
|
||||
'-40'=>'8',
|
||||
'-35'=>'7',
|
||||
'-30'=>'6',
|
||||
'-25'=>'5',
|
||||
'-20'=>'4',
|
||||
'-15'=>'3',
|
||||
'-10'=>'2',
|
||||
'-5'=>'1',
|
||||
]
|
||||
],
|
||||
],
|
||||
]
|
||||
]
|
||||
|
|
@ -312,12 +445,42 @@ class Sportstesting extends Base{
|
|||
################################################################接口################################################################
|
||||
################################################################接口################################################################
|
||||
################################################################接口################################################################
|
||||
// 获取单个类型列表
|
||||
public function sportstesting_get_type_list($data = ['aud_id'=>'25','parameter_data'=>'北京-xc-2','gender'=>'1','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('parameter_data', $data) || !array_key_exists('token', $data)){
|
||||
return $this->msg(10001);
|
||||
}
|
||||
// cache($data['token'], time());
|
||||
if($this->token_time_validate($data['token']) === false){
|
||||
return $this->msg(20001);
|
||||
}
|
||||
unset($data['token']);
|
||||
return $this->sportstesting_get_type_list_action($data);
|
||||
}
|
||||
// 获取地区类型列表
|
||||
public function sportstesting_get_region_list($data = ['aud_id'=>'25','parameter_data'=>'北京','gender'=>'1','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('parameter_data', $data) || !array_key_exists('token', $data)){
|
||||
return $this->msg(10001);
|
||||
}
|
||||
// cache($data['token'], time());
|
||||
if($this->token_time_validate($data['token']) === false){
|
||||
return $this->msg(20001);
|
||||
}
|
||||
unset($data['token']);
|
||||
return $this->sportstesting_get_region_list_action($data);
|
||||
}
|
||||
// 获取体测最后一次数据
|
||||
public function sportstesting_get_last_data($data = ['aud_id'=>'25','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('card_order', $data) || !array_key_exists('token', $data)){
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){
|
||||
return $this->msg(10001);
|
||||
}
|
||||
if($this->token_time_validate($data['token']) === false){
|
||||
|
|
@ -327,25 +490,296 @@ class Sportstesting extends Base{
|
|||
return $this->sportstesting_get_last_data_action($data);
|
||||
}
|
||||
|
||||
// 获取体测最后一次数据
|
||||
public function sportstesting_set_once_data($data = ['aud_id'=>'25','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
// 计算并存储数据
|
||||
public function sportstesting_set_once_data($data = ['aud_id'=>'25','parameter_data'=>'北京市,province','result_data'=>'','gender'=>'1','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||
if(count(input('post.')) > 0){
|
||||
$data = input('post.');
|
||||
}
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('card_order', $data) || !array_key_exists('token', $data)){
|
||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('parameter_data', $data) || !array_key_exists('result_data', $data) || !array_key_exists('gender', $data) || !array_key_exists('token', $data)){
|
||||
return $this->msg(10001);
|
||||
}
|
||||
if($this->token_time_validate($data['token']) === false){
|
||||
return $this->msg(20001);
|
||||
}
|
||||
unset($data['token']);
|
||||
return $this->sportstesting_get_last_data_action($data);
|
||||
return $this->sportstesting_set_once_data_action($data);
|
||||
}
|
||||
|
||||
################################################################业务################################################################
|
||||
################################################sportstesting_get_type_list
|
||||
public function sportstesting_get_type_list_action($data){
|
||||
$parameter_data = explode('-',$data['parameter_data']);
|
||||
if(count($parameter_data) < 3){
|
||||
return $this->msg(10005);
|
||||
}
|
||||
if(!array_key_exists($parameter_data[0], $this->city_data_rule2)){
|
||||
return $this->msg(10005);
|
||||
}
|
||||
if(!array_key_exists($parameter_data[1], $this->city_data_rule2[$parameter_data[0]])){
|
||||
return $this->msg(10005);
|
||||
}
|
||||
if(!array_key_exists($parameter_data[1].'_'.$parameter_data[2], $this->city_data_rule2[$parameter_data[0]][$parameter_data[1]])){
|
||||
return $this->msg(10005);
|
||||
}
|
||||
$data['gender'] = $data['gender'] == 2?$data['gender']:1;
|
||||
$result['list'] = [];
|
||||
foreach ($this->city_data_rule2[$parameter_data[0]][$parameter_data[1]][$parameter_data[1].'_'.$parameter_data[2]][$data['gender']] as $key => $value) {
|
||||
// dump($key);
|
||||
array_push($result['list'],['name'=>$key,'unit'=>$value['unit'],'value'=>'0']);
|
||||
}
|
||||
return $this->msg($result);
|
||||
}
|
||||
################################################sportstesting_get_region_list
|
||||
public function sportstesting_get_region_list_action($data){
|
||||
if(!array_key_exists($data['parameter_data'], $this->city_data_rule2)){
|
||||
return $this->msg(10005);
|
||||
}
|
||||
$result = [];
|
||||
foreach ($this->city_data_rule2[$data['parameter_data']] as $key => $value) {
|
||||
// 现场/过程
|
||||
$result[$key] = [];
|
||||
foreach ($value as $k1 => $v1) {
|
||||
// 现场1234/过程1234
|
||||
// $result[$key][$k1] = [];
|
||||
$result[$key][$k1]['list'] = [];
|
||||
foreach ($v1[$data['gender']] as $k2 => $v2) {
|
||||
// dump($k2);
|
||||
array_push($result[$key][$k1]['list'],['name'=>$k2,'unit'=>$v2['unit'],'value'=>$v2['value']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// dump($result);
|
||||
return $this->msg($result);
|
||||
}
|
||||
################################################sportstesting_set_once_data
|
||||
public function sportstesting_set_once_data_action($data){
|
||||
$region = explode(',',$data['parameter_data']);
|
||||
$region_rule = Db::table('app_region_scores_rule')->where($region[1]."='".$region[0]."'")->find();
|
||||
$rule = json_decode($region_rule['content'],true);
|
||||
$result = [];
|
||||
|
||||
public function sportstesting_get_last_data_action($data){
|
||||
if($region[0] == '北京市'){
|
||||
$data_data = [
|
||||
'xc'=>[
|
||||
'xc_1'=>['name'=>'1000米','value'=>'4:40'],
|
||||
'xc_2'=>['name'=>'引体向上','value'=>'8'],
|
||||
'xc_3'=>['name'=>'足球运球/射门','value'=>'21.6'],
|
||||
'xc_4'=>['name'=>'100米游泳','value'=>'3:16'],
|
||||
],
|
||||
'gc'=>[
|
||||
'gc_8'=>[
|
||||
['name'=>'BMI','value'=>'22.5'],
|
||||
['name'=>'肺活量','value'=>'3000'],
|
||||
['name'=>'50米跑','value'=>'8.2'],
|
||||
['name'=>'坐位体前屈','value'=>'10.4'],
|
||||
['name'=>'立定跳远','value'=>'200'],
|
||||
['name'=>'引体向上','value'=>'10'],
|
||||
['name'=>'男生1000米','value'=>'4:05'],
|
||||
]
|
||||
]
|
||||
];
|
||||
$data['result_data'] = $data_data;
|
||||
foreach ($data['result_data']['xc'] as $k1 => $v1) {
|
||||
$temporary_rule = $rule['xc'][$k1][$data['gender']][$v1['name']];
|
||||
$data['result_data']['xc'][$k1]['rule'] = $temporary_rule;
|
||||
$result['xc'][$k1][0]['name'] = $v1['name'];
|
||||
$result['xc'][$k1][0]['proportion'] = $temporary_rule['proportion'];
|
||||
}
|
||||
foreach ($data['result_data']['gc']['gc_8'] as $k1 => $v1) {
|
||||
$temporary_rule = $rule['gc']['gc_8'][$data['gender']][$v1['name']];
|
||||
$data['result_data']['gc']['gc_8'][$k1]['rule'] = $temporary_rule;
|
||||
$result['gc']['gc_8'][$k1]['name'] = $v1['name'];
|
||||
}
|
||||
|
||||
// dump($result);
|
||||
// xc_1
|
||||
foreach ($data['result_data']['xc']['xc_1']['rule']['list'] as $key => $value) {
|
||||
if($this->calculate_minutes_seconds($key,$data['result_data']['xc']['xc_1']['value'])[0]){
|
||||
$result['xc']['xc_1'][0]['value'] = $value;
|
||||
$result['xc']['xc_1'][0]['proportion_value'] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// dump($result);
|
||||
// die;
|
||||
// xc_2
|
||||
foreach ($data['result_data']['xc']['xc_2']['rule']['list'] as $key => $value) {
|
||||
if(in_array($data['result_data']['xc']['xc_2']['name'],['引体向上','双杠臂屈伸','斜身引体','仰卧起坐'])){
|
||||
if($data['result_data']['xc']['xc_2']['value'] >= $key){
|
||||
$result['xc']['xc_2'][0]['value'] = $value;
|
||||
$result['xc']['xc_2'][0]['proportion_value'] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// xc_3
|
||||
foreach ($data['result_data']['xc']['xc_3']['rule']['list'] as $key => $value) {
|
||||
if(in_array($data['result_data']['xc']['xc_3']['name'],['足球运球/射门'])){
|
||||
if($data['result_data']['xc']['xc_3']['value'] <= $key){
|
||||
$result['xc']['xc_3'][0]['value'] = $value;
|
||||
$result['xc']['xc_3'][0]['proportion_value'] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// xc_4
|
||||
foreach ($data['result_data']['xc']['xc_4']['rule']['list'] as $key => $value) {
|
||||
if(in_array($data['result_data']['xc']['xc_4']['name'],['100米游泳'])){
|
||||
if($this->calculate_minutes_seconds($key,$data['result_data']['xc']['xc_4']['value'])[0]){
|
||||
$result['xc']['xc_4'][0]['value'] = $value;
|
||||
$result['xc']['xc_4'][0]['proportion_value'] = $value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// gc_8
|
||||
foreach ($data['result_data']['gc']['gc_8'] as $key => $value) {
|
||||
$result['gc']['gc_8'][$key]['name'] = $value['name'];
|
||||
$result['gc']['gc_8'][$key]['proportion'] = $value['rule']['proportion'];
|
||||
foreach ($value['rule']['list'] as $k1 => $v1) {
|
||||
if($value['name'] == 'BMI'){
|
||||
if($value['value'] <= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '肺活量'){
|
||||
if($value['value'] >= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '50米跑'){
|
||||
if($value['value'] <= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '坐位体前屈'){
|
||||
if($value['value'] >= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '立定跳远'){
|
||||
if($value['value'] >= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '引体向上'){
|
||||
if($value['value'] >= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
$add_point = $value['value'] - 14;
|
||||
if(($add_point>=1) && ($add_point<=10)){
|
||||
$result['gc']['gc_8'][$key]['value'] = $add_point + $result['gc']['gc_8'][$key]['value'];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}else if($value['name'] == '一分钟仰卧起坐'){
|
||||
if($value['value'] >= $k1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
$add_point = $value['value'] - 51;
|
||||
if(($add_point>=2) && ($add_point<=13)){
|
||||
foreach ($value['rule']['add_point'] as $kk1 => $vv1) {
|
||||
if($add_point >= $kk1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $vv1 + $result['gc']['gc_8'][$key]['value'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}else if($value['name'] == '男生1000米' || $value['name'] == '女生800米'){
|
||||
$temporary_js = $this->calculate_minutes_seconds($k1,$value['value']);
|
||||
if($temporary_js[0]){
|
||||
$result['gc']['gc_8'][$key]['value'] = $v1;
|
||||
if($result['gc']['gc_8'][$key]['value'] == 100 && $temporary_js[1] < -4){
|
||||
foreach ($value['rule']['add_point'] as $kk1 => $vv1) {
|
||||
if($temporary_js[1] <= $kk1){
|
||||
$result['gc']['gc_8'][$key]['value'] = $vv1 + $result['gc']['gc_8'][$key]['value'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 乘 bcmul(,,20)
|
||||
// 除 bcdiv(,,20)
|
||||
foreach ($result['gc']['gc_8'] as $key => $value) {
|
||||
$result['gc']['gc_8'][$key]['proportion_value'] = bcmul(bcdiv($result['gc']['gc_8'][$key]['value'],10,20),$result['gc']['gc_8'][$key]['proportion'],1);
|
||||
}
|
||||
$num = 0;
|
||||
foreach ($result as $key => $value) {
|
||||
foreach ($value as $k1 => $v1) {
|
||||
foreach ($v1 as $k2 => $v2) {
|
||||
$num = bcadd($num,$v2['proportion_value'],1);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result['total_score'] = $num;
|
||||
}
|
||||
$user_card_list = Db::table('app_region_scores_data')->insert([
|
||||
'region'=>$data['parameter_data'],
|
||||
'aud_id'=>$data['aud_id'],
|
||||
'content'=>json_encode($result),
|
||||
'score'=>$result['total_score'],
|
||||
'create_time'=>date('Y-m-d H:i:s'),
|
||||
]);
|
||||
if($user_card_list){
|
||||
return $this->msg($result);
|
||||
}else{
|
||||
return $this->msg(10002);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
################################################################其他################################################################
|
||||
|
||||
public function calculate_minutes_seconds($a,$b){
|
||||
// 分解时间字符串
|
||||
list($minutesA, $secondsA) = explode(':', $a);
|
||||
list($minutesB, $secondsB) = explode(':', $b);
|
||||
|
||||
// 转换为秒
|
||||
$totalSecondsA = intval($minutesA) * 60 + intval($secondsA);
|
||||
$totalSecondsB = intval($minutesB) * 60 + intval($secondsB);
|
||||
|
||||
$result = $totalSecondsB - $totalSecondsA;
|
||||
if($result <= 0){
|
||||
return [true,$result];
|
||||
}else{
|
||||
return [false,$result];
|
||||
}
|
||||
// 比较两个时间(秒)
|
||||
// return $totalSecondsB <= $totalSecondsA;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function set_rule_action(){
|
||||
|
||||
$user_card_list = Db::table('app_region_scores_rule')->insert([
|
||||
'province'=>'北京市',
|
||||
'city'=>'',
|
||||
'area'=>'',
|
||||
'content'=>json_encode($this->city_data_rule2['北京']),
|
||||
'create_time'=>date('Y-m-d H:i:s'),
|
||||
'update_time'=>date('Y-m-d H:i:s'),
|
||||
]);
|
||||
// $user_card_list = Db::table('app_region_scores_rule')->insert([
|
||||
// 'province'=>'北京市',
|
||||
// 'city'=>'',
|
||||
// 'area'=>'',
|
||||
// 'content'=>json_encode($this->city_data_rule2),
|
||||
// 'create_time'=>date('Y-m-d H:i:s'),
|
||||
// 'update_time'=>date('Y-m-d H:i:s'),
|
||||
// ]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -77,8 +77,6 @@ Route::any('/get_card_all_list', 'app/index/get_card_all_list');
|
|||
Route::any('/save_user_card_order', 'app/index/save_user_card_order');
|
||||
// 获取年级列表
|
||||
Route::any('/get_grade_list', 'app/index/get_grade_list');
|
||||
|
||||
|
||||
// ################################身体数据卡片接口################################
|
||||
// 报告页详情
|
||||
Route::any('/card_data_detailed', 'app/card/card_data_detailed');
|
||||
|
|
@ -106,7 +104,18 @@ Route::any('/vitalcapacity_save_record_data', 'app/vitalcapacity/vitalcapacity_s
|
|||
Route::any('/vitalcapacity_data_report', 'app/vitalcapacity/vitalcapacity_data_report');
|
||||
// 曲线
|
||||
Route::any('/vitalcapacity_curve_chart', 'app/vitalcapacity/vitalcapacity_curve_chart');
|
||||
// ################################估分接口################################
|
||||
// 获取类型列表
|
||||
Route::any('/sportstesting_get_type_list', 'app/sportstesting/sportstesting_get_type_list');
|
||||
// 获取类型列表
|
||||
Route::any('/sportstesting_get_region_list', 'app/sportstesting/sportstesting_get_region_list');
|
||||
// 计算并存储数据
|
||||
Route::any('/sportstesting_set_once_data', 'app/sportstesting/sportstesting_set_once_data');
|
||||
|
||||
// // 报告数据(上次数据)
|
||||
// Route::any('/vitalcapacity_data_report', 'app/sportstesting/vitalcapacity_data_report');
|
||||
// // 曲线
|
||||
// Route::any('/vitalcapacity_curve_chart', 'app/sportstesting/vitalcapacity_curve_chart');
|
||||
// Route::any('/skip_device_check', 'app/skip/skip_device_check');
|
||||
// Route::any('/skip_device_check', 'app/skip/skip_device_check');
|
||||
// Route::any('/skip_device_check', 'app/skip/skip_device_check');
|
||||
|
|
|
|||
Loading…
Reference in New Issue