Exemplo n.º 1
0
 public function addTakeHistory()
 {
     $newData['uid'] = $this->input->post('uid');
     $newData['mid'] = $this->input->post('mid');
     $newData['pid'] = $this->input->post('pid');
     if (!$this->prompt_model->get_by_id($newData['pid'])) {
         parent::ajaxError('提醒不存在');
     }
     if (!$this->medical_model->exist_id($newData['mid'])) {
         parent::ajaxError('药品不存在');
     }
     $newData['dose'] = $this->input->post('dose');
     parent::verifyDose($newData['dose']);
     $newData['taketime'] = date('Y-m-d H:i:s');
     $existPromptRecord = $this->take_history_model->get_by_pid_today($newData['pid']);
     if ($existPromptRecord) {
         parent::ajaxError('今天已经添加过吃药本记录了');
     }
     $newID = $this->take_history_model->add($newData);
     if ($newID) {
         $newData['id'] = $newID;
         $takeArrayGroupByDate[date('Y-m-d')] = array($newData);
         $boxData = $this->box_model->get_by_uid_mid($newData['uid'], $newData['mid']);
         if ($boxData) {
             $newBoxData['id'] = $boxData['id'];
             $boxRemain = $boxData['remain'];
             $newBoxData['remain'] = (double) $boxRemain - (double) $newData['dose'];
             if ($newBoxData['remain'] > 0) {
                 $this->box_model->update($newBoxData);
             } else {
                 $this->take_history_model->del($newID);
                 parent::ajaxError('药品数量不足', -2, array('mid' => $newData['mid']));
             }
         }
         parent::ajaxReturn('take_history_list', $takeArrayGroupByDate);
     } else {
         parent::ajaxError('添加吃药记录失败');
     }
 }