示例#1
0
 public function getMeetingTime($doctor_id, $date, $tac)
 {
     $minute = 0;
     $start = "";
     if ($tac == "m") {
         $minute = 240;
         $start = "08:00";
     } else {
         $minute = 180;
         $start = "14:00";
     }
     $ret = array();
     $shortday = getDayShortName($date);
     $sql = "select duty_" . $shortday . "_{$tac} count from tb_doctor where id={$doctor_id}";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array($query);
     $count = $result["count"];
     $interval = $minute / $count;
     $sql = "select meeting_time from tb_order where doctor_id={$doctor_id} and meeting_date='{$date}' ";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array_all($query);
     for ($i = 0; $i < $count; $i++) {
         $item = array();
         $str = date("H:i", strtotime("2015-1-1 {$start}:00") + $i * $interval * 60) . "-" . date("H:i", strtotime("2015-1-1 {$start}:00") + ($i + 1) * $interval * 60);
         if (!checkDataInList($result, $str)) {
             $item["val"] = date("H:i", strtotime("2015-1-1 {$start}:00") + $i * $interval * 60);
             $item["str"] = $str;
             $ret[] = $item;
         }
     }
     return $ret;
 }
示例#2
0
 public function createCase($member_id, $doctor_id, $file_id, $request)
 {
     $id = $this->dbmgr->getNewId("tb_member_case");
     $apply_hospital = parameter_filter($request["apply_hospital"]);
     $apply_date = parameter_filter($request["apply_date"]);
     $name = parameter_filter($request["name"]);
     $sexual = parameter_filter($request["sexual"]);
     $age = parameter_filter($request["age"]);
     $category = parameter_filter($request["category"]);
     $way = parameter_filter($request["way"]);
     $urgent = parameter_filter($request["urgent"]);
     $necessary = parameter_filter($request["necessary"]);
     $meeting_date = parameter_filter($request["meeting_date"]);
     $first_result = parameter_filter($request["first_result"]);
     $acresult = parameter_filter($request["result"]);
     $checking = parameter_filter($request["checking"]);
     $solution = parameter_filter($request["solution"]);
     $caution = parameter_filter($request["caution"]);
     $signature = parameter_filter($request["signature"]);
     $status = parameter_filter($request["status"]);
     $summary = parameter_filter($request["summary"]);
     $contact = parameter_filter($request["contact"]);
     $apply_department = parameter_filter($request["apply_department"]);
     $apply_doctor = parameter_filter($request["apply_doctor"]);
     $apply_history = parameter_filter($request["apply_history"]);
     $apply_situation = parameter_filter($request["apply_situation"]);
     $apply_report = parameter_filter($request["apply_report"]);
     $apply_procedure = parameter_filter($request["apply_procedure"]);
     $apply_first_result = parameter_filter($request["apply_first_result"]);
     $contact_tel = parameter_filter($request["contact_tel"]);
     $contact_address = parameter_filter($request["contact_address"]);
     $hospital = parameter_filter($request["hospital"]);
     $department = parameter_filter($request["department"]);
     $tel = parameter_filter($request["tel"]);
     $tac = parameter_filter($request["tac"]);
     $meeting_time = parameter_filter($request["meeting_time"]);
     $meeting_date_mon = getmon(strtotime($meeting_date));
     $dayshort = getDayShortName($meeting_date);
     $dayshorttac = $dayshort . "_" . $tac;
     $sql = "select d.duty_{$dayshorttac} duty,ifnull(dr.{$dayshorttac},0) `use`  from tb_doctor d\nleft join tb_doctor_reserve dr on d.id=dr.doctor_id and dr.first_day='{$meeting_date_mon}'\nwhere d.id={$doctor_id} ";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array($query);
     if ($result["duty"] <= $result["use"]) {
         return "FULLRESERVE";
     }
     $meetweek = getmonsun(strtotime($meeting_date));
     $mon = $meetweek["mon_str_t"];
     $sun = $meetweek["sun_str_t"];
     $sql = "select * from tb_order\nwhere doctor_id={$doctor_id} and status='T' and meeting_date>='{$mon} 0:0:0' and meeting_date<='{$sun} 23:59:59'";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array_all($query);
     if (count($result) > 0) {
         return "RESERVEINWEEK";
     }
     $sql = "select 1 from tb_order where doctor_id={$doctor_id} and meeting_date='{$meeting_date}' and meeting_time='{$meeting_time}'";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array_all($query);
     if (count($result) > 0) {
         return "RESERVED";
     }
     $sql = "INSERT INTO `tb_member_case`\n(`id`,\n`member_id`,`file_id`,`title`,`doctor_id`,`apply_hospital`,`apply_date`,\n`name`,`sexual`,`age`,`category`,`way`,`urgent`,`necessary`,`meeting_date`,\n`first_result`,`position`,`result`,`checking`,`solution`,`caution`,`signature`,`status`,`created_date`,\n`updated_date`,`summary`,`contact`,`apply_department`,`apply_doctor`,`apply_history`,`apply_situation`,\n`apply_report`,`apply_procedure`,`apply_first_result`,`contact_tel`,`contact_address`,`hospital`,`department`,`tel`,`meeting_time`)\nVALUES\n({$id},\n{$member_id},{$file_id},'申请单{$meeting_date}',{$doctor_id},'{$apply_hospital}',\n'{$apply_date}','{$name}','{$sexual}','{$age}','{$category}','{$way}','{$urgent}','{$necessary}',\n'{$meeting_date}','{$first_result}','{$position}','{$acresult}','{$checking}','{$solution}','{$caution}','{$signature}','T',\nnow(),now(),'{$summary}','{$contact}','{$apply_department}','{$apply_doctor}','{$apply_history}',\n'{$apply_situation}','{$apply_report}','{$apply_procedure}','{$apply_first_result}',\n'{$contact_tel}','{$contact_address}','{$hospital}','{$department}','{$tel}','{$meeting_time}');\n";
     $this->dbmgr->begin_trans();
     $this->dbmgr->query($sql);
     $uploadfiles = explode("<||>", $request["uploadfiles"]);
     $attid = $this->dbmgr->getNewId("tb_member_case_attachment");
     foreach ($uploadfiles as $value) {
         if ($value != "") {
             $uploadfile = explode("<~>", $value);
             $filesavename = parameter_filter($uploadfile[0]);
             $filename = parameter_filter($uploadfile[1]);
             $sql = "insert into tb_member_case_attachment (id,case_id,filesavename,filename)\n\t\t\t\tvalues ({$attid},{$id},'{$filesavename}','{$filename}')";
             $this->dbmgr->query($sql);
             $attid++;
         }
     }
     $case_id = $id;
     $sql = "select 1 from tb_doctor_reserve where doctor_id={$doctor_id} and first_day='{$meeting_date_mon}'";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array_all($query);
     if (count($result) == 0) {
         $sql = "insert into tb_doctor_reserve (doctor_id,first_day) values ({$doctor_id},'{$meeting_date_mon}')";
         $this->dbmgr->query($sql);
     }
     $sql = "select price from tb_doctor where id={$doctor_id} ";
     $query = $this->dbmgr->query($sql);
     $result = $this->dbmgr->fetch_array($query);
     $price = $result["price"];
     $id = $this->dbmgr->getNewId("tb_order");
     $order_no = $this->genOrderNo("PT");
     $sql = "insert into tb_order \n\t\t(id,member_id,case_id,price,submit_date,meeting_date,tac,status,\n\t\tcreated_date,created_user,updated_date,updated_user,\n\t\torder_no,doctor_id,meeting_time) values \n\t\t({$id},{$member_id},{$case_id},{$price},now(),'{$meeting_date}','{$tac}','T',\n\t\tnow(),1,now(),1,\n\t\t'{$order_no}',{$doctor_id},'{$meeting_time}' )";
     $this->dbmgr->query($sql);
     $sql = "update tb_doctor_reserve set {$dayshorttac}=ifnull({$dayshorttac},0)+1 \n\t\twhere doctor_id={$doctor_id} and first_day='{$meeting_date_mon}' ";
     $this->dbmgr->query($sql);
     $this->dbmgr->commit_trans();
     return "RIGHT" . $id;
 }