zilong пре 4 година
родитељ
комит
9892974ab8
36 измењених фајлова са 805 додато и 81 уклоњено
  1. 82 0
      app/Admin/Controllers/OrdersManagement/InsuranceListController.php
  2. 2 0
      app/Admin/routes.php
  3. 108 76
      app/Community/Controllers/ApiController.php
  4. 55 0
      app/Http/Controllers/Api/V1/DocterController.php
  5. 4 1
      app/Models/DocterTime.php
  6. 3 1
      composer.json
  7. 550 1
      composer.lock
  8. 0 1
      public/cdms/static/css/app.b0dfcc84.css
  9. 0 0
      public/cdms/static/css/chunk-vendors.767f701c.css
  10. BIN
      public/cdms/static/fonts/element-icons.535877f5.woff
  11. BIN
      public/cdms/static/fonts/element-icons.732389de.ttf
  12. 0 0
      public/cdms/static/js/app.276b4888.js
  13. 0 0
      public/cdms/static/js/app.276b4888.js.map
  14. 0 0
      public/cdms/static/js/app.3b5803c5.js
  15. 0 0
      public/cdms/static/js/app.3b5803c5.js.map
  16. 0 0
      public/cdms/static/js/app.545de3dc.js
  17. 0 0
      public/cdms/static/js/app.545de3dc.js.map
  18. 0 0
      public/cdms/static/js/app.6e846b17.js
  19. 0 0
      public/cdms/static/js/app.6e846b17.js.map
  20. 0 0
      public/cdms/static/js/app.72b38eee.js
  21. 0 0
      public/cdms/static/js/app.72b38eee.js.map
  22. 0 0
      public/cdms/static/js/app.76f2e405.js
  23. 0 0
      public/cdms/static/js/app.76f2e405.js.map
  24. 0 0
      public/cdms/static/js/app.857d2f8e.js
  25. 0 0
      public/cdms/static/js/app.857d2f8e.js.map
  26. 0 0
      public/cdms/static/js/app.8edc1b4e.js
  27. 0 0
      public/cdms/static/js/app.8edc1b4e.js.map
  28. 0 0
      public/cdms/static/js/app.907254c1.js
  29. 0 0
      public/cdms/static/js/app.907254c1.js.map
  30. 0 0
      public/cdms/static/js/app.cde6b82d.js
  31. 0 0
      public/cdms/static/js/app.cde6b82d.js.map
  32. 0 0
      public/cdms/static/js/app.e305e70b.js
  33. 0 0
      public/cdms/static/js/app.e305e70b.js.map
  34. 0 0
      public/cdms/static/js/chunk-vendors.feab90c7.js
  35. 0 0
      public/cdms/static/js/chunk-vendors.feab90c7.js.map
  36. 1 1
      resources/views/cdms/schedule.blade.php

+ 82 - 0
app/Admin/Controllers/OrdersManagement/InsuranceListController.php

xqd
@@ -0,0 +1,82 @@
+<?php
+
+namespace App\Admin\Controllers\OrdersManagement;
+
+use App\Models\Order;
+use App\Models\OrderPack;
+use Encore\Admin\Controllers\AdminController;
+use Encore\Admin\Form;
+use Encore\Admin\Grid;
+use Encore\Admin\Show;
+
+class InsuranceListController extends AdminController
+{
+    /**
+     * Title for current resource.
+     *
+     * @var string
+     */
+    protected $title = '保险信息列表';
+
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        $grid = new Grid(new Order());
+        $grid->actions(function ($actions){
+           $actions->disableView();
+           $actions->disableDelete();
+           $need = OrderPack::where('order_id',$actions->row->id)->value('is_need_insurance');
+//           dd($need);
+           if ($actions->row->payment_status != 2 || $need == 0 )
+           {
+               $actions->disableEdit();
+           }
+        });
+        $grid->disableCreateButton();
+        $grid->model()->wherein('product_type',[6]);
+        $grid->model()->orderBy('id','desc');
+        $grid->column('id', __('订单id'))->sortable();
+        $grid->column('orderPack.pack_name', __('服务包名称'));
+        $grid->column('user.nickname', __('用户姓名'));
+        $grid->column('orderPatient.name', __('患者姓名'));
+        $grid->column('orderPatient.sex', __('性别'))->using([0=>'未知',1=>'男',2=>'女']);
+        $grid->column('orderPatient.relationship_type', __('与投保人的关系'))
+            ->using([1=>'父亲',2=>'母亲',3=>'祖父',4=>'祖母',5=>'外祖父',6=>'外祖母',7=>'叔侄',8=>'其他']);
+        $grid->column('orderPatient.patient_id', __('患者id'))->hide();
+        $grid->column('user.phone', __('用户电话'));
+        //保单信息
+        $grid->column('orderPatient.birthday', __('出生日期'));
+        $grid->column('orderPatient.card_type', __('证件类型'))->using([1=>'身份证',2=>'护照']);
+        $grid->column('orderPatient.card_number', __('证件号码'));
+        $grid->column('orderPack.insurance_img_url', __('保单'))->link()->display(function ($url){
+            $img = OrderPack::where('order_id',$this->id)->value('insurance_img_url');
+            if (empty($img))
+            {
+                return '';
+            }
+            else
+            {
+                $herf = '../upload/'.$img;
+                $url = "<a href=$herf target='_blank'>保单查看</a>";
+                return $url;
+            }
+        });
+        $grid->column('orderPatient.social_card_number', __('社保卡号'));
+        $grid->column('order_status', __('订单状态'))->using([1=>'未支付',2=>'待接单',3=>'进行中',4=>'已完成',5=>'已取消']);
+        $grid->column('payment_status', __('支付状态'))->using([1=>'待付款',2=>'已付款',3=>'退款中',4=>'已退款']);
+
+
+        return $grid;
+    }
+
+    protected function form()
+    {
+        $form = new Form(new Order());
+        $form->file('orderPack.insurance_img_url','保单文件')->help('请上传pdf文件')->rules('required');
+        return $form;
+    }
+}

+ 2 - 0
app/Admin/routes.php

