--- a/application/p/logic/Nutrition.php +++ b/application/p/logic/Nutrition.php @@ -47,6 +47,7 @@ //查找供货商是否为”康比特“相关 $is_exist = strpos($params['supplier'],'康比特'); $params['is_own'] = $is_exist === false ? 0 : 1; + $params = \app\common\service\NutritionPlainFloatWeight::forModel($params, $this->model); $res = $this->model->add(\app\common\service\NutritionFloat82Write::forModel($params, 'nutrition', $this->model)); if (!$res) { throw new Exception('添加营养品失败'); @@ -100,6 +101,9 @@ // } if (!empty($nutrition)) { foreach ($nutrition as $key => $value) { + if ($field === ['a.*','b.name as set_name']) { + $value = \app\common\service\NutritionPlainFloatWeight::physicalForModel($value, $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']); @@ -120,6 +124,7 @@ $nutrition = $this->model->read($uuid); if (is_array($nutrition)) { $nutrition = \app\common\service\NutritionFloat82Write::physicalForModel($nutrition, 'nutrition', $this->model); + $nutrition = \app\common\service\NutritionPlainFloatWeight::physicalForModel($nutrition, $this->model); $nutrition = $this->normalizeDictionaryCreateTime($nutrition); } if($nutrition['employ'] == 0){ @@ -154,6 +159,7 @@ //查找供货商是否为”康比特“相关 $is_exist = strpos($params['supplier'],'康比特'); $params['is_own'] = $is_exist === false ? 0 : 1; + $params = \app\common\service\NutritionPlainFloatWeight::forModel($params, $this->model); $res = $this->model->modify($uuid, \app\common\service\NutritionFloat82Write::forModel($params, 'nutrition', $this->model)); if ($res === false) { throw new Exception('修改失败'); --- 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\NutritionPlainFloatWeight::physicalForModel($value, $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\NutritionPlainFloatWeight::physicalForModel($argv, $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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->model); + } + unset($plainWeightRow); 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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->model); + } + unset($plainWeightRow); $get_can_select = $this->getNutritionTime($nutrition_uuids,$params['staff_category']); foreach ($nutrition_set_list as $list) { $recommend_nutrition_array[$list['id']][] = $list; @@ -1619,6 +1631,7 @@ $nutrition = $this->model->read($uuid); if (is_array($nutrition)) { $nutrition = \app\common\service\NutritionFloat82Write::physicalForModel($nutrition, 'nutrition', $this->model); + $nutrition = \app\common\service\NutritionPlainFloatWeight::physicalForModel($nutrition, $this->model); $nutrition = $this->normalizeDictionaryCreateTime($nutrition); } if($nutrition['employ'] == 0){ @@ -1649,6 +1662,7 @@ //查找供货商是否为”康比特“相关 $is_exist = strpos($params['supplier'],'康比特'); $params['is_own'] = $is_exist === false ? 0 : 1; + $params = \app\common\service\NutritionPlainFloatWeight::forModel($params, $this->model); $res = $this->model->modify($uuid, \app\common\service\NutritionFloat82Write::forModel($params, 'nutrition', $this->model)); if ($res === false) { throw new Exception('修改失败'); --- a/application/model/NutritionTemplateExt.php +++ b/application/model/NutritionTemplateExt.php @@ -8,7 +8,7 @@ public function inquiryAllInfo($where=[], $orderBy=[]) { $field = ['a.train_time','a.nutrition_uuid','a.use_volume','a.use_method','b.img_path','b.name','c.name set_name' ,'b.power','b.carbohydrate','b.protein','b.fat','b.sodium','b.use_weight','b.use_number','b.use_time','b.employ']; - return $this + $rows = $this ->alias('a') ->join('nutrition b', 'b.uuid = a.nutrition_uuid', 'LEFT') ->join('nutrition_set c', 'b.set_uuid = c.uuid', 'LEFT') @@ -17,5 +17,10 @@ ->field($field) ->select() ->toArray(); + foreach ($rows as &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this); + } + unset($plainWeightRow); + return $rows; } } --- 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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this); + } + unset($plainWeightRow); + 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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this); + } + unset($plainWeightRow); + 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\NutritionPlainFloatWeight::physicalForModel($consume, $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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->nutritionModel); + } + unset($plainWeightRow); $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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->nutritionModel); + } + unset($plainWeightRow); 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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->nutritionModel); + } + unset($plainWeightRow); 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 &$plainWeightRow) { + $plainWeightRow = \app\common\service\NutritionPlainFloatWeight::physicalForModel($plainWeightRow, $this->nutritionModel); + } + unset($plainWeightRow); 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\NutritionPlainFloatWeight::physicalForModel($nutrition, $this->modelNutrition); + } return ['code' => 0, 'message' => '修改成功', 'data' =>$nutrition]; }