SchoolPhysicalExamination/application/app/controller/Cardparts.php

267 lines
13 KiB
PHP
Raw Normal View History

2024-05-22 18:36:27 +08:00
<?php
namespace app\app\controller;
use think\Controller;
use think\Db;
use app\bj\controller\Common;
use think\Log;
use \think\Validate;
use app\app\controller\Calculatebody;
use app\app\controller\Skip;
class Cardparts extends Base{
2024-05-23 18:49:55 +08:00
protected $color = ['#FF5656','#FF5656','#5AD06D','#6492F6','#3967D6'];
2024-05-24 10:10:28 +08:00
protected $parameter_aggregate_top = [
'weight'=>'反映和衡量一个人健康状况的重要标志之一',
'height'=>'人体纵向部分的长度,源于人体的纵向生长,受遗传因素的影响较大',
'bmi'=>'BMI是身体质量指数,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。'
];
protected $parameter_aggregate_bottom = [
'fat_r'=>'体脂率是指身体成分中,脂肪组织所占的比率。测量体脂率比单纯的只测量体重更能反映我们身体的脂肪水平(肥胖程度)。',
'fat_w'=>'人体脂肪的重量',
'muscle'=>'根据人体肌肉总量和人体体重、身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。',
'muscleval'=>'肌肉量=实际体重*肌肉率',
'water'=>'指人体内水分比例。',
'proteinval'=>'蛋白量=实际体重*蛋白率',
'bone'=>'单位体积内,骨组织、骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白率、无机盐等等)含量,骨量代表它们骨骼健康的情况。',
'protein'=>'人体内蛋白率含量。',
'kcal'=>'指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率',
'visceral'=>'内脏脂肪指数',
'sfr'=>'皮下脂脂肪就是贮存于皮下的脂肪组织人体的脂肪大约有2/3贮存在皮下组织',
'body_level'=>'肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。'
];
protected $parameter_aggregate_bottom_out = ['body_level'];
protected $parameter_aggregate_bottom_condition = ['body_level'];
2024-05-23 18:49:55 +08:00
// 脂肪率&脂肪量
protected $fat_r_w = [
'man'=>[
2024-05-24 10:10:28 +08:00
'29'=>[
2024-05-23 18:49:55 +08:00
['min_val'=>'0','max_val'=>'10','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'10','max_val'=>'21','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'21','max_val'=>'26','text'=>'偏高','color'=>'#5ad06d'],
['min_val'=>'26','max_val'=>'50','text'=>'高','color'=>'#6492f6'],
],
2024-05-24 10:10:28 +08:00
'30'=>[
2024-05-23 18:49:55 +08:00
['min_val'=>'0','max_val'=>'11','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'11','max_val'=>'22','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'22','max_val'=>'27','text'=>'偏高','color'=>'#5ad06d'],
['min_val'=>'27','max_val'=>'50','text'=>'高','color'=>'#6492f6'],
],
],
'woman'=>[
2024-05-24 10:10:28 +08:00
'29'=>[
2024-05-23 18:49:55 +08:00
['min_val'=>'0','max_val'=>'20','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'20','max_val'=>'31','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'31','max_val'=>'38','text'=>'偏高','color'=>'#5ad06d'],
['min_val'=>'38','max_val'=>'80','text'=>'高','color'=>'#6492f6'],
],
2024-05-24 10:10:28 +08:00
'30'=>[
2024-05-23 18:49:55 +08:00
['min_val'=>'0','max_val'=>'21','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'21','max_val'=>'32','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'32','max_val'=>'39','text'=>'偏高','color'=>'#5ad06d'],
['min_val'=>'39','max_val'=>'80','text'=>'高','color'=>'#6492f6'],
]
]
];
// 肌肉率&肌肉量
protected $muscle_muscleval = [
'man'=>[
['min_val'=>'0','max_val'=>'40','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'40','max_val'=>'60','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'60','max_val'=>'100','text'=>'优','color'=>'#5ad06d'],
],
'woman'=>[
['min_val'=>'0','max_val'=>'30','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'30','max_val'=>'50','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'50','max_val'=>'100','text'=>'优','color'=>'#5ad06d'],
]
];
// 水分
protected $water = [
'man'=>[
['min_val'=>'0','max_val'=>'55','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'55','max_val'=>'65','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'65','max_val'=>'100','text'=>'优','color'=>'#5ad06d'],
],
'woman'=>[
['min_val'=>'0','max_val'=>'45','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'45','max_val'=>'60','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'60','max_val'=>'100','text'=>'优','color'=>'#5ad06d'],
]
];
// 蛋白量&蛋白率
protected $proteinval_protein = [
'man'=>[
['min_val'=>'0','max_val'=>'16','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'16','max_val'=>'18','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'18','max_val'=>'50','text'=>'优','color'=>'#5ad06d'],
],
'woman'=>[
['min_val'=>'0','max_val'=>'14','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'14','max_val'=>'16','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'16','max_val'=>'50','text'=>'优','color'=>'#5ad06d'],
]
];
// 骨重
protected $bone = [
'man'=>[
'60'=>[
['min_val'=>'0','max_val'=>'2.4','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'2.4','max_val'=>'2.6','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'2.6','max_val'=>'6','text'=>'优','color'=>'#5ad06d'],
],
'60_75'=>[
['min_val'=>'0','max_val'=>'2.8','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'2.8','max_val'=>'3','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'3','max_val'=>'6','text'=>'优','color'=>'#5ad06d'],
],
'75'=>[
['min_val'=>'0','max_val'=>'3.1','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'3.1','max_val'=>'3.3','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'3.3','max_val'=>'7','text'=>'优','color'=>'#5ad06d'],
],
],
'woman'=>[
'45'=>[
['min_val'=>'0','max_val'=>'1.7','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'1.7','max_val'=>'1.9','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'1.9','max_val'=>'5','text'=>'优','color'=>'#5ad06d'],
],
'45_60'=>[
['min_val'=>'0','max_val'=>'2.1','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'2.1','max_val'=>'2.3','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'2.3','max_val'=>'5','text'=>'优','color'=>'#5ad06d'],
],
'60'=>[
['min_val'=>'0','max_val'=>'2.4','text'=>'不足','color'=>'#ff5656'],
['min_val'=>'2.4','max_val'=>'2.6','text'=>'标准','color'=>'#ffab00'],
['min_val'=>'2.6','max_val'=>'5','text'=>'优','color'=>'#5ad06d'],
],
]
];
// 基础代谢
protected $kcal = [
'man'=>[
'3'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'3_10'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'10_18'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'18_30'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'30'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
],
'woman'=>[
'3'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'3_10'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'10_18'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'18_30'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
'30'=>[
['min_val'=>'0','max_val'=>'','text'=>'偏低','color'=>'#ff5656'],
['min_val'=>'','max_val'=>'9999','text'=>'优','color'=>'#5ad06d'],
],
]
];
// 内脏指数
protected $visceral = [
'man'=>[
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#ff5656'],
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#ffab00'],
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
],
'woman'=>[
['min_val'=>'0','max_val'=>'9','text'=>'标准','color'=>'#ff5656'],
['min_val'=>'9','max_val'=>'14','text'=>'警惕','color'=>'#ffab00'],
['min_val'=>'14','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
]
];
// 皮下脂肪
protected $sfr = [
'man'=>[
['min_val'=>'0','max_val'=>'7','text'=>'标准','color'=>'#ff5656'],
['min_val'=>'7','max_val'=>'15','text'=>'警惕','color'=>'#ffab00'],
['min_val'=>'15','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
],
'woman'=>[
['min_val'=>'0','max_val'=>'11','text'=>'标准','color'=>'#ff5656'],
['min_val'=>'11','max_val'=>'17','text'=>'警惕','color'=>'#ffab00'],
['min_val'=>'17','max_val'=>'50','text'=>'危险','color'=>'#5ad06d'],
]
];
2024-05-24 10:10:28 +08:00
// BMR标准值(男) BMR标准值(女)
// 60.9*体重(kg)-54 61.0*体重(kg)-51
// 22.7*体重(kg)+495 22.5*体重(kg)+499
// 17.5*体重(kg)+651 12.2*体重(kg)+746
// 15.3*体重(kg)+679 14.7*体重(kg)+496
// 11.6*体重(kg)+879 8.7*体重(kg)+820
2024-05-22 18:36:27 +08:00
// 计算部分内容的横线标准以及说明文字
2024-05-23 18:49:55 +08:00
public function conversion_interval($data){
2024-05-24 10:10:28 +08:00
// dump($data);
// $data['gender'] = $data['gender']==2?'woman':'man';
$gender = $data['gender']==2?'woman':'man';
$age = $data['age']['value'];
$temporary_arr = [
'top_list'=>[],
'bottom_list'=>[],
];
// dump($data);
// dump($temporary_arr);
// 处理格式
foreach ($this->parameter_aggregate_top as $key => $value) {
$data[$key]['key_name'] = $key;
$data[$key]['desc'] = $value;
array_push($temporary_arr['top_list'],$data[$key]);
}
foreach ($this->parameter_aggregate_bottom as $key => $value) {
$data[$key]['key_name'] = $key;
$data[$key]['desc'] = $value;
array_push($temporary_arr['bottom_list'],$data[$key]);
}
foreach ($temporary_arr['bottom_list'] as $key => $value) {
// 脂肪率&脂肪量
if($value['key_name'] == 'fat_r' || $value['key_name'] == 'fat_w'){
if($age < 30){
$temporary_arr['bottom_list'][$key]['list'] = $this->fat_r_w[$gender]['29'];
}else{
$temporary_arr['bottom_list'][$key]['list'] = $this->fat_r_w[$gender]['30'];
}
$num = count($temporary_arr['bottom_list'][$key]['list'])-1;
$temporary_arr['bottom_list'][$key]['offset'] = bcdiv($temporary_arr['bottom_list'][$key]['value'],$temporary_arr['bottom_list'][$key]['list'][$num]['max_val'],4)*100;
}
}
dump($data['gender']);
dump($data['age']['value']);
// dump($temporary_arr['top_list']);
dump($temporary_arr['bottom_list']);
die;
2024-05-22 18:36:27 +08:00
}
}