--- a/application/p/logic/Nutrition.php +++ b/application/p/logic/Nutrition.php @@ -100,6 +100,9 @@ // } if (!empty($nutrition)) { foreach ($nutrition as $key => $value) { + if ($field === ['a.*','b.name as set_name']) { + $value = \app\common\service\NutritionFloat82Write::physicalForModel($value, 'nutrition', $this->model); + } $nutrition[$key] = $this->normalizeDictionaryCreateTime($value); $nutrition[$key]['img_path'] = getImgFullPath($value['img_path']); $nutrition[$key]['source_img_path'] = getImgFullPath($value['source_img_path']); --- a/application/m/logic/Nutrition.php +++ b/application/m/logic/Nutrition.php @@ -162,6 +162,9 @@ } if (!empty($rand_data)) { foreach ($rand_data as $key => $value) { + if ($field === ['a.*','b.name as set_name']) { + $value = \app\common\service\NutritionFloat82Write::physicalForModel($value, 'nutrition', $this->model); + } $rand_data[$key] = $this->normalizeDictionaryCreateTime($value); $rand_data[$key]['img_path'] = getImgFullPath($value['img_path']); $rand_data[$key]['source_img_path'] = getImgFullPath($value['source_img_path']); @@ -328,6 +331,7 @@ $use_number_unit = array_column(config("use_number_unit"), "item", "id"); $use_time_names = Db::name('nutrition_time')->where(['del_flag' => 0])->column('name','uuid'); foreach ($rows as $key => $argv){ + $argv = \app\common\service\NutritionFloat82Write::physicalForModel($argv, 'nutrition', $this->model); $argv['img_path'] = getImgFullPath($argv['img_path']); $use_times = explode(',',$argv['use_time']); $argv['use_weight_unit_cn'] = isset($use_number_unit[$argv['use_weight_unit']])?$use_number_unit[$argv['use_weight_unit']]:''; @@ -450,6 +454,10 @@ $add_select_phase = array(); $select_phase = array(); $recommend_nutrition = $this->model->nutritionSet(['a.uuid' => ['in', $nutrition_uuid],'a.status'=>1,'a.is_del'=>1,'a.is_own' => 1], ['a.uuid,a.function,a.set_uuid,a.name,a.synopsis,a.img_path,a.employ,a.use_method,b.id,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number,a.use_number_unit']); + foreach ($recommend_nutrition as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->model); + } + unset($physicalNutritionRow); if ($staff_category == 1){ // 人员类别是青少年时,以下产品不应该出现也不应该被选中 foreach ($recommend_nutrition as $key => $value){ if (strstr($value['name'],"含谷氨酰胺")){ @@ -639,6 +647,10 @@ if ($nutrition_uuids) { $nutrition_set_list = $this->model->nutritionSet(['a.uuid' => ['in', $nutrition_uuids],'a.status'=>1,'a.is_del'=>1,'a.is_own' => 1], ['a.uuid,a.name,a.function,a.set_uuid,a.img_path,a.employ,a.use_method,b.id,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number,a.use_number_unit']); + foreach ($nutrition_set_list as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->model); + } + unset($physicalNutritionRow); $get_can_select = $this->getNutritionTime($nutrition_uuids,$params['staff_category']); foreach ($nutrition_set_list as $list) { $recommend_nutrition_array[$list['id']][] = $list; --- a/application/model/NutritionSchemeExt.php +++ b/application/model/NutritionSchemeExt.php @@ -10,7 +10,7 @@ $field = ['a.train_status','a.train_time','a.nutrition_uuid','a.use_volume','a.use_method','a.use_time', 'b.use_number','b.use_weight','b.img_path','b.name','b.power','b.carbohydrate','b.protein','b.fat','b.sodium','b.use_weight_unit', 'c.name use_time_cn','b.use_number_unit']; - return $this + $rows = $this ->alias('a') ->join('nutrition b', 'b.uuid = a.nutrition_uuid', 'LEFT') ->join('nutrition_time c', 'c.uuid = a.use_time', 'LEFT') @@ -19,5 +19,10 @@ ->field($field) ->select() ->toArray(); + foreach ($rows as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this); + } + unset($physicalNutritionRow); + return $rows; } } --- a/application/model/NutritionScheme.php +++ b/application/model/NutritionScheme.php @@ -64,7 +64,7 @@ //新增f表关联,增加根据f.order_no进行排序展示 $where['a.uuid'] = $scheme_uuid; $where['c.type'] = $type; - return $this + $rows = $this ->alias('a') ->join('ydy_nutrition_scheme_ext c','c.nutrition_scheme_uuid = a.uuid', 'LEFT') ->join("ydy_nutrition d", "c.nutrition_uuid = d.uuid", "left") @@ -78,5 +78,10 @@ ->order('f.order_no,f.id') ->select() ->toArray(); + foreach ($rows as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this); + } + unset($physicalNutritionRow); + return $rows; } } --- a/application/p/logic/NutritionScheme.php +++ b/application/p/logic/NutritionScheme.php @@ -212,6 +212,8 @@ $train_time = array_column(config("train_time"), "name", "id"); $use_number_unit = array_column(config("use_number_unit"), "item", "id"); foreach($res['nutrition_consume'] as $key=>$consume) { + $consume = \app\common\service\NutritionFloat82Write::physicalForModel($consume, 'nutrition', $this->nutritionModel); + $res['nutrition_consume'][$key] = $consume; $res['nutrition_consume'][$key]['is_new'] = $consume['train_status'] == 9 ? 1 : 0;//用来标记是否为手动新增实际服用表的营养品(新增入的营养品可以修改服用阶段,实际取餐出来的营养品不可修改) $res['nutrition_consume'][$key]['train_status_cn'] = $train_status[$consume['train_status']]; $res['nutrition_consume'][$key]['train_time_cn'] = $train_time[$consume['train_time']]; @@ -584,6 +586,10 @@ $data['can_select'] = array(); if ($nutritions) { $nutrition_set_list = $this->nutritionModel->nutritionSet(['a.uuid' => ['in', $nutritions],'a.status'=>1,'a.is_del'=>1], ['a.uuid,a.name,a.img_path,a.employ,a.use_method,b.id,b.use_time,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number']); + foreach ($nutrition_set_list as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->nutritionModel); + } + unset($physicalNutritionRow); $get_can_select = $this->getNutritionTime($nutritions); foreach ($nutrition_set_list as $list) { $recommend_nutrition_array[$list['id']][] = $list; @@ -1145,6 +1151,10 @@ case 11: $nutrition_zj = $this->nutritionModel->nutritionSet(['a.uuid' => ['in', $nutritions], 'a.name' => '摘金果粒复合蛋白粉速度力量运动营养粉','a.status'=>1,'a.is_del'=>1], ['a.uuid,a.name,a.img_path,a.employ,a.use_method,b.id,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number']); + foreach ($nutrition_zj as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->nutritionModel); + } + unset($physicalNutritionRow); if (count($nutrition_zj) > 0) { $has_protein_goods = 0; foreach ($recommend_nutritions as $recommend_key => $recommend_nutrition) { @@ -1559,6 +1569,10 @@ $nutrition_uuid = explode(',', $nutrition_uuid); $select_phase = array(); $recommend_nutrition = $this->nutritionModel->nutritionSet(['a.uuid' => ['in', $nutrition_uuid]], ['a.uuid,a.name,a.img_path,a.employ,a.use_method,b.id,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number,a.use_number_unit']); + foreach ($recommend_nutrition as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->nutritionModel); + } + unset($physicalNutritionRow); foreach($recommend_nutrition as $list) { if($list['use_time']) @@ -1694,6 +1708,10 @@ //推荐营养品数组 if ($other_nutrition) { $nutrition_set_list = $this->nutritionModel->nutritionSet(['a.uuid' => ['in', $other_nutrition],'a.status'=>1,'a.is_del'=>1], ['a.uuid,a.name,a.img_path,a.employ,a.use_method,b.id,b.use_time,a.power,a.carbohydrate,a.protein,a.fat,a.sodium,a.use_weight,a.use_weight_unit,a.use_number']); + foreach ($nutrition_set_list as &$physicalNutritionRow) { + $physicalNutritionRow = \app\common\service\NutritionFloat82Write::physicalForModel($physicalNutritionRow, 'nutrition', $this->nutritionModel); + } + unset($physicalNutritionRow); foreach ($nutrition_set_list as $list) { foreach ($train_phase as $phase) { $phase_nutrition_set = explode(',', $phase['nutrition_set']); --- a/application/p/logic/NutritionStation.php +++ b/application/p/logic/NutritionStation.php @@ -281,6 +281,9 @@ } //根据$params['nutrition_uuid']获取营养品数据 $nutrition = $this->modelNutrition->read($params['nutrition_uuid']); + if (is_array($nutrition)) { + $nutrition = \app\common\service\NutritionFloat82Write::physicalForModel($nutrition, 'nutrition', $this->modelNutrition); + } return ['code' => 0, 'message' => '修改成功', 'data' =>$nutrition]; }