xqd
@@ -135,6 +135,8 @@ Route::group([
     $router->resource('service_packs_datails', OrdersManagement\ServicePackDetailsController::class);
     //服务包订单中的服务包订单列表
     $router->resource('service_packs_order_list', OrdersManagement\ServicePackOrderListController::class);
+    //保险信息列表
+    $router->resource('insurance_list', OrdersManagement\InsuranceListController::class);
 
     /*
      * 优惠券管理

+ 108 - 76
app/Community/Controllers/ApiController.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -334,7 +334,7 @@ class ApiController extends Controller
         $org_id = intval(request('org_id'));
         $sType = intval(request('type')); //排班类型 1门诊 2 儿保 3计免
         $data = request('schedulingtime');
-        if($sType == 1){
+        if($sType != 1){
             $docter_id = 0;
         }
         if(empty($org_id) || empty($sType) || empty($data)){
@@ -342,21 +342,18 @@ class ApiController extends Controller
         }
 
         $docter_setting = DocterSetting::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$sType])->first();
-        $serviceNum = 0;
+//        $serviceNum = 0;
         $times = [];
         if(!empty($docter_setting)){
-            $serviceNum = $docter_setting->service_num;
+//            $serviceNum = $docter_setting->service_num;
             $time_period = object_array(json_decode($docter_setting->service_time));
             $allCount = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id])->count();
-            dump($allCount);
             if($allCount == 0) return apiReturn(603,'请设置时间段');
-            echo '查看时间段';
-            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id])->whereBetween('end_time_period',[intval($time_period[1]['amStartTime']),intval($time_period[1]['amEndTime'])])->pluck('id')->toArray();
-            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id])->whereBetween('end_time_period',[intval($time_period[2]['pmStartTime']),intval($time_period[2]['pmEndTime'])])->pluck('id')->toArray();
-            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id])->whereBetween('end_time_period',[intval($time_period[3]['nightStartTime']),intval($time_period[3]['nightEndTime'])])->pluck('id')->toArray();
+            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$sType])->whereBetween('end_time_period',[intval($time_period[1]['amStartTime']),intval($time_period[1]['amEndTime'])])->pluck('id')->toArray();
+            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$sType])->whereBetween('end_time_period',[intval($time_period[2]['pmStartTime']),intval($time_period[2]['pmEndTime'])])->pluck('id')->toArray();
+            $times[] = TimePeriod::where(['docter_id'=>$docter_id,'org_id'=>$org_id,'type'=>$sType])->whereBetween('end_time_period',[intval($time_period[3]['nightStartTime']),intval($time_period[3]['nightEndTime'])])->pluck('id')->toArray();
         }
         if(count($times) < 3){
-            echo '时间段少于三个时间段';
             return apiReturn('603','请配置时间段');
         }
 
@@ -416,59 +413,53 @@ class ApiController extends Controller
             DB::rollBack();
             return apiReturn(602,$e->getLine().'行'.$e->getMessage());
         }
-        self::setmonthScheduel($docter_id,$org_id,$sType,$serviceNum,$times);
+        self::setmonthScheduel($docter_id,$org_id,$sType,$times);
 
         return apiReturn(200,'ok',$k);
     }
 
     //设置月排班
-    public function setmonthScheduel($docterId,$orgId,$sType,$serviceNum,$timePeriods)
+    public function setmonthScheduel($docterId,$orgId,$sType,$timePeriods)
     {
 
         $today = intval(date('Ymd',time()));
         $start = time();
 
         //删除排班
-        $schedule_ids = Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_day','>',$today)->pluck('id')->toArray();
-        Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_day','>',$today)->delete();
+        $schedule_ids = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->where('schedule_day','>',$today)->pluck('id')->toArray();
+//        Schedule::where(['docter_id'=>$docterId])->where('schedule_day','>',$today)->delete();
         //删除具体排班
-        SchedulePeriod::whereIn('schedule_id',$schedule_ids)->delete();
+        SchedulePeriod::where('organization_id',$orgId)->whereIn('schedule_id',$schedule_ids)->delete();
         $allScheduleData = [];
         //插入两个月的数据
         for ($i=1;$i<60;$i++){
-
             $todayTimer = $start + (($i - 1) *86400);
-
             $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;
+            $scheduleData['schedule_type'] = $sType;
 
             $scheduleIsHave = Schedule::where($scheduleData)->count();
-            $scheduleData['per_time_num'] = $serviceNum;
+//            $scheduleData['per_time_num'] = $serviceNum;
             //循环外批量插入
             if (!$scheduleIsHave) $allScheduleData[] = $scheduleData;
         }
         if($allScheduleData) Schedule::insert($allScheduleData);
 
 //        echo '医生id '.$docterId.' 机构id '.$orgId . 'times ';
-        $schedule = Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_date','>=',date('Y-m-d',time()))
+        $schedule = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->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()))
-                ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
-        }
+
         $allData = [];
         for($tType = 1; $tType<=3 ; $tType++){
             foreach ($schedule as $id => $date) {
                 $week = intval(date('N', strtotime($date)));
-                $real_id = WeekSchedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId,'week'=>$week,'type'=>$tType])->first();
+                $real_id = WeekSchedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId,'schedule_type'=>$sType,'week'=>$week,'type'=>$tType])->first();
                 if (!empty($real_id)) {
                     foreach ($timePeriods[$tType-1] as $idt) {
-//                        dump($timePeriods[$tType-1]);
                         $s_t= [
                             'docter_id' => $docterId,
                             'organization_id' => $orgId,
@@ -480,7 +471,7 @@ class ApiController extends Controller
                         ];
 
                         $scheduleIsHave = SchedulePeriod::where($s_t)->count();
-                        $s_t['order_num'] = $serviceNum;
+                        $s_t['order_num'] = 0;
                         if (!$scheduleIsHave) $allData[] = $s_t;
 
                     }
@@ -490,6 +481,12 @@ class ApiController extends Controller
         }
 
         if($allData) SchedulePeriod::insert($allData);
+
+        //删除 Schedule里面SchedulePeriod 没有的日期
+        foreach ($schedule as $date) {
+            $c = SchedulePeriod::where(['docter_id'=>$docterId,'schedule_date'=>$date,'schedule_type'=> $sType])->count();
+            if($c==0) Schedule::where(['docter_id'=>$docterId,'schedule_date'=>$date,'schedule_type' => $sType])->delete();
+        }
         return apiReturn('200','ok');
 
     }
@@ -697,7 +694,7 @@ class ApiController extends Controller
         $Today = date('Y-m-d',time());
 
         //同时服务人数
-        $serviceNum = intval($configData['serviceNum']);
+//        $serviceNum = intval($configData['serviceNum']);
 
         //服务时长
         $serviceTime = intval($configData['timeSpan']);
@@ -739,9 +736,18 @@ class ApiController extends Controller
             3=>['count'=>$configData['nightNum'],'start_time'=>$configData['nightStartTime'],'end_time'=>$configData['nightEndTime']]
         ];
 
+        $times = [
+            1=>[$configData['amStartTime'],$configData['amEndTime']],
+            2=>[$configData['pmStartTime'],$configData['pmEndTime']],
+            3=>[$configData['nightStartTime'],$configData['nightEndTime']],
+        ];
+
         if(!$changeSeviceTime && empty($changeTimer)){
             return apiReturn(603,'数据为改变');
         }
+
+        TimePeriod::where(['org_id'=>$org_id,'type'=>$sType,'docter_id'=>$docter_id])->delete();
+
         for ($i=1;$i<=3;$i++){
             $tType = $i;
             DB::beginTransaction();
@@ -749,20 +755,21 @@ class ApiController extends Controller
                 //1.删除旧时间段,并删除排班数据
 
                 //todo 暂时未删除周排班
-                self::deleteScheduleInfo($docter_id,$tType,$org_id);
+                self::deleteScheduleInfo($docter_id,$sType,$tType,$org_id);
                 $count = $countArr[$i];
                 //2.创建新时间段
-                self::makeTimePeriod($docter_id,$org_id,$tType,$c_r[$tType],$count,$serviceTime);
+                self::makeTimePeriod($docter_id,$org_id,$sType,$c_r[$tType],$count,$serviceTime);
 
                 //检测时间段
 //                $timeCount = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id])->count();
 //                if($timeCount == 0) return apiReturn(603,'请设置时间段');
 
+                $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id, 'type' => $sType])->whereBetween('end_time_period',$times[$tType])->pluck('id')->toArray();
+                $schedule = Schedule::where(['docter_id' => $docter_id,'schedule_type' => $sType])->pluck('schedule_date', 'id')->toArray();
+                $self_schedule = SelfSchedule::where(['docter_id' => 0, 'schedule_type' => $sType,'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
+                    ->orderBy('schedule_date')->where('schedule_date','>',$Today)->get(['schedule_date', 'type', 'week'])->toArray();
+
                 if($sType == 1){
-                    $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => $docter_id, 'type' => $tType])->pluck('id')->toArray();
-                    $self_schedule = SelfSchedule::where(['docter_id' => $docter_id, 'schedule_type' => $sType, 'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
-                        ->orderBy('schedule_date')->get(['schedule_date', 'type', 'week'])->toArray();
-                    $schedule = Schedule::where(['docter_id' => $docter_id, 'organization_id'=>0])->pluck('schedule_date', 'id')->toArray();
                     $week_schedule = WeekSchedule::where(['docter_id' => $docter_id, 'type' => $tType,'schedule_type'=>$sType])
                         ->distinct('type')
                         ->orderBy('week')
@@ -770,10 +777,7 @@ class ApiController extends Controller
                         ->GroupBy('week')
                         ->toArray();
                 } else {
-                    $time_periods = TimePeriod::where(['org_id' => $org_id, 'docter_id' => 0, 'type' => $tType])->pluck('id')->toArray();
-                    $schedule = Schedule::where(['docter_id' => 0, 'organization_id'=>$org_id])->pluck('schedule_date', 'id')->toArray();
-                    $self_schedule = SelfSchedule::where(['docter_id' => 0, 'schedule_type' => $sType,'organization_id'=>$org_id,'type' =>$tType])->distinct('type')
-                        ->orderBy('schedule_date')->where('schedule_date','>',$Today)->get(['schedule_date', 'type', 'week'])->toArray();
+
                     $week_schedule = WeekSchedule::where(['organization_id' =>$org_id, 'type' => $tType,'schedule_type'=>$sType])
                         ->distinct('type')
                         ->orderBy('week')
@@ -788,7 +792,7 @@ class ApiController extends Controller
                     // SelfSchedule::where(['docter_id' => $docter_id])->delete();
                 } else {
                     //3.以周模板添加2个月的数据
-                    self::makeSchedule($sType,$docter_id,$org_id,$tType,$schedule,$time_periods,$serviceNum);
+                    self::makeSchedule($sType,$docter_id,$org_id,$tType,$schedule,$time_periods);
 
                     //4.恢复自己设置的排班
                     self::makeSelfScheeule($docter_id,$org_id,$sType,$tType,$time_periods,$self_schedule);
@@ -894,36 +898,39 @@ class ApiController extends Controller
      * $type int 排班类型
      * @descript 删除排班数据
      */
-    public static function deleteScheduleInfo($docter_id,$timeType,$orgId=0){
+    public static function deleteScheduleInfo($docter_id,$sType,$timeType,$orgId=0){
         if($docter_id != 0){
-            TimePeriod::where(['docter_id'=>$docter_id,'type'=>$timeType,'org_id'=>$orgId])->delete();
             SchedulePeriod::where(['docter_id'=>$docter_id,'type'=>$timeType])->where('organization_id','=',$orgId)->delete();
         } else {
-            TimePeriod::where(['org_id'=>$orgId,'type'=>$timeType,'docter_id'=>$docter_id])->delete();
             SchedulePeriod::where(['organization_id'=>$orgId,'type'=>$timeType])->where('docter_id',0)->delete();
         }
         return true;
     }
 
     //插入时间段
-    public static function makeTimePeriod($docterId,$orgId,$timeType,$timeConfig,$timerCount,$serviceTime)
+    public static function makeTimePeriod($docterId,$orgId,$sType,$timeConfig,$timerCount,$serviceTime)
     {
         for($i=1;$i<=$timerCount;$i++){
             $timePreiod = [
                 'org_id'=>$orgId,
                 'docter_id'=>$docterId,
-                'type'=>$timeType,
+                'type'=>$sType,
                 'start_time_period'=> date('H:i',strtotime($timeConfig['start_time']) + ($i-1)*$serviceTime*60),
                 'end_time_period'=> date('H:i',strtotime($timeConfig['start_time']) + $i*$serviceTime*60),
             ];
             $isHave = TimePeriod::where($timePreiod)->count();
-            if($isHave == 0) TimePeriod::insert($timePreiod);
+//            dump($timePreiod);
+//            dump($isHave);
+
+            if($isHave == 0)        $allData[] = $timePreiod;
         }
+        dump($allData);
+        dump(TimePeriod::insert($allData));
         return true;
     }
 
     //以周模板进行排班
-    public static function makeSchedule ($sType,$docterId,$orgId,$tType,$schedule,$timePeriods,$serviceNum){
+    public static function makeSchedule ($sType,$docterId,$orgId,$tType,$schedule,$timePeriods){
 
         if(empty($schedule) || count($schedule) < 58){
             $start = strtotime(date('Y-m-1',time()));
@@ -940,13 +947,14 @@ class ApiController extends Controller
                 $scheduleData['docter_id'] = $docterId;
                 $scheduleData['schedule_date'] = $date;
                 $scheduleData['schedule_day'] = $numDate;
-                $scheduleData['organization_id'] = $orgId;
+                $scheduleData['schedule_type'] = $sType;
 
                 $scheduleIsHave = Schedule::where($scheduleData)->count();
-                $scheduleData['per_time_num'] = $serviceNum;
+//                $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'));
 
@@ -959,19 +967,19 @@ class ApiController extends Controller
                 $scheduleData['docter_id'] = $docterId;
                 $scheduleData['schedule_date'] = $date;
                 $scheduleData['schedule_day'] = $numDate;
-                $scheduleData['organization_id'] = $orgId;
+                $scheduleData['schedule_type'] = $sType;
                 $scheduleIsHave = Schedule::where($scheduleData)->count();
-                $scheduleData['per_time_num'] = $serviceNum;
+//                $scheduleData['per_time_num'] = $serviceNum;
                 if (!$scheduleIsHave)  Schedule::insert($scheduleData);
             }
 
             //todo 插入第三个月后的当日号
-            $schedule = Schedule::where(['docter_id'=>$docterId,'organization_id'=>$orgId])->where('schedule_date','>=',date('Y-m-d',time()))
+            $schedule = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType])->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()))
-                    ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
-            }
+//            if($docterId == 0){
+//                $schedule = Schedule::where(['docter_id'=>0,'schedule_type'=>$sType])->where('schedule_date','>=',date('Y-m-d',time()))
+//                    ->distinct('schedule_date')->pluck('schedule_date','id')->toArray();
+//            }
         }
 
         //
