diff --git a/app/store/model/nutrition/Nutrition.php b/app/store/model/nutrition/Nutrition.php --- a/app/store/model/nutrition/Nutrition.php +++ b/app/store/model/nutrition/Nutrition.php @@ -20,5 +20,9 @@ class Nutrition extends NutritionModel $createData['create_by'] = $create_by; $createData['user_id'] = StoreUserService::getLoginUserId(); $createData['store_id'] = self::$storeId; + // New plan entries are active; DM has no implicit NOT NULL default. + if (!array_key_exists('is_delete', $createData)) { + $createData['is_delete'] = 0; + } return $createData; } diff --git a/app/store/service/nutrition/NutritionTarget.php b/app/store/service/nutrition/NutritionTarget.php --- a/app/store/service/nutrition/NutritionTarget.php +++ b/app/store/service/nutrition/NutritionTarget.php @@ -12,4 +12,5 @@ use app\store\validate\NutritionTarget as NutritionTargetValidate; use app\store\service\store\User as StoreUserService; use app\terminal\model\meal\MealRecommend; use app\common\service\BaseService; +use app\common\service\FixedScaleDecimalResponse; use cores\exception\BaseException; @@ -85,8 +86,18 @@ class NutritionTarget extends BaseService $nutrition_target = NutritionTargetModel::infos($where); if (!empty($nutrition_target)){ - $data['recommend_energy'] = $nutrition_target['recommend_energy']; - $data['nutrition_target'] = $nutrition_target; + // Response only: keep raw saved values and calculation inputs intact. + $row = FixedScaleDecimalResponse::fields($nutrition_target->toArray(), [ + 'recommend_energy', 'morning_ratio', 'noon_ratio', 'night_ratio', + 'carbohydrate_ratio', 'protein_ratio', 'fat_ratio', + ]); + $data['recommend_energy'] = $row['recommend_energy']; + $data['nutrition_target'] = $row; }else{ $recommend = MealRecommend::getOne(['staff_id' => $staff_id,'meal_date' => $target_date]); - $data['recommend_energy'] = !empty($recommend) ? $recommend['recommend_power'] : 0; + if (!empty($recommend)) { + $energy = FixedScaleDecimalResponse::fields(['recommend_energy' => $recommend['recommend_power']], ['recommend_energy']); + $data['recommend_energy'] = $energy['recommend_energy']; + } else { + $data['recommend_energy'] = 0; + } }