260312部分测试提交

This commit is contained in:
2026-03-12 07:40:45 +08:00
parent 2b5d5e3fcf
commit 702176a430
3 changed files with 531 additions and 267 deletions

View File

@ -164,7 +164,7 @@ class Role extends Base{
}
}
// 修改密码
// 修改账号信息
public function set_my_account_msg(){
$data = input('post.');
try {
@ -362,7 +362,7 @@ class Role extends Base{
// 获取指定用户详细信息
public function get_user_data_information(){
$data = input('post.');
// try {
try {
if(!array_key_exists('token', $data)){
return $this->msg(10001);
@ -377,22 +377,51 @@ class Role extends Base{
return $this->msg(10005);
}
return $this->get_user_data_information_action($data);
// } catch (\Exception $e) {
// // 捕获异常
// $logContent["flie"] = $e->getFile();
// $logContent["line"] = $e->getLine();
// $logContent['all_content'] = "异常信息:\n";
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
// $this->record_api_log($data, $logContent, null);
// return $this->msg(99999);
// }
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
// 删除角色
public function del_member(){
$data = input('post.');
try {
if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if(!$this->verify_data_is_ok($data['token'],'str')){
return $this->msg(10005);
}
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
return $this->msg(10005);
}
return $this->del_member_action($data);
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
################################################################action################################################################
################################################################action################################################################
@ -802,6 +831,20 @@ class Role extends Base{
}
return $this->msg($user_all_data);
}
public function del_member_action($data){
// $zh_data = Db::table($this->role_db_name['zhanghao'])->where(['token'=>$data['token'],'is_del'=>0])->field('id,token')->find();
$result = Db::table($this->role_db_name['juese'])->where(['id'=>$data['aud_id']])->update([
'is_del'=>1
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}

View File

@ -708,7 +708,7 @@ class Userbody extends Base{
// 获取角色报告(深度)
public function body_report_depth(){
$data = input('post.');
// try {
try {
if(!array_key_exists('token', $data) || !array_key_exists('aud_id', $data)){
return $this->msg(10001);
}
@ -719,20 +719,20 @@ class Userbody extends Base{
return $this->msg(10005,'aud_id type error');
}
return $this->body_report_depth_action($data);
// } catch (\Exception $e) {
// // 捕获异常
// $logContent["flie"] = $e->getFile();
// $logContent["line"] = $e->getLine();
// $logContent['all_content'] = "异常信息:\n";
// $logContent['all_content'] .= "函数: body_report_detailed" . "\n";
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
// $this->record_api_log($data, $logContent, null);
// return $this->msg(99999);
// }
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "函数: body_report_detailed" . "\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
// 修改目标体重
public function set_target_weight(){
@ -768,7 +768,127 @@ class Userbody extends Base{
return $this->msg(99999);
}
}
// 修改初始体重
public function set_initial_weight(){
$data = input('post.');
try {
if(!array_key_exists('aud_id', $data) || !array_key_exists('weight', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
return $this->msg(10005,'aud_id type error');
}
if(!$this->verify_data_is_ok($data['weight'],'num')){
return $this->msg(10005,'weight type error');
}
if(!$this->verify_data_is_ok($data['token'],'str')){
return $this->msg(10005,'token type error');
}
$data['time'] = date('Y-m-d H:i:s');
return $this->set_initial_weight_action($data);
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "函数: set_initial_weight" . "\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
// 获取历史列表(分页)
public function history_list_page(){
try {
$data = input('post.');
if(!array_key_exists('token', $data) || !array_key_exists('aud_id', $data) || !array_key_exists('page', $data)){
return $this->msg(10001);
}
if(!$this->verify_data_is_ok($data['token'],'str')){
return $this->msg(10005,'token type error');
}
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
return $this->msg(10005,'aud_id type error');
}
if(!$this->verify_data_is_ok($data['page'],'intnum')){
return $this->msg(10005,'page type error');
}
return $this->history_list_page_action($data,'page');
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
// 历史记录(详细)
public function history_detailed(){
try {
$data = input('post.');
if(!array_key_exists('token', $data) || !array_key_exists('id', $data)){
return $this->msg(10001);
}
if(!$this->verify_data_is_ok($data['token'],'str')){
return $this->msg(10005,'token type error');
}
if(!$this->verify_data_is_ok($data['id'],'intnum')){
return $this->msg(10005,'id type error');
}
return $this->history_detailed_action($data);
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
// 历史记录删除
public function history_del(){
try {
$data = input('post.');
if(!array_key_exists('token', $data) || !array_key_exists('id', $data)){
return $this->msg(10001);
}
if(!$this->verify_data_is_ok($data['token'],'str')){
return $this->msg(10005,'token type error');
}
if(!$this->verify_data_is_ok($data['id'],'intnum')){
return $this->msg(10005,'id type error');
}
return $this->history_del_action($data);
} catch (\Exception $e) {
// 捕获异常
$logContent["flie"] = $e->getFile();
$logContent["line"] = $e->getLine();
$logContent['all_content'] = "异常信息:\n";
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
$this->record_api_log($data, $logContent, null);
return $this->msg(99999);
}
}
################################################################action################################################################
@ -1839,13 +1959,6 @@ class Userbody extends Base{
return $this->msg($result_return);
}
public function set_target_weight_action($data){
$user_data = Db::table($this->body_db_name['juese'])->where(['id'=>$data['aud_id']])->update(['target_weight'=>$data['weight']]);
@ -1855,139 +1968,248 @@ class Userbody extends Base{
return $this->msg(10002);
}
}
################################################################工具################################################################
################################################################工具################################################################
// 处理身高体重BMI的标准
public function process_hwb_standard_action($birthday,$key_name,$age,$gender_val){
$month_num = $this->calculateAgeInMonthsWithPrecision($birthday);
if($age < $this->age_limit){
$result_data = $this->merged_data[$key_name]['standard_list'];
if($key_name == 'bmi'){
$bhw_date = Db::table($this->body_db_name['bmi'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
if($bhw_date){
$result_data[0]['max_val'] = $bhw_date[0]['f1sd'];
$result_data[0]['max_val'] = $bhw_date[0]['f1sd'];
$result_data[1]['min_val'] = $bhw_date[0]['f1sd'];
$result_data[1]['max_val'] = $bhw_date[0]['z1sd'];
$result_data[2]['min_val'] = $bhw_date[0]['z1sd'];
$result_data[2]['max_val'] = $bhw_date[0]['z2sd'];
$result_data[3]['min_val'] = $bhw_date[0]['z2sd'];
}
}else if($key_name == 'height'){
$bhw_date = Db::table($this->body_db_name['heigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
if($bhw_date){
$result_data[0]['max_val'] = $bhw_date[0]['f2sd'];
$result_data[1]['min_val'] = $bhw_date[0]['f2sd'];
$result_data[1]['max_val'] = $bhw_date[0]['f1sd'];
$result_data[2]['min_val'] = $bhw_date[0]['f1sd'];
$result_data[2]['max_val'] = $bhw_date[0]['z1sd'];
$result_data[3]['min_val'] = $bhw_date[0]['z1sd'];
$result_data[3]['max_val'] = $bhw_date[0]['z2sd'];
$result_data[4]['min_val'] = $bhw_date[0]['z2sd'];
$result_data[4]['max_val'] = $bhw_date[0]['z3sd'];
}
}else if($key_name == 'weight'){
$bhw_date = Db::table($this->body_db_name['weigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// dump($bhw_date);
if($bhw_date){
$result_data[0]['max_val'] = $bhw_date[0]['f2sd'];
$result_data[1]['min_val'] = $bhw_date[0]['f2sd'];
$result_data[1]['max_val'] = $bhw_date[0]['f1sd'];
$result_data[2]['min_val'] = $bhw_date[0]['f1sd'];
$result_data[2]['max_val'] = $bhw_date[0]['z1sd'];
$result_data[3]['min_val'] = $bhw_date[0]['z1sd'];
$result_data[3]['max_val'] = $bhw_date[0]['z2sd'];
$result_data[4]['min_val'] = $bhw_date[0]['z2sd'];
$result_data[4]['max_val'] = $bhw_date[0]['z3sd'];
}
}
public function set_initial_weight_action($data){
$user_data = Db::table($this->body_db_name['juese'])->where(['id'=>$data['aud_id']])->update(['initial_weight'=>$data['weight']]);
if($user_data){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
public function history_list_page_action($data,$type){
$return_result = [];
$result = Db::table($this->body_db_name['body_data_new'])
->where(['aud_id'=>$data['aud_id'],'is_del'=>0])
->field("id,record_time,REPLACE(record_time, '-', '-') AS b_time,height,weight,bmi")
->order('record_time desc')
->page($data['page'],$this->pagesize)
->select();
$return_result['totalrows'] = Db::table($this->body_db_name['body_data_new'])->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->count();
$return_result['rows'] = [];
$return_result['pageno'] = $data['page'];
$return_result['pagesize'] = $this->pagesize;
$return_result['totalpage'] = ceil($return_result['totalrows']/$this->pagesize);
foreach ($result as $key => $value) {
array_push($return_result['rows'],[
'id'=>$value['id'],
'v1'=>floatval($value['height']),
'v2'=>floatval($value['weight']),
'v3'=>floatval($value['bmi']),
'v1_name'=>'身高',
'v2_name'=>'体重',
'v3_name'=>'BMI',
'record_time'=>$value['b_time'],
]);
}
return $this->msg($return_result);
}
public function history_detailed_action($data){
// 加 bcadd(,,20)
// 减 bcsub(,,20)
// 乘 bcmul(,,20)
// 除 bcdiv(,,20)
// 设置排除在外的数据类型start
$exclude_data_arr = ['height','weight','age','bmi'];
// 设置排除在外的数据类型end
$result = Db::table($this->body_db_name['body_data_new'])->where(['id'=>$data['id']])->find();
$for_data_arr = ['height'=>['身高','cm'],'weight'=>['体重','kg'],'age'=>['年龄','岁'],'bmi'=>['BMI',''],'head'=>['头围',''],'fat_w'=>['脂肪量','kg'],'fat_r'=>['脂肪率','%'],'muscleval'=>['肌肉量','kg'],'muscle'=>['肌肉率','%'],'proteinval'=>['蛋白量','kg'],'protein'=>['蛋白率','%'],'water'=>['水分',''],'bone'=>['骨重','kg'],'visceral'=>['内脏指数',''],'sfr'=>['皮下脂肪','%'],'kcal'=>['基础代谢','kcal'],'un_fat_w_weight'=>['去脂体重','kg'],'body_age'=>['体龄',''],'body_level'=>['肥胖等级',''],'body_type'=>['体型','']];
if($result){
$result_data = [];
foreach ($for_data_arr as $key => $value) {
$temporary_arr['key_name'] = $key;
$temporary_arr['name'] = $value[0];
// 身体数据处理,如果没有阻抗,则只显示四项$exclude_data_arr
if($result['record_type'] != 'by_device_adc'){
if(!in_array($key, $exclude_data_arr)){
continue;
}else{
$temporary_arr['value'] = $result[$key];
}
}else{
if($key == 'un_fat_w_weight'){
$temporary_arr['value'] = bcsub($result['weight'],$result['fat_w'],2);
}else{
if(array_key_exists($key,$result)){
$temporary_arr['value'] = $result[$key];
}
}
}
$temporary_arr['unit'] = $value[1];
array_push($result_data,$temporary_arr);
}
//
// 添加头围详细start
if($result['head_circumference']){
array_unshift($result_data,[
'key_name'=>'head_circumference',
'name'=>'头围',
'value'=>json_decode($result['head_circumference'],true)['value'] == 0?"0":json_decode($result['head_circumference'],true)['value'],
'unit'=>'cm',
]);
}
// 添加头围详细end
// 添加心率详细start
if($result['heart_rate']){
array_unshift($result_data,[
'key_name'=>'heart_rate',
'name'=>'心率',
'value'=>$result['heart_rate'],
'unit'=>'跳/分钟',
]);
}
// 添加心率详细end
return $this->msg($result_data);
}else{
return $this->msg(10004);
}
return $result_data;
}
public function history_del_action($data){
$result = Db::table($this->body_db_name['body_data_new'])->where(['id'=>$data['id']])->update(['is_del'=>1]);
if($result){
// 添加心率详细end
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
// 处理其他的标注列表
public function process_other_standard_action($data,$key_name){
if($key_name == 'body_age'){
$result_data = [
['min_val'=>'0','max_val'=>$data['age'],'text'=>'年轻','color'=>'#14CBAD'], //淡黄
['min_val'=>$data['age'],'max_val'=>bcadd(bcsub($data['age'],0,2),$data['age'],2),'text'=>'偏大','color'=>'#F53F31'], //绿
];
}else if($key_name == 'score'){
$result_data = $this->merged_data['score']['standard_list'];
}else{
$gender_val = $data['gender'] == 2?'woman':'man';
if($key_name == 'fat_r'){
if($data['age'] < 30){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['29'];
}else{
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['30'];
}
}else if($key_name == 'fat_w'){
if($data['age'] < 30){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['29'];
}else{
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['30'];
}
$result_data = $this->calculate_new_standard($result_data,$data['weight_val'],$key_name,$data['age'],$gender_val);
}else if($key_name == 'muscle' || $key_name == 'protein' || $key_name == 'water' || $key_name == 'sfr' || $key_name == 'visceral'){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val];
}else if($key_name == 'muscleval' || $key_name == 'proteinval'){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val];
$result_data = $this->calculate_new_standard($result_data,$data['weight_val'],$key_name,$data['age'],$gender_val);
}else if($key_name == 'bone'){
if($gender_val == 'man'){
if($data['weight_val'] < 60){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60'];
}else if($data['weight_val'] >= 60 && $data['weight_val'] < 75){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60_75'];
}else{
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['75'];
}
}else{
if($data['weight_val'] < 45){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['45'];
}else if($data['weight_val'] >= 45 && $data['weight_val'] < 60){
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['45_60'];
}else{
$result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60'];
}
}
}
}
return $result_data;
}
################################################################工具################################################################
################################################################工具################################################################
// // 处理身高体重BMI的标准
// public function process_hwb_standard_action($birthday,$key_name,$age,$gender_val){
// $month_num = $this->calculateAgeInMonthsWithPrecision($birthday);
// if($age < $this->age_limit){
// $result_data = $this->merged_data[$key_name]['standard_list'];
// if($key_name == 'bmi'){
// $bhw_date = Db::table($this->body_db_name['bmi'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// if($bhw_date){
// $result_data[0]['max_val'] = $bhw_date[0]['f1sd'];
// $result_data[0]['max_val'] = $bhw_date[0]['f1sd'];
// $result_data[1]['min_val'] = $bhw_date[0]['f1sd'];
// $result_data[1]['max_val'] = $bhw_date[0]['z1sd'];
// $result_data[2]['min_val'] = $bhw_date[0]['z1sd'];
// $result_data[2]['max_val'] = $bhw_date[0]['z2sd'];
// $result_data[3]['min_val'] = $bhw_date[0]['z2sd'];
// }
// }else if($key_name == 'height'){
// $bhw_date = Db::table($this->body_db_name['heigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// if($bhw_date){
// $result_data[0]['max_val'] = $bhw_date[0]['f2sd'];
// $result_data[1]['min_val'] = $bhw_date[0]['f2sd'];
// $result_data[1]['max_val'] = $bhw_date[0]['f1sd'];
// $result_data[2]['min_val'] = $bhw_date[0]['f1sd'];
// $result_data[2]['max_val'] = $bhw_date[0]['z1sd'];
// $result_data[3]['min_val'] = $bhw_date[0]['z1sd'];
// $result_data[3]['max_val'] = $bhw_date[0]['z2sd'];
// $result_data[4]['min_val'] = $bhw_date[0]['z2sd'];
// $result_data[4]['max_val'] = $bhw_date[0]['z3sd'];
// }
// }else if($key_name == 'weight'){
// $bhw_date = Db::table($this->body_db_name['weigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// // dump($bhw_date);
// if($bhw_date){
// $result_data[0]['max_val'] = $bhw_date[0]['f2sd'];
// $result_data[1]['min_val'] = $bhw_date[0]['f2sd'];
// $result_data[1]['max_val'] = $bhw_date[0]['f1sd'];
// $result_data[2]['min_val'] = $bhw_date[0]['f1sd'];
// $result_data[2]['max_val'] = $bhw_date[0]['z1sd'];
// $result_data[3]['min_val'] = $bhw_date[0]['z1sd'];
// $result_data[3]['max_val'] = $bhw_date[0]['z2sd'];
// $result_data[4]['min_val'] = $bhw_date[0]['z2sd'];
// $result_data[4]['max_val'] = $bhw_date[0]['z3sd'];
// }
// }
// }else{
// $result_data = [];
// }
// return $result_data;
// }
// // 处理其他的标注列表
// public function process_other_standard_action($data,$key_name){
// if($key_name == 'body_age'){
// $result_data = [
// ['min_val'=>'0','max_val'=>$data['age'],'text'=>'年轻','color'=>'#14CBAD'], //淡黄
// ['min_val'=>$data['age'],'max_val'=>bcadd(bcsub($data['age'],0,2),$data['age'],2),'text'=>'偏大','color'=>'#F53F31'], //绿
// ];
// }else if($key_name == 'score'){
// $result_data = $this->merged_data['score']['standard_list'];
// }else{
// $gender_val = $data['gender'] == 2?'woman':'man';
// if($key_name == 'fat_r'){
// if($data['age'] < 30){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['29'];
// }else{
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['30'];
// }
// }else if($key_name == 'fat_w'){
// if($data['age'] < 30){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['29'];
// }else{
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['30'];
// }
// $result_data = $this->calculate_new_standard($result_data,$data['weight_val'],$key_name,$data['age'],$gender_val);
// }else if($key_name == 'muscle' || $key_name == 'protein' || $key_name == 'water' || $key_name == 'sfr' || $key_name == 'visceral'){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val];
// }else if($key_name == 'muscleval' || $key_name == 'proteinval'){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val];
// $result_data = $this->calculate_new_standard($result_data,$data['weight_val'],$key_name,$data['age'],$gender_val);
// }else if($key_name == 'bone'){
// if($gender_val == 'man'){
// if($data['weight_val'] < 60){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60'];
// }else if($data['weight_val'] >= 60 && $data['weight_val'] < 75){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60_75'];
// }else{
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['75'];
// }
// }else{
// if($data['weight_val'] < 45){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['45'];
// }else if($data['weight_val'] >= 45 && $data['weight_val'] < 60){
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['45_60'];
// }else{
// $result_data = $this->merged_data[$key_name]['standard_list'][$gender_val]['60'];
// }
// }
// }
// }
// return $result_data;
// }
// 处理特殊落点下的标准值
public function process_special_offset_action($val, $list) {
$return_data['standard'] = '';
$return_data['standard_color'] = '#000000';
if($val<$list[0]['min_val']){
$return_data['standard'] = $list[0]['text'];
$return_data['standard_color'] = $list[0]['color'];
return $return_data;
}
// // 处理特殊落点下的标准值
// public function process_special_offset_action($val, $list) {
// $return_data['standard'] = '';
// $return_data['standard_color'] = '#000000';
// if($val<$list[0]['min_val']){
// $return_data['standard'] = $list[0]['text'];
// $return_data['standard_color'] = $list[0]['color'];
// return $return_data;
// }
if($val>$list[count($list)-1]['max_val']){
$return_data['standard'] = $list[count($list)-1]['text'];
$return_data['standard_color'] = $list[count($list)-1]['color'];
return $return_data;
}
foreach ($list as $key => $value) {
if($val >= $value['min_val'] && $val <= $value['max_val']){
$return_data['standard'] = $value['text'];
$return_data['standard_color'] = $value['color'];
break;
}
}
return $return_data;
}
// if($val>$list[count($list)-1]['max_val']){
// $return_data['standard'] = $list[count($list)-1]['text'];
// $return_data['standard_color'] = $list[count($list)-1]['color'];
// return $return_data;
// }
// foreach ($list as $key => $value) {
// if($val >= $value['min_val'] && $val <= $value['max_val']){
// $return_data['standard'] = $value['text'];
// $return_data['standard_color'] = $value['color'];
// break;
// }
// }
// return $return_data;
// }
// 计算新标准
public function calculate_new_standard($data,$w,$k,$age=0,$gender='man'){
@ -2048,103 +2270,103 @@ class Userbody extends Base{
}
//
public function hwb_standard($data){
$linshi_data = [];
$month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday']);
$gender_val = $data['gender'];
if($data['age'] < $this->age_limit){
foreach ($data as $key => $value) {
if($key =='身高'){
$linshi_data['身高'] = $this->merged_data['height']['standard_list'];
$bhw_date = Db::table($this->body_db_name['heigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// public function hwb_standard($data){
// $linshi_data = [];
// $month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday']);
// $gender_val = $data['gender'];
// if($data['age'] < $this->age_limit){
// foreach ($data as $key => $value) {
// if($key =='身高'){
// $linshi_data['身高'] = $this->merged_data['height']['standard_list'];
// $bhw_date = Db::table($this->body_db_name['heigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
if($bhw_date){
$linshi_data['身高'][0]['max_val'] = $bhw_date[0]['f2sd'];
$linshi_data['身高'][1]['min_val'] = $bhw_date[0]['f2sd'];
$linshi_data['身高'][1]['max_val'] = $bhw_date[0]['f1sd'];
$linshi_data['身高'][2]['min_val'] = $bhw_date[0]['f1sd'];
$linshi_data['身高'][2]['max_val'] = $bhw_date[0]['z1sd'];
$linshi_data['身高'][3]['min_val'] = $bhw_date[0]['z1sd'];
$linshi_data['身高'][3]['max_val'] = $bhw_date[0]['z2sd'];
$linshi_data['身高'][4]['min_val'] = $bhw_date[0]['z2sd'];
$linshi_data['身高'][4]['max_val'] = $bhw_date[0]['z3sd'];
}
// if($bhw_date){
// $linshi_data['身高'][0]['max_val'] = $bhw_date[0]['f2sd'];
// $linshi_data['身高'][1]['min_val'] = $bhw_date[0]['f2sd'];
// $linshi_data['身高'][1]['max_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['身高'][2]['min_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['身高'][2]['max_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['身高'][3]['min_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['身高'][3]['max_val'] = $bhw_date[0]['z2sd'];
// $linshi_data['身高'][4]['min_val'] = $bhw_date[0]['z2sd'];
// $linshi_data['身高'][4]['max_val'] = $bhw_date[0]['z3sd'];
// }
}else if($key =='体重'){
$linshi_data['体重'] = $this->merged_data['weight']['standard_list'];
$bhw_date = Db::table($this->body_db_name['weigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
if($bhw_date){
$linshi_data['体重'][0]['max_val'] = $bhw_date[0]['f2sd'];
$linshi_data['体重'][1]['min_val'] = $bhw_date[0]['f2sd'];
$linshi_data['体重'][1]['max_val'] = $bhw_date[0]['f1sd'];
$linshi_data['体重'][2]['min_val'] = $bhw_date[0]['f1sd'];
$linshi_data['体重'][2]['max_val'] = $bhw_date[0]['z1sd'];
$linshi_data['体重'][3]['min_val'] = $bhw_date[0]['z1sd'];
$linshi_data['体重'][3]['max_val'] = $bhw_date[0]['z2sd'];
$linshi_data['体重'][4]['min_val'] = $bhw_date[0]['z2sd'];
$linshi_data['体重'][4]['max_val'] = $bhw_date[0]['z3sd'];
}
}else if($key =='BMI'){
$linshi_data['BMI'] = $this->merged_data['bmi']['standard_list'];
$bhw_date = Db::table($this->body_db_name['bmi'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
if($bhw_date){
$linshi_data['BMI'][0]['max_val'] = $bhw_date[0]['f1sd'];
$linshi_data['BMI'][1]['min_val'] = $bhw_date[0]['f1sd'];
$linshi_data['BMI'][1]['max_val'] = $bhw_date[0]['z1sd'];
$linshi_data['BMI'][2]['min_val'] = $bhw_date[0]['z1sd'];
$linshi_data['BMI'][2]['max_val'] = $bhw_date[0]['z2sd'];
$linshi_data['BMI'][3]['min_val'] = $bhw_date[0]['z2sd'];
}
}
}
foreach ($linshi_data as $key => $value) {
foreach ($value as $k => $v) {
if($data[$key] >= $v['min_val'] && $data[$key] < $v['max_val']){
// 如果落在区间内
$data[$key.'2'] = $data[$key].','.$v['text'].','.$v['color'];
break;
}
}
// 如果$key.'2'没有被设置
if(!array_key_exists($key.'2', $data)){
if($data[$key] < $value[0]['min_val']){
// 如果小于最小值
$data[$key.'2'] = $data[$key].','.$value[0]['text'].','.$value[0]['color'];
}else if($data[$key] >= $value[count($value)-1]['max_val']){
// 如果大于最大值
$data[$key.'2'] = $data[$key].','.$value[count($value)-1]['text'].','.$value[count($value)-1]['color'];
}
}
}
// die;
}else{
$data['身高2'] = $data['身高'].',无,无';
$data['体重2'] = $data['体重'].',无,无';
$data['BMI2'] = $data['BMI'].',无,无';
}
return $data;
}
// }else if($key =='体重'){
// $linshi_data['体重'] = $this->merged_data['weight']['standard_list'];
// $bhw_date = Db::table($this->body_db_name['weigh'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// if($bhw_date){
// $linshi_data['体重'][0]['max_val'] = $bhw_date[0]['f2sd'];
// $linshi_data['体重'][1]['min_val'] = $bhw_date[0]['f2sd'];
// $linshi_data['体重'][1]['max_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['体重'][2]['min_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['体重'][2]['max_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['体重'][3]['min_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['体重'][3]['max_val'] = $bhw_date[0]['z2sd'];
// $linshi_data['体重'][4]['min_val'] = $bhw_date[0]['z2sd'];
// $linshi_data['体重'][4]['max_val'] = $bhw_date[0]['z3sd'];
// }
// }else if($key =='BMI'){
// $linshi_data['BMI'] = $this->merged_data['bmi']['standard_list'];
// $bhw_date = Db::table($this->body_db_name['bmi'])->where("Month <= $month_num and Sex = '$gender_val'")->order('Month desc')->limit(1)->select();
// if($bhw_date){
// $linshi_data['BMI'][0]['max_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['BMI'][1]['min_val'] = $bhw_date[0]['f1sd'];
// $linshi_data['BMI'][1]['max_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['BMI'][2]['min_val'] = $bhw_date[0]['z1sd'];
// $linshi_data['BMI'][2]['max_val'] = $bhw_date[0]['z2sd'];
// $linshi_data['BMI'][3]['min_val'] = $bhw_date[0]['z2sd'];
// }
// }
// }
// foreach ($linshi_data as $key => $value) {
// foreach ($value as $k => $v) {
// if($data[$key] >= $v['min_val'] && $data[$key] < $v['max_val']){
// // 如果落在区间内
// $data[$key.'2'] = $data[$key].','.$v['text'].','.$v['color'];
// break;
// }
// }
// // 如果$key.'2'没有被设置
// if(!array_key_exists($key.'2', $data)){
// if($data[$key] < $value[0]['min_val']){
// // 如果小于最小值
// $data[$key.'2'] = $data[$key].','.$value[0]['text'].','.$value[0]['color'];
// }else if($data[$key] >= $value[count($value)-1]['max_val']){
// // 如果大于最大值
// $data[$key.'2'] = $data[$key].','.$value[count($value)-1]['text'].','.$value[count($value)-1]['color'];
// }
// }
// }
// // die;
// }else{
// $data['身高2'] = $data['身高'].',无,无';
// $data['体重2'] = $data['体重'].',无,无';
// $data['BMI2'] = $data['BMI'].',无,无';
// }
// return $data;
// }
// 处理异常
public function handling_exceptions($data){
for ($i=0; $i < count($data['list']); $i++) {
if($data['value']>=$data['list'][$i]['min_val'] && $data['value']<$data['list'][$i]['max_val']){
$data['standard'] = $data['list'][$i]['text'];
$data['color'] = $data['list'][$i]['color'];
break;
}
}
if($data['standard'] == '异常'){
if($data['value'] <= $data['list'][0]['min_val']){
$data['standard'] = $data['list'][0]['text'];
$data['color'] = $data['list'][0]['color'];
}else if($data['value'] >= $data['list'][count($data['list'])-1]['max_val']){
$data['standard'] = $data['list'][count($data['list'])-1]['text'];
$data['color'] = $data['list'][count($data['list'])-1]['color'];
}
}
return $data;
}
// // 处理异常
// public function handling_exceptions($data){
// for ($i=0; $i < count($data['list']); $i++) {
// if($data['value']>=$data['list'][$i]['min_val'] && $data['value']<$data['list'][$i]['max_val']){
// $data['standard'] = $data['list'][$i]['text'];
// $data['color'] = $data['list'][$i]['color'];
// break;
// }
// }
// if($data['standard'] == '异常'){
// if($data['value'] <= $data['list'][0]['min_val']){
// $data['standard'] = $data['list'][0]['text'];
// $data['color'] = $data['list'][0]['color'];
// }else if($data['value'] >= $data['list'][count($data['list'])-1]['max_val']){
// $data['standard'] = $data['list'][count($data['list'])-1]['text'];
// $data['color'] = $data['list'][count($data['list'])-1]['color'];
// }
// }
// return $data;
// }

View File

@ -887,7 +887,14 @@ Route::any('/reedaw/manual_record', 'app/NewReedaw/app.Userbody/manual_record');
Route::any('/reedaw/device_record', 'app/NewReedaw/app.Userbody/device_record');
// 修改目标体重
Route::any('/reedaw/set_target_weight', 'app/NewReedaw/app.Userbody/set_target_weight');
// 修改初始体重
Route::any('/reedaw/set_initial_weight', 'app/NewReedaw/app.Userbody/set_initial_weight');
// 历史数据(分页)
Route::any('/reedaw/history_list_page', 'app/NewReedaw/app.Userbody/history_list_page');
// 历史详情
Route::any('/reedaw/history_detailed', 'app/NewReedaw/app.Userbody/history_detailed');
// 删除历史数据
Route::any('/reedaw/history_del', 'app/NewReedaw/app.Userbody/history_del');
################################################################首页(饮食数据)
@ -931,16 +938,6 @@ Route::any('/reedaw/current_food_statistics', 'app/NewReedaw/app.Kitchenscale/cu
// 使用国内轻厨记的
################################################################首页(健康工具)
// 卡片列表
@ -979,6 +976,8 @@ Route::any('/reedaw/skip/del_record', 'app/NewReedaw/app.skip/del_record');
Route::any('/reedaw/add_member', 'app/NewReedaw/app.role/add_member');
// 更新角色
Route::any('/reedaw/update_member', 'app/NewReedaw/app.role/update_member');
// 删除角色
Route::any('/reedaw/del_member', 'app/NewReedaw/app.role/del_member');
// 获取指定角色详细信息(含厨房秤的当日信息)
Route::any('/reedaw/get_user_data_information', 'app/NewReedaw/app.role/get_user_data_information');
// 修改账号昵称