@@ -993,7 +1001,7 @@ class ApiController extends Controller
                             'time_period_id' => $idt
                         ];
                         $scheduleIsHave = SchedulePeriod::where($s_t)->count();
-                        $s_t['order_num'] = $serviceNum;
+                        $s_t['order_num'] = 0;
                         if ($scheduleIsHave) continue;
                         $allData []  = $s_t;
                     }
@@ -1008,8 +1016,7 @@ class ApiController extends Controller
     public static function makeSelfScheeule($docterId,$orgId,$sType,$timeType,$timesPeriods,$selfSchedule){
 
         $date = date('Y-m-d',time());
-//        dump($selfSchedule);
-//        dump($timesPeriods);
+
         //删除自己排班数据
         SelfSchedule::where(['type'=>$timeType,'docter_id'=>$docterId,'organization_id'=>$orgId,'schedule_type'=>$sType])->where('schedule_date','>',$date)->delete();
         $allData = [];
@@ -1018,14 +1025,27 @@ class ApiController extends Controller
             $self_data['organization_id'] = $orgId;
             $self_data['docter_id'] = $docterId;
             $self_data['schedule_type'] = $sType;
+            $s_id = Schedule::where(['docter_id'=>$docterId,'schedule_type'=>$sType,'schedule_date'=>$val['schedule_date']])->value('id');
+            $numDay = intval(str_replace('-','',$val['schedule_date']));
+//            if(empty($s_id)) {
+//                Schedule::insert(['docter_id'=>$docterId,'organization_id'=>$orgId,'schedule_date'=>$val['schedule_date'],'schedule_day'=>$numDay]);
+//            }
+            SchedulePeriod::where(['schedule_id'=>$s_id])->whereIn('time_period_id',$timesPeriods)->delete();
+
             foreach ($timesPeriods as $id) {
                 $self_data['time_period_id'] = $id;
                 $is_self_have = SelfSchedule::where($self_data)->count();
-                if ($is_self_have) continue;
+                if($is_self_have) continue;
+                $self_data['schedule_id'] = $s_id;
+                if(empty($s_id)) continue;
+                $is_schedule_period = SchedulePeriod::where($self_data)->count();
+
+                $allScheduleData [] = $self_data;
                 $allData[] =$self_data;
             }
         }
         if(!empty($allData)) SelfSchedule::insert($allData);
