127 lines
3.2 KiB
PHP
127 lines
3.2 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace app\adminapi\logic\tcm;
|
|
|
|
use app\common\logic\BaseLogic;
|
|
use app\common\model\tcm\BloodRecord;
|
|
|
|
/**
|
|
* 血糖血压记录逻辑
|
|
* Class BloodRecordLogic
|
|
* @package app\adminapi\logic\tcm
|
|
*/
|
|
class BloodRecordLogic extends BaseLogic
|
|
{
|
|
/**
|
|
* @notes 添加记录
|
|
* @param array $params
|
|
* @return bool
|
|
*/
|
|
public static function add(array $params): bool
|
|
{
|
|
try {
|
|
// 处理记录日期
|
|
if (isset($params['record_date'])) {
|
|
$params['record_date'] = strtotime($params['record_date']);
|
|
}
|
|
|
|
BloodRecord::create($params);
|
|
return true;
|
|
} catch (\Exception $e) {
|
|
self::setError($e->getMessage());
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @notes 编辑记录
|
|
* @param array $params
|
|
* @return bool
|
|
*/
|
|
public static function edit(array $params): bool
|
|
{
|
|
try {
|
|
// 处理记录日期
|
|
if (isset($params['record_date'])) {
|
|
$params['record_date'] = strtotime($params['record_date']);
|
|
}
|
|
|
|
BloodRecord::update($params);
|
|
return true;
|
|
} catch (\Exception $e) {
|
|
self::setError($e->getMessage());
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @notes 删除记录
|
|
* @param array $params
|
|
* @return bool
|
|
*/
|
|
public static function delete(array $params): bool
|
|
{
|
|
try {
|
|
BloodRecord::destroy($params['id']);
|
|
return true;
|
|
} catch (\Exception $e) {
|
|
self::setError($e->getMessage());
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @notes 记录详情
|
|
* @param $params
|
|
* @return array
|
|
*/
|
|
public static function detail($params): array
|
|
{
|
|
$record = BloodRecord::findOrEmpty($params['id'])->toArray();
|
|
|
|
// 处理记录日期格式
|
|
if (!empty($record['record_date'])) {
|
|
$record['record_date'] = date('Y-m-d', $record['record_date']);
|
|
}
|
|
|
|
return $record;
|
|
}
|
|
|
|
/**
|
|
* @notes 获取患者的血糖血压记录列表
|
|
* @param array $params
|
|
* @return array
|
|
*/
|
|
public static function getRecordsByPatient(array $params): array
|
|
{
|
|
$where = [];
|
|
|
|
if (isset($params['diagnosis_id'])) {
|
|
$where[] = ['diagnosis_id', '=', $params['diagnosis_id']];
|
|
}
|
|
|
|
if (isset($params['patient_id'])) {
|
|
$where[] = ['patient_id', '=', $params['patient_id']];
|
|
}
|
|
|
|
$records = BloodRecord::where($where)
|
|
->where('delete_time', null)
|
|
->order('record_date', 'desc')
|
|
->order('record_time', 'desc')
|
|
->select()
|
|
->toArray();
|
|
|
|
// 格式化日期
|
|
foreach ($records as &$record) {
|
|
if (!empty($record['record_date'])) {
|
|
$record['record_date'] = date('Y-m-d', $record['record_date']);
|
|
}
|
|
}
|
|
|
|
return $records;
|
|
}
|
|
}
|