| xqd
@@ -277,8 +277,7 @@ class ApiController extends Controller
|
|
|
|
|
|
if($type == 1){
|
|
|
if($role == 2){
|
|
|
- for ($i=0;$i<=7;$i++){
|
|
|
- if($i == 0) continue;
|
|
|
+ for ($i=1;$i<=7;$i++){
|
|
|
for($j=0;$j<=2;$j++){
|
|
|
$is_self_have = WeekSchedule::where(['docter_id'=>$docter_id,'schedule_type'=>$type,'organization_id'=>$org_id,'week'=>$i,'type'=>$j+1])->count();
|
|
|
$is_other_have = WeekSchedule::where(['docter_id'=>$docter_id,'schedule_type'=>$type,'week'=>$i,'type'=>$j+1])->where('organization_id','!=',$org_id)->count();
|
| xqd
@@ -376,14 +375,14 @@ class ApiController extends Controller
|
|
|
$new_week_data = $week_data;
|
|
|
$new_week_data ['type'] = $i;
|
|
|
$new_week_data ['week'] = $key;
|
|
|
- $k++;
|
|
|
// echo '时间列类型'.($i+1).'----'.$key.'星期数'.'<br>';
|
|
|
foreach ($times[$i-1] as $id){
|
|
|
$new_week_data['time_period_id'] = $id;
|
|
|
- $is_have = WeekSchedule::where(['docter_id'=>$docter_id,'schedule_type'=>$type,'type'=>$i,'week'=>$key,'organization_id'=>$org_id])
|
|
|
+ $is_have = WeekSchedule::where(['docter_id'=>$docter_id,'schedule_type'=>$type,'type'=>$i,'week'=>$key,'time_period_id'=>$id])
|
|
|
->where('time_period_id',$id)->value('id');
|
|
|
if($is_have) continue;
|
|
|
WeekSchedule::insert($new_week_data);
|
|
|
+ $k++;
|
|
|
}
|
|
|
} else if ($schedule == false) {
|
|
|
if($type == 1){
|
| xqd
@@ -393,8 +392,8 @@ class ApiController extends Controller
|
|
|
$is_have = WeekSchedule::where(['docter_id' => 0, 'organization_id' => $org_id, 'schedule_type' => $type,'type'=>$i,'week'=>$key])->whereIn('time_period_id', $times[$i-1])->value('id');
|
|
|
if($is_have) WeekSchedule::where(['docter_id' => 0, 'organization_id' => $org_id, 'schedule_type' => $type,'type'=>$i,'week'=>$key])->whereIn('time_period_id', $times[$i-1])->delete();
|
|
|
}
|
|
|
+// $k++;
|
|
|
}
|
|
|
- $k++;
|
|
|
|
|
|
}
|
|
|
}
|
| xqd
@@ -753,6 +752,7 @@ class ApiController extends Controller
|
|
|
$setting = DocterSetting::where(['docter_id'=>$docter_id,'org_id'=>$org_id])->first();
|
|
|
if($type != 1){
|
|
|
$setting = OrganizationSettings::where(['org_id'=>$org_id])->first();
|
|
|
+ $docter_id = 0;
|
|
|
}
|
|
|
|
|
|
$self_config = object_array(json_decode($setting['service_time']));
|
| xqd
@@ -815,9 +815,7 @@ class ApiController extends Controller
|
|
|
DB::beginTransaction();
|
|
|
try {
|
|
|
//1.删除旧时间段,并删除排班数据
|
|
|
- if($type !=1 ){
|
|
|
- $docter_id = 0;
|
|
|
- }
|
|
|
+
|
|
|
//todo 暂时未删除周排班
|
|
|
self::deleteScheduleInfo($docter_id,$tType,$org_id);
|
|
|
$count = $countArr[$i];
|
| xqd
@@ -1013,6 +1011,7 @@ class ApiController extends Controller
|
|
|
//以周模板进行排班
|
|
|
public static function makeSchedule ($docterId,$orgId,$tType,$schedule,$timePeriods,$serviceNum){
|
|
|
|
|
|
+
|
|
|
if(empty($schedule) || count($schedule) < 58){
|
|
|
$start = strtotime(date('Y-m-1',time()));
|
|
|
$today = date('j',time());
|
| xqd
@@ -1025,37 +1024,44 @@ class ApiController extends Controller
|
|
|
|
|
|
$date = date('Y-m-d',$todayTimer);
|
|
|
$numDate = date('Ymd',$todayTimer);
|
|
|
+ $scheduleData['docter_id'] = $docterId;
|
|
|
$scheduleData['schedule_date'] = $date;
|
|
|
$scheduleData['schedule_day'] = $numDate;
|
|
|
+ $scheduleData['organization_id'] = $orgId;
|
|
|
|
|
|
$scheduleIsHave = Schedule::where($scheduleData)->count();
|
|
|
- if ($scheduleIsHave) continue;
|
|
|
- Schedule::insertGetId($scheduleData);
|
|
|
+ $scheduleData['per_time_num'] = $serviceNum;
|
|
|
+ if (!$scheduleIsHave) Schedule::insert($scheduleData);
|
|
|
+
|
|
|
}
|
|
|
$nextStart = strtotime(date('Y-m-1',strtotime('next month')));
|
|
|
$nextAllDay = date('t',strtotime('nex month'));
|
|
|
|
|
|
-
|
|
|
//第二个月
|
|
|
for($j=1;$j<=$nextAllDay;$j++){
|
|
|
$todayTimer = $nextStart + (($j-1)*86400);
|
|
|
$week = date('N',$todayTimer);
|
|
|
$date = date('Y-m-d',$todayTimer);
|
|
|
$numDate = date('Ymd',$todayTimer);
|
|
|
+ $scheduleData['docter_id'] = $docterId;
|
|
|
$scheduleData['schedule_date'] = $date;
|
|
|
$scheduleData['schedule_day'] = $numDate;
|
|
|
+ $scheduleData['organization_id'] = $orgId;
|
|
|
$scheduleIsHave = Schedule::where($scheduleData)->count();
|
|
|
- if ($scheduleIsHave) continue;
|
|
|
- Schedule::insertGetId($scheduleData);
|
|
|
+ $scheduleData['per_time_num'] = $serviceNum;
|
|
|
+ if (!$scheduleIsHave) Schedule::insert($scheduleData);
|
|
|
+
|
|
|
}
|
|
|
- $schedule = Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_date','>',date('Y-m-d',time()))
|
|
|
+
|
|
|
+ //todo 插入第三个月后的当日号
|
|
|
+
|
|
|
+ $schedule = Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_date','>=',date('Y-m-d',time()))
|
|
|
->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
|
|
|
if($docterId == 0){
|
|
|
- $schedule = Schedule::where(['docter_id'=>0,'organization_id'=>$orgId])->where('schedule_date','>',date('Y-m-d',time()))
|
|
|
+ $schedule = Schedule::where(['docter_id'=>0,'organization_id'=>$orgId])->where('schedule_date','>=',date('Y-m-d',time()))
|
|
|
->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
foreach ($schedule as $id => $date) {
|
|
|
$week = intval(date('N', strtotime($date)));
|
|
|
// echo '医生id '.$docterId.' 机构id '.$orgId.' 周几 '.$week;
|