+        if(!empty($allScheduleData)) SchedulePeriod::insert($allScheduleData);
     }
 
 
@@ -1035,53 +1055,59 @@ class ApiController extends Controller
         //todo 上线取消默认值
         $schdule_data = request('schedule_data');
         $docter_id = intval(request('docter_id'));
-        $type = intval(request('type'));//排班类型 1门诊 2...
+        $sType = intval(request('type'));//排班类型 1门诊 2...
         $org_id = intval(request('org_id'));
         $date = request('date');
+        if($sType !=1){
+            $docter_id = 0;
+        }
         //判断排班类型
 
-        if(empty($schdule_data) || !isset($org_id) || empty($type)){
+        if(empty($schdule_data) || !isset($org_id) || empty($sType)){
             return apiReturn(601,'缺少必要参数');
         }
         //获取医生排班配置
         $schedule = object_array(json_decode($schdule_data));
         //默认为门诊排班医生配置
-        $setting = self::getSetting($type,$docter_id,$org_id);
+        $setting = self::getSetting($sType,$docter_id,$org_id);
         if(empty($setting)){
-            self::setDefultSetting($type,$docter_id,$org_id);
-            $setting = self::getSetting($type,$docter_id,$org_id);
+            self::setDefultSetting($sType,$docter_id,$org_id);
+            $setting = self::getSetting($sType,$docter_id,$org_id);
         }
 
+        $self_config = object_array(json_decode($setting['service_time']));
+
+        $times = [
+            [$self_config[1]['amStartTime'],$self_config[1]['amEndTime']],
+            [$self_config[2]['pmStartTime'],$self_config[2]['pmEndTime']],
+            [$self_config[3]['nightStartTime'],$self_config[3]['nightEndTime']],
+        ];
 
 //        $schdule_data = [
 //            ['status'=>true,'type'=>1,'start'=>"09:00",'end'=>'11:30','date'=>15,'week'=>1],
 //            ['status'=>true,'type'=>2,'start'=>'13:30','end'=>'16:30','date'=>15,'week'=>1],
 //            ['status'=>false,'type'=>3,'start'=>'19:30','end'=>'21:00','date'=>15,'week'=>1],
 //        ];
-
-        if($type != 1){
-            $docter_id = 0;
-        }
+        $time_t = [];
 //        echo '社区id  '.$org_id.' 医生id  '.$docter_id;
         DB::beginTransaction();
         try {
             foreach ($schedule['schedulelingList'] as $t=>$v){
 
+
                 $today = $schedule['day'];
-                $week =$schedule['week'];
+                $week = intval($schedule['week']);
 
                 if($v['status'] == true){
                     $num_date = intval(date('Ymd',strtotime($today)));
-                    $sche_data = ['docter_id'=>intval($docter_id),'organization_id'=>$org_id,'schedule_date'=>$today,'schedule_day'=>$num_date];
+                    $sche_data = ['docter_id'=>intval($docter_id),'schedule_type'=>$sType,'schedule_date'=>$today,'schedule_day'=>$num_date];
                     //判断是否有排班信息
                     $s_id = Schedule::where($sche_data)->count();
                     if(!$s_id){
-                        Schedule::insert($sche_data);
+                        $s_id = Schedule::insertGetId($sche_data);
                     }
-
                     //获取时间段
-                    $timeperiods = TimePeriod::where(['docter_id'=>intval($docter_id),'org_id'=>intval($org_id),'type'=>intval($v['type'])])->pluck('id')->toArray();
-
+                    $timeperiods = TimePeriod::where(['docter_id'=>intval($docter_id),'org_id'=>intval($org_id),'type'=>$sType])->whereBetween('end_time_period',$times[$t])->pluck('id')->toArray();
                     if(empty($timeperiods)){
                         return apiReturn(603,'没有时间段');
 //                        self::setTimeperiod($type,$docter_id,$org_id);
@@ -1096,7 +1122,7 @@ class ApiController extends Controller
                             'week'=>$week,
                             'type'=>$v['type'],
                             'schedule_date'=>$today,
-                            'schedule_type'=>$type,
+                            'schedule_type'=>$sType,
                             'docter_id'=>$docter_id,
                         ];
 
@@ -1105,6 +1131,11 @@ class ApiController extends Controller
                         $self_count = SelfSchedule::where($data)->count();
                         if(!$self_count) SelfSchedule::insert($data);
 
+                        unset($data['week']);
+                        $data['schedule_id']=$s_id;
+                        $is_schedule_period = SchedulePeriod::where($data)->count();
+                        if(!$is_schedule_period) SchedulePeriod::insert($data);
+
                     }
 
                 } else if($v['status'] == false){
@@ -1113,7 +1144,7 @@ class ApiController extends Controller
                         'week'=>$week,
                         'type'=>$v['type'],
                         'docter_id'=>$docter_id,
-                        'schedule_type'=>$type,
+                        'schedule_type'=>$sType,
                         'schedule_date'=>$today
                     ];
 //                    dump($data);
@@ -1121,6 +1152,7 @@ class ApiController extends Controller
                     $self_count = SelfSchedule::where($data)->count();
                     if($self_count) SelfSchedule::where($data)->delete();
 
+
                     unset($data['week']);
                     //删除详细排班
                     $count_period = SchedulePeriod::where($data)->count();
@@ -1132,7 +1164,7 @@ class ApiController extends Controller
 //                    if(!$week_schedule) continue;
 //
 //                    //删除排班日期
-                        $s_id = Schedule::where(['schedule_date'=>$today,'docter_id'=>$docter_id,'organization_id'=>$org_id])->value('id');
+                        $s_id = Schedule::where(['schedule_date'=>$today,'schedule_type'=>$sType,'docter_id'=>$docter_id])->value('id');
                         unset($data['type']);
                         $scount = SelfSchedule::where($data)->count();
                         $pcount = SchedulePeriod::where($data)->count();

+ 55 - 0
app/Http/Controllers/Api/V1/DocterController.php

xqd
@@ -214,6 +214,61 @@ class DocterController extends AuthController
         return out($data);
     }
 
+//    public function schedulePeriodList()
+//    {
+//        $req = request()->post();
+//        $this->validate(request(), [
+//            'docter_id' => 'required|integer',
+//            'organization_id' => 'integer',
+//            'per_page' => 'integer',
+//            'latitude' => 'numeric',
+//            'longitude' => 'numeric',
+//        ]);
+//        $user = $this->user;
+//        $builder = schedulePeriod::with(['timePeriod', 'organization'])->where('docter_id', $req['docter_id'])->where('schedule_date', '>=', date('Y-m-d'));
+//        if (!empty($req['organization_id'])) {
+//            $builder->where('organization_id', $req['organization_id']);
+//        }
+//        $data = $builder->paginate($req['per_page']??15)->toArray();
+//        //日期有重复,不同机构排班
+//        $newdata = array();
+//        if (!empty($data)) {
+////            foreach ($data['data'] as $k => &$v) {
+//                foreach ($data as $k1 => $v1) {
+//                    if (!empty($v1['organization'])) {
+//                        $v1['organization']['distance'] = get_user_distance($user, $v1['organization']['latitude'], $v1['organization']['longitude']);
+//                    }
+//                    $docterSettings = DocterSetting::select(['service_num'])->where('docter_id', $req['docter_id'])->where('type', 1)->where('org_id', $v1['organization_id'])->first();
+//                    if (empty($docterSettings)) {
+//                        $v1['can_appoint_num'] = 0;
+//                    }
+//                    else {
+//                        $can_appoint_num = $docterSettings['service_num'] - $v1['order_num'];
+//                        $v1['can_appoint_num'] = $can_appoint_num < 0 ? 0 : $can_appoint_num;
+//                    }
+//
+//                    if(empty($newdata[$v1['time_period']])){
+//                        $newdata[$v1['schedule_date']] = $v1;
+//                    }else{
+//                        $newd = $newdata[$v1['schedule_date']];
+//                        foreach ($newd['time_period'] as $k2 => $v2) {
+//                            array_push($v1['time_period'],$v2);
+//                        }
+//                        $newdata[$v['schedule_date']] = $v1;
+//
+//                    }
+//                }
+//
+////            }
+//        }
+//        $res = array();
+//        foreach ($newdata as $v) {
+//            if (!empty($v['time_period']))$res[] = $v;
+//        }
+//
+//        return out($res);
+//    }
+
     public function timePeriodList()
     {
         $req = request()->post();

+ 4 - 1
app/Models/DocterTime.php

xqd
@@ -10,5 +10,8 @@ namespace App\Models;
 
 class DocterTime extends BaseModel
 {
-    
+  	public function docter()
+    {
+        return $this->hasOne(Docter::class, 'id', 'docter_id');
+    }
 }

+ 3 - 1
composer.json

xqd
@@ -9,10 +9,12 @@
     "license": "MIT",
     "require": {
         "php": "^7.2",
+        "alibabacloud/client": "^1.5",
+        "alibabacloud/sdk": "^1.8",
         "encore/laravel-admin": "1.*",
         "alibabacloud/client": "^1.5",
         "alibabacloud/sdk": "^1.8",
-        "encore/laravel-admin": "^2.0",
+        "encore/laravel-admin": "^1.8",
         "fideloper/proxy": "^4.0",
         "jxlwqq/wang-editor2": "^1.0",
         "laravel-admin-ext/grid-lightbox": "^1.0",

+ 550 - 1
composer.lock

xqd xqd
@@ -4,8 +4,496 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "25742195beec021de3cb3346cb03e874",
+    "content-hash": "61821a1c04dd903188d4c13d668a8a02",
     "packages": [
+        {
+            "name": "adbario/php-dot-notation",
+            "version": "2.2.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/adbario/php-dot-notation.git",
+                "reference": "eee4fc81296531e6aafba4c2bbccfc5adab1676e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/adbario/php-dot-notation/zipball/eee4fc81296531e6aafba4c2bbccfc5adab1676e",
+                "reference": "eee4fc81296531e6aafba4c2bbccfc5adab1676e",
+                "shasum": ""
+            },
+            "require": {
+                "ext-json": "*",
+                "php": ">=5.5"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.0|^5.0|^6.0",
+                "squizlabs/php_codesniffer": "^3.0"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/helpers.php"
+                ],
+                "psr-4": {
+                    "Adbar\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Riku Särkinen",
+                    "email": "riku@adbar.io"
+                }
+            ],
+            "description": "PHP dot notation access to arrays",
+            "homepage": "https://github.com/adbario/php-dot-notation",
+            "keywords": [
+                "ArrayAccess",
+                "dotnotation"
+            ],
+            "support": {
+                "issues": "https://github.com/adbario/php-dot-notation/issues",
+                "source": "https://github.com/adbario/php-dot-notation/tree/2.x"
+            },
+            "time": "2019-01-01T23:59:15+00:00"
+        },
+        {
+            "name": "alibabacloud/client",
+            "version": "1.5.29",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/aliyun/openapi-sdk-php-client.git",
+                "reference": "2d0137828ef5c44664dcb8cc90eac4f545dd3301"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/aliyun/openapi-sdk-php-client/zipball/2d0137828ef5c44664dcb8cc90eac4f545dd3301",
+                "reference": "2d0137828ef5c44664dcb8cc90eac4f545dd3301",
+                "shasum": ""
+            },
+            "require": {
+                "adbario/php-dot-notation": "^2.2",
+                "clagiordano/weblibs-configmanager": "^1.0",
+                "danielstjules/stringy": "^3.1",
+                "ext-curl": "*",
+                "ext-json": "*",
+                "ext-libxml": "*",
+                "ext-mbstring": "*",
+                "ext-openssl": "*",
+                "ext-simplexml": "*",
+                "ext-xmlwriter": "*",
+                "guzzlehttp/guzzle": "^6.3|^7.0",
+                "mtdowling/jmespath.php": "^2.5",
+                "php": ">=5.5"
+            },
+            "require-dev": {
+                "composer/composer": "^1.8",
+                "drupal/coder": "^8.3",
+                "ext-dom": "*",
+                "ext-pcre": "*",
+                "ext-sockets": "*",
+                "ext-spl": "*",
+                "league/climate": "^3.2.4",
+                "mikey179/vfsstream": "^1.6",
+                "monolog/monolog": "^1.24",
+                "phpunit/phpunit": "^5.7.27",
+                "psr/cache": "^1.0",
+                "symfony/dotenv": "^3.4",
+                "symfony/var-dumper": "^3.4"
+            },
+            "suggest": {
+                "ext-sockets": "To use client-side monitoring"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "AlibabaCloud\\Client\\": "src"
+                },
+                "files": [
+                    "src/Functions.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Apache-2.0"
+            ],
+            "authors": [
+                {
+                    "name": "Alibaba Cloud SDK",
+                    "email": "sdk-team@alibabacloud.com",
+                    "homepage": "http://www.alibabacloud.com"
+                }
+            ],
+            "description": "Alibaba Cloud Client for PHP - Use Alibaba Cloud in your PHP project",
+            "homepage": "https://www.alibabacloud.com/",
+            "keywords": [
+                "alibaba",
+                "alibabacloud",
+                "aliyun",
+                "client",
+                "cloud",
+                "library",
+                "sdk",
+                "tool"
+            ],
+            "support": {
+                "issues": "https://github.com/aliyun/openapi-sdk-php-client/issues",
+                "source": "https://github.com/aliyun/openapi-sdk-php-client"
+            },
+            "time": "2020-08-03T06:19:07+00:00"
+        },
+        {
+            "name": "alibabacloud/sdk",
+            "version": "1.8.778",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/aliyun/openapi-sdk-php.git",
+                "reference": "61b7da491d5ff454057740e97d6430bc179cd405"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/aliyun/openapi-sdk-php/zipball/61b7da491d5ff454057740e97d6430bc179cd405",
+                "reference": "61b7da491d5ff454057740e97d6430bc179cd405",
+                "shasum": ""
+            },
+            "require": {
+                "alibabacloud/client": "^1.5",
+                "ext-curl": "*",
+                "ext-json": "*",
+                "ext-libxml": "*",
+                "ext-mbstring": "*",
+                "ext-openssl": "*",
+                "ext-simplexml": "*",
+                "ext-xmlwriter": "*",
+                "php": ">=5.5"
+            },
+            "replace": {
+                "alibabacloud/aas": "self.version",
+                "alibabacloud/actiontrail": "self.version",
+                "alibabacloud/adb": "self.version",
+                "alibabacloud/aegis": "self.version",
+                "alibabacloud/afs": "self.version",
+                "alibabacloud/airec": "self.version",
+                "alibabacloud/alidns": "self.version",
+                "alibabacloud/alikafka": "self.version",
+                "alibabacloud/alimt": "self.version",
+                "alibabacloud/aliprobe": "self.version",
+                "alibabacloud/aliyuncvc": "self.version",
+                "alibabacloud/appmallsservice": "self.version",
+                "alibabacloud/arms": "self.version",
+                "alibabacloud/arms4finance": "self.version",
+                "alibabacloud/baas": "self.version",
+                "alibabacloud/batchcompute": "self.version",
+                "alibabacloud/bss": "self.version",
+                "alibabacloud/bssopenapi": "self.version",
+                "alibabacloud/cas": "self.version",
+                "alibabacloud/cbn": "self.version",
+                "alibabacloud/ccc": "self.version",
+                "alibabacloud/ccs": "self.version",
+                "alibabacloud/cdn": "self.version",
+                "alibabacloud/cds": "self.version",
+                "alibabacloud/cf": "self.version",
+                "alibabacloud/chatbot": "self.version",
+                "alibabacloud/cloudapi": "self.version",
+                "alibabacloud/cloudauth": "self.version",
+                "alibabacloud/cloudesl": "self.version",
+                "alibabacloud/cloudmarketing": "self.version",
+                "alibabacloud/cloudphoto": "self.version",
+                "alibabacloud/cloudwf": "self.version",
+                "alibabacloud/cms": "self.version",
+                "alibabacloud/commondriver": "self.version",
+                "alibabacloud/companyreg": "self.version",
+                "alibabacloud/cr": "self.version",
+                "alibabacloud/crm": "self.version",
+                "alibabacloud/cs": "self.version",
+                "alibabacloud/csb": "self.version",
+                "alibabacloud/cusanalyticsconline": "self.version",
+                "alibabacloud/dataworkspublic": "self.version",
+                "alibabacloud/dbs": "self.version",
+                "alibabacloud/dcdn": "self.version",
+                "alibabacloud/dds": "self.version",
+                "alibabacloud/democenter": "self.version",
+                "alibabacloud/dm": "self.version",
+                "alibabacloud/dmsenterprise": "self.version",
+                "alibabacloud/domain": "self.version",
+                "alibabacloud/domainintl": "self.version",
+                "alibabacloud/drcloud": "self.version",
+                "alibabacloud/drds": "self.version",
+                "alibabacloud/dts": "self.version",
+                "alibabacloud/dybaseapi": "self.version",
+                "alibabacloud/dyplsapi": "self.version",
+                "alibabacloud/dypnsapi": "self.version",
+                "alibabacloud/dysmsapi": "self.version",
+                "alibabacloud/dyvmsapi": "self.version",
+                "alibabacloud/eci": "self.version",
+                "alibabacloud/ecs": "self.version",
+                "alibabacloud/ecsinc": "self.version",
+                "alibabacloud/edas": "self.version",
+                "alibabacloud/ehpc": "self.version",
+                "alibabacloud/elasticsearch": "self.version",
+                "alibabacloud/emr": "self.version",
+                "alibabacloud/ess": "self.version",
+                "alibabacloud/facebody": "self.version",
+                "alibabacloud/fnf": "self.version",
+                "alibabacloud/foas": "self.version",
+                "alibabacloud/ft": "self.version",
+                "alibabacloud/goodstech": "self.version",
+                "alibabacloud/gpdb": "self.version",
+                "alibabacloud/green": "self.version",
+                "alibabacloud/hbase": "self.version",
+                "alibabacloud/hiknoengine": "self.version",
+                "alibabacloud/hpc": "self.version",
+                "alibabacloud/hsm": "self.version",
+                "alibabacloud/httpdns": "self.version",
+                "alibabacloud/idst": "self.version",
+                "alibabacloud/imageaudit": "self.version",
+                "alibabacloud/imageenhan": "self.version",
+                "alibabacloud/imagerecog": "self.version",
+                "alibabacloud/imagesearch": "self.version",
+                "alibabacloud/imageseg": "self.version",
+                "alibabacloud/imm": "self.version",
+                "alibabacloud/industrybrain": "self.version",
+                "alibabacloud/iot": "self.version",
+                "alibabacloud/iqa": "self.version",
+                "alibabacloud/itaas": "self.version",
+                "alibabacloud/ivision": "self.version",
+                "alibabacloud/ivpd": "self.version",
+                "alibabacloud/jaq": "self.version",
+                "alibabacloud/jarvis": "self.version",
+                "alibabacloud/jarvispublic": "self.version",
+                "alibabacloud/kms": "self.version",
+                "alibabacloud/linkedmall": "self.version",
+                "alibabacloud/linkface": "self.version",
+                "alibabacloud/linkwan": "self.version",
+                "alibabacloud/live": "self.version",
+                "alibabacloud/lubancloud": "self.version",
+                "alibabacloud/lubanruler": "self.version",
+                "alibabacloud/market": "self.version",
+                "alibabacloud/mopen": "self.version",
+                "alibabacloud/mpserverless": "self.version",
+                "alibabacloud/mts": "self.version",
+                "alibabacloud/multimediaai": "self.version",
+                "alibabacloud/nas": "self.version",
+                "alibabacloud/netana": "self.version",
+                "alibabacloud/nlp": "self.version",
+                "alibabacloud/nlpautoml": "self.version",
+                "alibabacloud/nlscloudmeta": "self.version",
+                "alibabacloud/nlsfiletrans": "self.version",
+                "alibabacloud/objectdet": "self.version",
+                "alibabacloud/ocr": "self.version",
+                "alibabacloud/ocs": "self.version",
+                "alibabacloud/oms": "self.version",
+                "alibabacloud/ons": "self.version",
+                "alibabacloud/onsmqtt": "self.version",
+                "alibabacloud/oos": "self.version",
+                "alibabacloud/openanalytics": "self.version",
+                "alibabacloud/ossadmin": "self.version",
+                "alibabacloud/ots": "self.version",
+                "alibabacloud/outboundbot": "self.version",
+                "alibabacloud/petadata": "self.version",
+                "alibabacloud/polardb": "self.version",
+                "alibabacloud/productcatalog": "self.version",
+                "alibabacloud/pts": "self.version",
+                "alibabacloud/push": "self.version",
+                "alibabacloud/pvtz": "self.version",
+                "alibabacloud/qualitycheck": "self.version",
+                "alibabacloud/ram": "self.version",
+                "alibabacloud/rds": "self.version",
+                "alibabacloud/reid": "self.version",
+                "alibabacloud/retailcloud": "self.version",
+                "alibabacloud/rkvstore": "self.version",
+                "alibabacloud/ros": "self.version",
+                "alibabacloud/rtc": "self.version",
+                "alibabacloud/saf": "self.version",
+                "alibabacloud/sas": "self.version",
+                "alibabacloud/sasapi": "self.version",
+                "alibabacloud/scdn": "self.version",
+                "alibabacloud/schedulerx2": "self.version",
+                "alibabacloud/skyeye": "self.version",
+                "alibabacloud/slb": "self.version",
+                "alibabacloud/smartag": "self.version",
+                "alibabacloud/smc": "self.version",
+                "alibabacloud/sms": "self.version",
+                "alibabacloud/smsintl": "self.version",
+                "alibabacloud/snsuapi": "self.version",
+                "alibabacloud/sts": "self.version",
+                "alibabacloud/taginner": "self.version",
+                "alibabacloud/tesladam": "self.version",
+                "alibabacloud/teslamaxcompute": "self.version",
+                "alibabacloud/teslastream": "self.version",
+                "alibabacloud/ubsms": "self.version",
+                "alibabacloud/ubsmsinner": "self.version",
+                "alibabacloud/uis": "self.version",
+                "alibabacloud/unimkt": "self.version",
+                "alibabacloud/visionai": "self.version",
+                "alibabacloud/vod": "self.version",
+                "alibabacloud/voicenavigator": "self.version",
+                "alibabacloud/vpc": "self.version",
+                "alibabacloud/vs": "self.version",
+                "alibabacloud/wafopenapi": "self.version",
+                "alibabacloud/welfareinner": "self.version",
+                "alibabacloud/xspace": "self.version",
+                "alibabacloud/xtrace": "self.version",
+                "alibabacloud/yqbridge": "self.version",
+                "alibabacloud/yundun": "self.version"
+            },
+            "require-dev": {
+                "composer/composer": "^1.8",
+                "league/climate": "^3.2.4",
+                "phpunit/phpunit": "^4.8",
+                "symfony/dotenv": "^3.4",
+                "symfony/var-dumper": "^3.4"
+            },
+            "suggest": {
+                "ext-sockets": "To use client-side monitoring"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "AlibabaCloud\\": "src"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Apache-2.0"
+            ],
+            "authors": [
+                {
+                    "name": "Alibaba Cloud SDK",
+                    "email": "sdk-team@alibabacloud.com",
+                    "homepage": "http://www.alibabacloud.com"
+                }
+            ],
+            "description": "Alibaba Cloud SDK for PHP - Easier to Use Alibaba Cloud in your PHP project",
+            "homepage": "https://www.alibabacloud.com/",
+            "keywords": [
+                "alibaba",
+                "alibabacloud",
+                "aliyun",
+                "cloud",
+                "library",
+                "sdk"
+            ],
+            "support": {
+                "issues": "https://github.com/aliyun/openapi-sdk-php/issues",
+                "source": "https://github.com/aliyun/openapi-sdk-php"
+            },
+            "time": "2020-12-30T06:38:37+00:00"
+        },
+        {
+            "name": "clagiordano/weblibs-configmanager",
+            "version": "v1.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/clagiordano/weblibs-configmanager.git",
+                "reference": "ecf584f5b3a27929175ff0abdba52f0131bef795"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/clagiordano/weblibs-configmanager/zipball/ecf584f5b3a27929175ff0abdba52f0131bef795",
+                "reference": "ecf584f5b3a27929175ff0abdba52f0131bef795",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.4"
+            },
+            "require-dev": {
+                "clagiordano/phpunit-result-printer": "^1",
+                "phpunit/phpunit": "^4.8"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "clagiordano\\weblibs\\configmanager\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "LGPL-3.0-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "Claudio Giordano",
+                    "email": "claudio.giordano@autistici.org",
+                    "role": "Developer"
+                }
+            ],
+            "description": "weblibs-configmanager is a tool library for easily read and access to php config array file and direct read/write configuration file / object",
+            "keywords": [
+                "clagiordano",
+                "configuration",
+                "manager",
+                "tool",
+                "weblibs"
+            ],
+            "support": {
+                "issues": "https://github.com/clagiordano/weblibs-configmanager/issues",
+                "source": "https://github.com/clagiordano/weblibs-configmanager/tree/v1.1.0"
+            },
+            "time": "2020-07-20T20:39:25+00:00"
+        },
+        {
+            "name": "danielstjules/stringy",
+            "version": "3.1.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/danielstjules/Stringy.git",
+                "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/danielstjules/Stringy/zipball/df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e",
+                "reference": "df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.4.0",
+                "symfony/polyfill-mbstring": "~1.1"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~4.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "Stringy\\": "src/"
+                },
+                "files": [
+                    "src/Create.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Daniel St. Jules",
+                    "email": "danielst.jules@gmail.com",
+                    "homepage": "http://www.danielstjules.com"
+                }
+            ],
+            "description": "A string manipulation library with multibyte support",
+            "homepage": "https://github.com/danielstjules/Stringy",
+            "keywords": [
+                "UTF",
+                "helpers",
+                "manipulation",
+                "methods",
+                "multibyte",
+                "string",
+                "utf-8",
+                "utility",
+                "utils"
+            ],
+            "support": {
+                "issues": "https://github.com/danielstjules/Stringy/issues",
+                "source": "https://github.com/danielstjules/Stringy"
+            },
+            "time": "2017-06-12T01:10:27+00:00"
+        },
         {
             "name": "dnoegel/php-xdg-base-dir",
             "version": "v0.1.1",
@@ -2197,6 +2685,67 @@
             ],
             "time": "2020-07-23T08:41:23+00:00"
         },
