obj = new dCase(); $this->tbl = 'tcm_case'; $this->case_herb_tbl = 'tcm_case_herb'; $this->herb_tbl = 'tcm_herb'; $this->collect_log_tbl = 'tcm_collect_log'; } public function createCase($info){ return $this->obj->insert($this->tbl, $info); } public function updateCase($id,$data){ return $this->obj->update($this->tbl, $data, array('sql'=>'`id`=?', 'vals'=>array($id))); } public function updateCaseSearchNum($id){ return $this->obj->increase($this->tbl, array('sql'=>'`id`=?', 'vals'=>array($id)),'search_num'); } public function getCaseByName($name,$start,$pagesize) { $sql = " `name` like '%{$name}%'"; $res = $this->obj->selectAll($this->tbl, array('sql'=>$sql, 'vals'=>array()), 'search_num desc,sort asc ', array($start, $pagesize)); if(empty($res)) return array(); return $res; } public function getCaseById($id){ return $this->obj->select($this->tbl, array('sql'=>'`id`=?','vals'=>array($id))); } public function getCaseInfo($id) { //药方信息 $case = $this->getCaseById($id); //药方药材信息 $case_herb = $this->getCaseHerbByCaseId($case['id']); //药材名称 $herb_ids = array_column($case_herb,'herb_id'); $herb = $this->getHerbByIds($herb_ids); $data = array( 'case' => $case, 'case_herb' => $case_herb, 'herb' => array_column($herb,null,'id'), ); return $data; } public function getCaseByIds($ids){ return $this->obj->selectIn($this->tbl, array('id'=>$ids)); } public function createCaseHerb($info){ return $this->obj->mutiInsert($this->case_herb_tbl, $info); } public function getCaseHerbByCaseId($case_id){ return $this->obj->selectAll($this->case_herb_tbl, array('sql'=>'`case_id`=?','vals'=>array($case_id)), 'sort asc '); } public function compareCaseHerb($old_data,$new_data){ $old_num = count($old_data); $new_num = count($new_data); //需要删除 if($old_num>=$new_num){ foreach ($old_data as $key => $value) { if(!isset($new_data[$key])){ $this->obj->delete($this->case_herb_tbl, array('sql'=>'`id`=?', 'vals'=>array($value['id']))); continue; } $this->obj->update($this->case_herb_tbl, $new_data[$key], array('sql'=>'`id`=?', 'vals'=>array($value['id']))); } }else{ foreach ($new_data as $key => $value) { if(!isset($old_data[$key])){ $this->obj->insert($this->case_herb_tbl, $value); continue; } $this->obj->update($this->case_herb_tbl, $value, array('sql'=>'`id`=?', 'vals'=>array($old_data[$key]['id']))); } } return true; } public function createHerb($info){ return $this->obj->insert($this->herb_tbl, $info); } public function getHerbByName($name){ return $this->obj->select($this->herb_tbl, array('sql'=>'`name`=?', 'vals'=>array($name))); } public function getHerbByIds($ids){ return $this->obj->selectIn($this->herb_tbl, array('id'=>$ids)); } public function getCollectLog($start,$pagesize) { return $this->obj->selectAll($this->collect_log_tbl, array(), 'collect_time desc ', array($start, $pagesize)); } }