<?php
namespace model\doctor;
/**
 * Class blood
 * @package model
 */
class report extends \model
{
	public function __construct()
    {
		parent::__construct();
	}

    /**
    * 获取报告
    */
	public function getRowInfo($id)
    {
        return $this->db->get('dt_report','*',['r_id'=>$id]);
	}

    /**
    * 创建24个小时报告
    */
	public function createReport($req)
    {
        $data = [
            "r_au_id"=>$req["uid"],
            "r_hand"=>$req["hand"],
            "r_date_start"=>$req["date_start"],
            "r_time_start"=>$req["time_start"],
            "r_sun_begin"=>$req["sun_begin"],
            "r_sun_end"=>$req["sun_end"],
            "r_shebei"=>mb_substr($req["shebei"],0,255),
            "r_yaowu"=>mb_substr($req["yaowu"],0,255),
            "r_remark"=>mb_substr($req["remark"],0,255),
            "r_weight"=>$req["weight"],
            "r_height"=>$req["height"],
        ];
        $this->db->insert('dt_report',$data);
	}
	
    /**
    * 删除24个小时报告
    */
	public function deleteReport($id)
    {
        $this->db->delete('dt_report',['r_id'=>$id]);
	}
	
	public function setValue($id,$field,$value)
	{
        $this->db->update('dt_report',[$field=>$value],['r_id'=>$id]);
	}
	
    public function list($rules = [],$where='',$page=0,$pagesize=0,$sidx='',$sord='asc',$orderby='')
    {
		$table = 'dt_report(e)';
        $fields = '*';
        $this->join = [
            '[>]gsp_adm_user'=>['e.r_au_id'=>'au_id']
        ];
		$this->joinWhere = [];
		$this->group = [];
		$objList = []; //用于回调方法中，创建的对象缓存
        $where = $this->filter2medoo($where,function(&$field,&$op,&$data){
           
        });
        if(!is_array($where)) $where =[];
        
		if(!empty($rules)){
		    
			$where = array_merge($rules,$where);
		}
		
	
		if(!empty($this->joinWhere)){
			$where = array_merge($where, $this->joinWhere);
		}

		if(!empty($this->group)){
			$where = array_merge($where, $this->group);
		}

		$where = $this->listWhere($where,$page,$pagesize,$sidx,$sord,$orderby);

		if($page>0 && $pagesize>0){
            if(empty($this->join)){
                $pages = $this->paging($table,$where,$page,$pagesize);
            }else{
                $pages = $this->paging($table,$this->join,'1',$where,$page,$pagesize);
            }
			$where["LIMIT"] = [$pages['limit'],$pagesize];
		}
        if(empty($this->join)){
            $rows = $this->db->select($table,$fields,$where);
        }else{
            $rows = $this->db->select($table,$this->join,$fields,$where);
        }
		//dd($this->db->last());
		
        if(!empty($rows)) foreach($rows as $k=>&$row){
            $row['r_au_id'] = $row['au_name'];
        }
		$data = [
			'page'=> $page,
			'total'=> $pages['total'],
			'records' => $pages['records'],
			'rows' => $rows
		];
		return $data;        
    }
}