Files
zyt/server/app/adminapi/logic/tcm/DietRecordLogic.php
T
2026-05-11 17:49:38 +08:00

99 lines
2.7 KiB
PHP
Executable File

<?php
namespace app\adminapi\logic\tcm;
use app\common\logic\BaseLogic;
use app\common\model\tcm\DietRecord;
class DietRecordLogic extends BaseLogic
{
public static function add(array $params): bool
{
try {
if (isset($params['record_date'])) {
$params['record_date'] = strtotime($params['record_date']);
}
DietRecord::create($params);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function edit(array $params): bool
{
try {
if (isset($params['record_date'])) {
$params['record_date'] = strtotime($params['record_date']);
}
DietRecord::update($params);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function delete(array $params): bool
{
try {
DietRecord::destroy($params['id']);
return true;
} catch (\Exception $e) {
self::setError($e->getMessage());
return false;
}
}
public static function detail($params): array
{
$record = DietRecord::findOrEmpty($params['id'])->toArray();
if (!empty($record['record_date'])) {
$record['record_date'] = date('Y-m-d', $record['record_date']);
}
return $record;
}
public static function getRecordsByPatient(array $params): array
{
try {
$where = [];
if (isset($params['diagnosis_id'])) {
$where[] = ['diagnosis_id', '=', $params['diagnosis_id']];
}
if (isset($params['patient_id'])) {
$where[] = ['patient_id', '=', $params['patient_id']];
}
// 如果没有诊断ID或患者ID,返回空数组
if (empty($where)) {
return [];
}
$records = DietRecord::where($where)
->where('delete_time', null)
->order('record_date', 'desc')
->select()
->toArray();
foreach ($records as &$record) {
if (!empty($record['record_date'])) {
$record['record_date'] = date('Y-m-d', $record['record_date']);
}
}
return $records;
} catch (\Exception $e) {
self::setError($e->getMessage());
return [];
}
}
}