|
@@ -43,6 +43,7 @@ class Appointment extends Permissions
|
|
$data = $model->where($where)->page($post['page']??0, $post['limit']??15)->order('id desc')->select();
|
|
$data = $model->where($where)->page($post['page']??0, $post['limit']??15)->order('id desc')->select();
|
|
foreach ($data as $key => $value) {
|
|
foreach ($data as $key => $value) {
|
|
$value['specialist_name'] = $value->specialist->name;
|
|
$value['specialist_name'] = $value->specialist->name;
|
|
|
|
+ $value['appointment_date_text'] = $value->appointment_date_text;
|
|
$data[$key] = $value;
|
|
$data[$key] = $value;
|
|
}
|
|
}
|
|
return array('code' => 0, 'count' => $count, 'data' => $data);
|
|
return array('code' => 0, 'count' => $count, 'data' => $data);
|
|
@@ -107,7 +108,6 @@ class Appointment extends Permissions
|
|
|
|
|
|
$weeks = $post['weeks']??[];
|
|
$weeks = $post['weeks']??[];
|
|
$weeks = array_keys($weeks);
|
|
$weeks = array_keys($weeks);
|
|
- $weeks = empty($weeks) ? "" : implode(',', $weeks);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
$model = $this->getModel();
|
|
$model = $this->getModel();
|
|
@@ -120,10 +120,9 @@ class Appointment extends Permissions
|
|
|
|
|
|
if (empty($weeks)) {
|
|
if (empty($weeks)) {
|
|
//按时间跨度排号
|
|
//按时间跨度排号
|
|
- //判断是否时间跨度重叠
|
|
|
|
$exits = (new \app\common\model\AppointmentTicket())->where(['provider_id' => $pid, 'appointment_daytime' => [['>=', $post['start_time']], ['<=', $post['end_time']]]])->count();
|
|
$exits = (new \app\common\model\AppointmentTicket())->where(['provider_id' => $pid, 'appointment_daytime' => [['>=', $post['start_time']], ['<=', $post['end_time']]]])->count();
|
|
if ($exits > 0) {
|
|
if ($exits > 0) {
|
|
- $this->error('该时间跨度内,已存在排号,请重新选择时间');
|
|
|
|
|
|
+ $this->error('该时间跨度内,已存在排号,请重新选择放号时间,或删除旧的排号');
|
|
}
|
|
}
|
|
//保存放号设置
|
|
//保存放号设置
|
|
if (false == $model->allowField(true)->save($post)) {
|
|
if (false == $model->allowField(true)->save($post)) {
|
|
@@ -150,10 +149,21 @@ class Appointment extends Permissions
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
} else {
|
|
- //按工作日排号,保存放号设置
|
|
|
|
|
|
+ //按工作日排号
|
|
|
|
+ $appoints = (new \app\common\model\Appointment())->where(['provider_id' => $pid, 'weeks' => ['<>', '']])->select();
|
|
|
|
+ foreach ($appoints as $appoint) {
|
|
|
|
+ foreach ($weeks as $week) {
|
|
|
|
+ if (in_array($week, explode(',', $appoint->weeks))) {
|
|
|
|
+ $week_text = \app\common\model\Appointment::WEEK_TEXTS[$week];
|
|
|
|
+ $this->error("{$week_text} 已存在放号设置,请重新选择时间");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //保存放号设置
|
|
$post['start_time'] = 0;
|
|
$post['start_time'] = 0;
|
|
$post['end_time'] = 0;
|
|
$post['end_time'] = 0;
|
|
- $post['weeks'] = $weeks;
|
|
|
|
|
|
+ $post['weeks'] = implode(',', $weeks);
|
|
if (false == $model->allowField(true)->save($post)) {
|
|
if (false == $model->allowField(true)->save($post)) {
|
|
$this->error('添加失败');
|
|
$this->error('添加失败');
|
|
}
|
|
}
|