+        {
+            "name": "mtdowling/jmespath.php",
+            "version": "2.6.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/jmespath/jmespath.php.git",
+                "reference": "42dae2cbd13154083ca6d70099692fef8ca84bfb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/jmespath/jmespath.php/zipball/42dae2cbd13154083ca6d70099692fef8ca84bfb",
+                "reference": "42dae2cbd13154083ca6d70099692fef8ca84bfb",
+                "shasum": ""
+            },
+            "require": {
+                "php": "^5.4 || ^7.0 || ^8.0",
+                "symfony/polyfill-mbstring": "^1.17"
+            },
+            "require-dev": {
+                "composer/xdebug-handler": "^1.4",
+                "phpunit/phpunit": "^4.8.36 || ^7.5.15"
+            },
+            "bin": [
+                "bin/jp.php"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.6-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "JmesPath\\": "src/"
+                },
+                "files": [
+                    "src/JmesPath.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                }
+            ],
+            "description": "Declaratively specify how to extract elements from a JSON document",
+            "keywords": [
+                "json",
+                "jsonpath"
+            ],
+            "support": {
+                "issues": "https://github.com/jmespath/jmespath.php/issues",
+                "source": "https://github.com/jmespath/jmespath.php/tree/2.6.0"
+            },
+            "time": "2020-07-31T21:01:56+00:00"
+        },
         {
             "name": "myclabs/php-enum",
             "version": "1.7.7",

+ 0 - 1
public/cdms/static/css/app.b0dfcc84.css

xqd
@@ -1 +0,0 @@
-.titlestyle{font-size:12px;color:grey}.text{font-size:14px}.item{margin-bottom:18px}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.box-card{margin-bottom:30px}.elcheckbox_style{display:flex;flex-direction:column}.mtC20{margin-top:-20px;margin-bottom:20px}.color_gold{color:#e6a23c}.block{width:100%;margin-bottom:20px;margin-top:10px;text-align:center}.table-container-wrapper{width:100%;height:calc(100% - 120px);min-height:300px;padding-top:10px;box-sizing:border-box;overflow:hidden}.table-container-style{min-width:660px;height:100%;overflow:auto;border:1px solid #eee;border-right:none}.table-header-style{height:50px;background-color:#1d88ff;color:#fff}.header-col-style{font-size:14px;border-right:1px solid #eee;height:100%;vertical-align:middle;display:flex;justify-content:center;align-items:center}.table-content-style{height:calc(100% - 50px)}.content-title-style{height:100%}.title-col-style{height:50%;min-height:160px;display:flex;justify-content:center;align-items:center;border-right:1px solid #eee;border-bottom:1px solid #eee}.col-list-style{text-align:center;color:#a9a9a9;font-size:14px;width:140px;max-height:150px;overflow-x:hidden;overflow-y:auto}.showDay{position:absolute;top:-3px;right:5px;font-size:14px;color:#999;text-align:left;text-indent:13px}.col-list-background{width:100%;height:40px;line-height:40px;background-color:#ccc;color:#fff;cursor:pointer;margin:5px 0}.amClass{background-color:#469ad0;color:#fff}.pmClass{background-color:#f29d39;color:#fff}.nightClass{background-color:#5eaf9d;color:#fff}.el-col-3{width:14.28%!important}

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/css/chunk-vendors.767f701c.css


BIN
public/cdms/static/fonts/element-icons.535877f5.woff


BIN
public/cdms/static/fonts/element-icons.732389de.ttf


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.276b4888.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.276b4888.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.3b5803c5.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.3b5803c5.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.545de3dc.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.545de3dc.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.6e846b17.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.6e846b17.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.72b38eee.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.72b38eee.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.76f2e405.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.76f2e405.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.857d2f8e.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.857d2f8e.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.8edc1b4e.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.8edc1b4e.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.907254c1.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.907254c1.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.cde6b82d.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.cde6b82d.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.e305e70b.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/app.e305e70b.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/chunk-vendors.feab90c7.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
public/cdms/static/js/chunk-vendors.feab90c7.js.map


+ 1 - 1
resources/views/cdms/schedule.blade.php

xqd
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>scheduling</title><link href="static/css/app.b0dfcc84.css" rel="preload" as="style"><link href="static/css/chunk-vendors.767f701c.css" rel="preload" as="style"><link href="static/js/app.6e846b17.js" rel="preload" as="script"><link href="static/js/chunk-vendors.feab90c7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.767f701c.css" rel="stylesheet"><link href="static/css/app.b0dfcc84.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but scheduling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.feab90c7.js"></script><script src="static/js/app.6e846b17.js"></script></body></html>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><title>scheduling</title><link href="static/css/app.b0dfcc84.css" rel="preload" as="style"><link href="static/css/chunk-vendors.767f701c.css" rel="preload" as="style"><link href="static/js/app.d9e22020.js" rel="preload" as="script"><link href="static/js/chunk-vendors.feab90c7.js" rel="preload" as="script"><link href="static/css/chunk-vendors.767f701c.css" rel="stylesheet"><link href="static/css/app.b0dfcc84.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but scheduling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="static/js/chunk-vendors.feab90c7.js"></script><script src="static/js/app.d9e22020.js"></script></body></html>

Неке датотеке нису приказане због велике количине промена