Browse Source

Merge branch 'master' of ssh://git.9026.com:2212/swdz-WangHaijun/BaoMa

zilong 4 years ago
parent
commit
79600b67f6

+ 41 - 0
app/Admin/Actions/backstage/User/ReduceMoney.php

@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Admin\Actions\backstage\User;
+
+use App\Models\User;
+use App\Models\UserBalanceLog;
+use Encore\Admin\Actions\RowAction;
+use Illuminate\Database\Eloquent\Model;
+
+class ReduceMoney extends RowAction
+{
+    public $name = '后台减少金额 ';
+
+    public function handle(Model $model)
+    {
+        // $model ...
+        $money = request('reduce_money');
+        $change_money = $money*100;
+        $after_money = $this->row->balance-$change_money;
+        $arr = [
+            'user_id' => $this->row->id,
+            'admin_user_id' => \Admin::user()->id,
+            'type' => 5,
+            'relation_id' => 0,
+            'before_balance' => $this->row->balance,
+            'change_balance' => '-'.$change_money,
+            'after_balance' => $after_money,
+            'remark' => '后台减少金额',
+            'created_at' => date('Y-m-d H:i:s',time()),
+            'updated_at' => date('Y-m-d H:i:s',time()),
+
+        ];
+        UserBalanceLog::create($arr);
+        User::where('id',$this->row->id)->update(['balance'=>$after_money]);
+        return $this->response()->success('后台减少金额成功')->refresh();
+    }
+    public function form(){
+        $this->text('reduce_money','减少金额');
+    }
+
+}

+ 1 - 1
app/Admin/Controllers/UserManagement/BmUser/UserBalanceLogController.php

@@ -41,7 +41,7 @@ class UserBalanceLogController extends AdminController
         $grid->column('user.nickname', __('用户名称'));
         $grid->column('user.nickname', __('用户名称'));
         $grid->column('admin_user_id', __('后台用户ID'));
         $grid->column('admin_user_id', __('后台用户ID'));
         $grid->column('type', __('类型'))
         $grid->column('type', __('类型'))
-            ->using([1=>'订单消费',2=>'用户充值',3=>'后台赠送',4=>'用户取消订单退款']);
+            ->using([1=>'订单消费',2=>'用户充值',3=>'后台赠送',4=>'用户取消订单退款',5=>'后台减少金额']);
         $grid->column('relation_id', __('订单id'));
         $grid->column('relation_id', __('订单id'));
         $grid->column('before_balance', __('变化前的余额'))->display(function ($price){
         $grid->column('before_balance', __('变化前的余额'))->display(function ($price){
             return $price/100;
             return $price/100;

+ 2 - 0
app/Admin/Controllers/UserManagement/BmUser/UserListController.php

@@ -9,6 +9,7 @@ use App\Admin\Actions\backstage\User\BalanceLog;
 use App\Admin\Actions\backstage\User\BlackList;
 use App\Admin\Actions\backstage\User\BlackList;
 use App\Admin\Actions\backstage\User\coupons;
 use App\Admin\Actions\backstage\User\coupons;
 use App\Admin\Actions\backstage\User\Orders;
 use App\Admin\Actions\backstage\User\Orders;
+use App\Admin\Actions\backstage\User\ReduceMoney;
 use App\Admin\Actions\backstage\User\service;
 use App\Admin\Actions\backstage\User\service;
 use App\Models\Patient;
 use App\Models\Patient;
 use App\Models\User;
 use App\Models\User;
@@ -49,6 +50,7 @@ class UserListController extends AdminController
         $actions->add(new Orders());
         $actions->add(new Orders());
         $actions->add(new service());
         $actions->add(new service());
         $actions->add(new AddMoney());
         $actions->add(new AddMoney());
+        $actions->add(new ReduceMoney());
     });
     });
         //筛选
         //筛选
         $grid->filter(function ($filter){
         $grid->filter(function ($filter){

+ 22 - 19
app/Community/Controllers/HomeController.php

@@ -33,7 +33,7 @@ class HomeController extends Controller
                 $data = StatController::orderTotal();
                 $data = StatController::orderTotal();
                 $row->column(3,new InfoBox('门诊订单总数(个)', 'users', 'aqua', '/cdms/orders', $data[0]));
                 $row->column(3,new InfoBox('门诊订单总数(个)', 'users', 'aqua', '/cdms/orders', $data[0]));
                 $row->column(3,new InfoBox('计免订单总数(个)', 'user', 'aqua', '/cdms/order_vaccines', $data[1]));
                 $row->column(3,new InfoBox('计免订单总数(个)', 'user', 'aqua', '/cdms/order_vaccines', $data[1]));
-                $row->column(3,new InfoBox('儿保订单总数(个)', 'calendar-check-o', 'aqua', '/cdms/order_nuurse', $data[2]));
+                $row->column(3,new InfoBox('儿保订单总数(个)', 'calendar-check-o', 'aqua', '/cdms/order_nurses', $data[2]));
                 $row->column(3,new InfoBox('服务患者次数(次)', 'user', 'aqua', '/cdms/home', $data[3]));
                 $row->column(3,new InfoBox('服务患者次数(次)', 'user', 'aqua', '/cdms/home', $data[3]));
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
@@ -54,33 +54,37 @@ class HomeController extends Controller
                 return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">计免预约</p>');
                 return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">计免预约</p>');
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
-                $data = StatController::nurse();
-                $today = 'orderPatient[appoint_start_time][start]='.date('Y-m-d 00:00:00',time()).'&orderPatient[appoint_start_time][end]='.date('Y-m-d 00:00:00', strtotime('+1days'));
-                $yersterday = 'orderPatient[appoint_start_time][start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
-                    .'&orderPatient[appoint_start_time][end]='.date('Y-m-d 00:00:00', time());
-                $tommrow = 'orderPatient[appoint_start_time][start]='.date('Y-m-d 00:00:00',strtotime('+1 days'))
-                    .'&orderPatient[appoint_start_time][end]='.date('Y-m-d 00:00:00', strtotime('+2 days'));
+                $data = StatController::vaccine();
+                $today = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('today')).'&appoint_start_time[end]='.date('Y-m-d 00:00:00', strtotime('+1days'));
+                $yersterday = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
+                    .'&appoint_start_time[end]='.date('Y-m-d 00:00:00', time());
+                $people = 'end_time[start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
+                    .'&end_time[end]='.date('Y-m-d 00:00:00', time());
+                $tomorrow = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('+1 days'))
+                    .'&appoint_start_time[end]='.date('Y-m-d 00:00:00', strtotime('+2 days'));
 
 
 
 
                 $row->column(3,new InfoBox('今日预约数量(人)', 'users', 'aqua', '/cdms/order_vaccines?'.$today, $data['today']));
                 $row->column(3,new InfoBox('今日预约数量(人)', 'users', 'aqua', '/cdms/order_vaccines?'.$today, $data['today']));
                 $row->column(3,new InfoBox('昨日预约数量(人)', 'user', 'aqua', '/cdms/order_vaccines?'.$yersterday, $data['yesterday']));
                 $row->column(3,new InfoBox('昨日预约数量(人)', 'user', 'aqua', '/cdms/order_vaccines?'.$yersterday, $data['yesterday']));
-                $row->column(3,new InfoBox('昨日接种人数(人)', 'user', 'aqua', '/cdms/order_vaccines?status=4&'.$yersterday, $data['people']));
-                $row->column(3,new InfoBox('明日预约数量(人)', 'user', 'aqua', '/cdms/order_vaccines?'.$tommrow, $data['tomorrow']));
+                $row->column(3,new InfoBox('昨日接种人数(人)', 'user', 'aqua', '/cdms/order_vaccines?status=4&'.$people, $data['people']));
+                $row->column(3,new InfoBox('明日预约数量(人)', 'user', 'aqua', '/cdms/order_vaccines?'.$tomorrow, $data['tomorrow']));
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
                 return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">儿保预约</p>');
                 return $row->column(12,'<p style="font-family:Arial,Helvetica,sans-serif; font-size:1.2em; margin-top20px;vertical-align:middle; font-weight:normal ">儿保预约</p>');
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
                 $data = StatController::nurse();
                 $data = StatController::nurse();
-                $today = 'patients[appoint_start_time][start]='.date('Y-m-d 00:00:00',time()).'&patients[appoint_start_time][end]='.date('Y-m-d 00:00:00', strtotime('+1days'));
-                $yersterday = 'patients[appoint_start_time][start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
-                    .'&patients[appoint_start_time][end]='.date('Y-m-d 00:00:00', time());
-                $tommrow = 'patients[appoint_start_time][start]='.date('Y-m-d 00:00:00',strtotime('+1 days'))
-                    .'&patients[appoint_start_time][end]='.date('Y-m-d 00:00:00', strtotime('+2 days'));
+                $today = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',time()).'&appoint_start_time[end]='.date('Y-m-d 00:00:00', strtotime('+1days'));
+                $yersterday = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
+                    .'&appoint_start_time[end]='.date('Y-m-d 00:00:00', time());
+                $tommrow = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('+1 days'))
+                    .'&appoint_start_time[end]='.date('Y-m-d 00:00:00', strtotime('+2 days'));
+                $people = 'end_time[start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
+                    .'&end_time[end]='.date('Y-m-d 00:00:00', time());
 
 
                 $row->column(3,new InfoBox('今日预约数量(人)', 'users', 'aqua', '/cdms/order_nurses?'.$today, $data['today']));
                 $row->column(3,new InfoBox('今日预约数量(人)', 'users', 'aqua', '/cdms/order_nurses?'.$today, $data['today']));
                 $row->column(3,new InfoBox('昨日预约数量(人)', 'user', 'aqua', '/cdms/order_nurses?'.$yersterday, $data['yesterday']));
                 $row->column(3,new InfoBox('昨日预约数量(人)', 'user', 'aqua', '/cdms/order_nurses?'.$yersterday, $data['yesterday']));
-                $row->column(3,new InfoBox('昨日接种人数(人)', 'user', 'aqua', '/cdms/order_nurses?orders[order_status]=4&'.$yersterday, $data['people']));
+                $row->column(3,new InfoBox('昨日接种人数(人)', 'user', 'aqua', '/cdms/order_nurses?orders[order_status]=4&'.$people, $data['people']));
                 $row->column(3,new InfoBox('明日预约数量(人)', 'user', 'aqua', '/cdms/order_nurses?'.$tommrow, $data['tomorrow']));
                 $row->column(3,new InfoBox('明日预约数量(人)', 'user', 'aqua', '/cdms/order_nurses?'.$tommrow, $data['tomorrow']));
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
@@ -88,11 +92,10 @@ class HomeController extends Controller
             })
             })
             ->row(function (Row $row){
             ->row(function (Row $row){
                 $data = StatController::vaccineToal();
                 $data = StatController::vaccineToal();
-                $yersterday = 'orderPatient[appoint_start_time][start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
-                    .'&orderPatient[appoint_start_time][end]='.date('Y-m-d 00:00:00', time());
-
+                $yersterday = 'appoint_start_time[start]='.date('Y-m-d 00:00:00',strtotime('-1 days'))
+                    .'&appoint_start_time[end]='.date('Y-m-d 00:00:00', time());
                 $row->column(3,new InfoBox('疫苗总库存(支)', 'first-order', 'aqua', '/cdms/vaccines', $data['have_num']));
                 $row->column(3,new InfoBox('疫苗总库存(支)', 'first-order', 'aqua', '/cdms/vaccines', $data['have_num']));
-                $row->column(3,new InfoBox('疫苗库存告急(中)', 'first-order', 'aqua', '/cdms/vaccines', $data['less_num']));
+                $row->column(3,new InfoBox('疫苗库存告急(支)', 'first-order', 'aqua', '/cdms/vaccines?stock=10', $data['less_num']));
                 $row->column(3,new InfoBox('昨日接种消耗(支)', 'first-order', 'aqua', '/cdms/order_vaccines?order_status=4&'.$yersterday, $data['yesterday']));
                 $row->column(3,new InfoBox('昨日接种消耗(支)', 'first-order', 'aqua', '/cdms/order_vaccines?order_status=4&'.$yersterday, $data['yesterday']));
             });
             });
     }
     }

+ 2 - 1
app/Community/Controllers/OrderNurseController.php

@@ -110,7 +110,8 @@ class OrderNurseController extends AdminController
                 $filter->like('patient.phone','电话');
                 $filter->like('patient.phone','电话');
                 $filter->like('patient.name','患者名称');
                 $filter->like('patient.name','患者名称');
                 $filter->equal('order_status','订单状态')->select(Order::$_order_status);
                 $filter->equal('order_status','订单状态')->select(Order::$_order_status);
-                $filter->timestampBetween('orderPatient.appoint_start_time','预约时间')->datetime();
+                $filter->timestampBetween('appoint_start_time','预约时间')->datetime();
+                $filter->timestampBetween('end_time','接种时间')->datetime();
             });
             });
         });
         });
 
 

+ 7 - 3
app/Community/Controllers/OrderVaccinesController.php

@@ -39,6 +39,10 @@ class OrderVaccinesController extends AdminController
         $res = request()->all();
         $res = request()->all();
 
 
         $grid->disableExport(false);
         $grid->disableExport(false);
+//        1 => 1614700800
+//      2 => 1614787200
+//      3 => 1614787200
+//      4 => 1614873600
         $grid->export(function ($export) {
         $grid->export(function ($export) {
             $export->filename('疫苗订单'.Date('Y-m-d',time()));
             $export->filename('疫苗订单'.Date('Y-m-d',time()));
             $export->column('order_status', function ($value, $original) {
             $export->column('order_status', function ($value, $original) {
@@ -46,7 +50,6 @@ class OrderVaccinesController extends AdminController
                 return $order_status_arr[intval($original)];
                 return $order_status_arr[intval($original)];
             } );
             } );
         });
         });
-
         $user = Admin::user();
         $user = Admin::user();
         $is_admin = Admin::user()->inRoles(['administrator','devloper']);
         $is_admin = Admin::user()->inRoles(['administrator','devloper']);
         $where = ['product_type'=>4];
         $where = ['product_type'=>4];
@@ -55,7 +58,7 @@ class OrderVaccinesController extends AdminController
             $where = ['product_type'=>4,'organization_id'=>$org_id];
             $where = ['product_type'=>4,'organization_id'=>$org_id];
         }
         }
         $grid->model()->where($where);
         $grid->model()->where($where);
-        if(!empty($res['orderPatient']['appoint_start_time']['start']) || !empty($res['orderPatient']['appoint_start_time']['start']) ){
+        if(!empty($res['appoint_start_time']['start']) || !empty($res['appoint_start_time']['start']) ){
             $grid->model()->orderBy('appoint_start_time');
             $grid->model()->orderBy('appoint_start_time');
         } else {
         } else {
             $grid->model()->orderBy('appoint_start_time','desc');
             $grid->model()->orderBy('appoint_start_time','desc');
@@ -118,7 +121,8 @@ class OrderVaccinesController extends AdminController
                 $filter->like('patient.phone','电话');
                 $filter->like('patient.phone','电话');
                 $filter->like('patient.name','患者名称');
                 $filter->like('patient.name','患者名称');
                 $filter->equal('order_status','订单状态')->select(Order::$_order_status);
                 $filter->equal('order_status','订单状态')->select(Order::$_order_status);
-                $filter->timestampBetween('orderPatient.appoint_start_time','预约时间')->datetime();
+                $filter->timestampBetween('appoint_start_time','预约时间')->datetime();
+                $filter->timestampBetween('end_time','接种时间')->datetime();
             });
             });
         });
         });
         $grid->tools(function ($tools) {
         $grid->tools(function ($tools) {

+ 11 - 4
app/Community/Controllers/ScheduleStatController.php

@@ -23,10 +23,17 @@ class ScheduleStatController extends Admin
         for ($i=1;$i<=7;$i++){
         for ($i=1;$i<=7;$i++){
             $time = $weekStartTime + ($i-1)*86400;
             $time = $weekStartTime + ($i-1)*86400;
             $date = date('Y-m-d',$time);
             $date = date('Y-m-d',$time);
-
-            $amCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>1,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
-            $pmCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>2,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
-            $evCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>3,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+            if ($org_id == 0)
+            {
+                $amCount = SchedulePeriod::where(['schedule_date'=>$date,'type'=>1,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+                $pmCount = SchedulePeriod::where(['schedule_date'=>$date,'type'=>2,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+                $evCount = SchedulePeriod::where(['schedule_date'=>$date,'type'=>3,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+            }else
+            {
+                $amCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>1,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+                $pmCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>2,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+                $evCount = SchedulePeriod::where(['organization_id'=>$org_id,'schedule_date'=>$date,'type'=>3,'schedule_type'=>$scheduleType])->distinct('docter_id')->count();
+            }
             $week[$i] = [$amCount,$pmCount,$evCount];
             $week[$i] = [$amCount,$pmCount,$evCount];
         }
         }
 
 

+ 100 - 49
app/Community/Controllers/StatController.php

@@ -31,38 +31,53 @@ class StatController extends  Controller
             $where['organization_id']=$org_id;
             $where['organization_id']=$org_id;
         }
         }
         $order = Order::where(['product_type'=>4])->where($where);
         $order = Order::where(['product_type'=>4])->where($where);
-
+        $oneday = strtotime(date('Y-m-d 00:00:00',strtotime('+1 days')));
+        $twoday = strtotime(date('Y-m-d 00:00:00',strtotime('+2 days')));
+        $beforeoneday = strtotime(date('Y-m-d 00:00:00',strtotime('-1 days')));
         //今日预约
         //今日预约
-        $today = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[strtotime('today'),strtotime('+1days')]);
-        })->count();
-
-        //明日预约
-        $tomorrow = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[date('Y-m-d',strtotime('+1 days')),date('Y-m-d',strtotime('+2 days'))]);
-        })->whereNotIn('order_status',[1,5,6])->count();
+        if ($org_id)
+        {
+            $today = Order::where(['product_type'=>4])
+                            ->where('organization_id',$org_id)
+                            ->whereBetween('appoint_start_time',[strtotime('today'),strtotime(date('Y-m-d 00:00:00',strtotime('+1 days')))])
+                            ->count();
+            $tomorrow = Order::where(['product_type'=>4])
+                                ->where('organization_id',$org_id)
+                                ->whereBetween('appoint_start_time',[$oneday,$twoday])
+                                ->count();
+            $people = Order::where(['product_type'=>4])
+                            ->where('organization_id',$org_id)
+                            ->whereBetween('end_time',[$beforeoneday,strtotime('today')])
+                            ->where('order_status',4)->count();
+            $yesterday = Order::where(['product_type'=>4])
+                ->where('organization_id',$org_id)
+                ->whereBetween('appoint_start_time',[$beforeoneday,strtotime(date('Y-m-d 00:00:00',strtotime('today')))])
+            ->count();
+
+        }else{
+            $today = Order::where(['product_type'=>4])
+                            ->whereBetween('appoint_start_time',[strtotime('today'),strtotime(date('Y-m-d 00:00:00',strtotime('+1 days')))])
+                            ->count();
+            $tomorrow = Order::where(['product_type'=>4])
+                                ->whereBetween('appoint_start_time',[$oneday,$twoday])
+                                ->count();
+            $people = Order::where(['product_type'=>4])->whereBetween('end_time',[$beforeoneday,strtotime('today')])->where('order_status',4)->count();
+            $yesterday = Order::where(['product_type'=>4])
+                ->whereBetween('appoint_start_time',[$beforeoneday,strtotime(date('Y-m-d 00:00:00',strtotime('today')))])
+                ->count();
 
 
-        //昨日接诊人数
-        $people = $order->whereBetween('end_time',[strtotime('-1days'),strtotime('today')])->where('order_status',4)->count();
-
-        //昨日预约
-        $yesterday = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[date('Y-m-d',strtotime('-1 days')),date('Y-m-d',strtotime('today'))]);
-        })->whereNotIn('order_status',[1,5,6])->count();
+        }
 
 
         $data['today'] = $today;
         $data['today'] = $today;
         $data['yesterday'] = $yesterday;
         $data['yesterday'] = $yesterday;
         $data['people'] = $people;
         $data['people'] = $people;
-        $data['tomorrow '] = $tomorrow;
-
-
+        $data['tomorrow'] = $tomorrow;
 //        $data ['sum_num'] = Vaccine::where($where)->count();
 //        $data ['sum_num'] = Vaccine::where($where)->count();
 //        $data['have_num'] = Vaccine::where($where)->sum('stock');
 //        $data['have_num'] = Vaccine::where($where)->sum('stock');
 //        $data['less_num'] = Vaccine::where($where)->where(['stock'=>0])->count();//取苗钟数
 //        $data['less_num'] = Vaccine::where($where)->where(['stock'=>0])->count();//取苗钟数
 //        $data['today_schedule'] = Order::where(['order_status'=>1])->where($where)->where('product_type',4)->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
 //        $data['today_schedule'] = Order::where(['order_status'=>1])->where($where)->where('product_type',4)->where('created_at','>',date('Y-m-d H:i:s',time()))->count();
 //        $data['today_vaccine'] = Order::where(['product_type'=>4])->where($where)->with('orderPatient','appoint_start_time',strtotime('today'))->count();//接诊患者(人次)
 //        $data['today_vaccine'] = Order::where(['product_type'=>4])->where($where)->with('orderPatient','appoint_start_time',strtotime('today'))->count();//接诊患者(人次)
         return $data;
         return $data;
-
     }
     }
 
 
     //儿保
     //儿保
@@ -74,25 +89,47 @@ class StatController extends  Controller
             $where['organization_id']=$org_id;
             $where['organization_id']=$org_id;
         }
         }
         $order = Order::where(['product_type'=>5])->where($where);
         $order = Order::where(['product_type'=>5])->where($where);
-
-        //今日预约
-        $today = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[strtotime('today'),strtotime('+1days')]);
-        })->count();
-
-        //明日预约
-        $tomorrow = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[date('Y-m-d',strtotime('+1 days')),date('Y-m-d',strtotime('+2 days'))]);
-        })->whereNotIn('order_status',[1,5,6])->count();
-
-        //昨日服务人数
-        $people = $order->whereBetween('end_time',[strtotime('-1days'),strtotime('today')])->where('order_status',4)->count();
-
-        //昨日预约
-        $yesterday = $order->whereHas('orderPatient',function ($query){
-            $query->whereBetween('appoint_start_time',[date('Y-m-d',strtotime('-1 days')),date('Y-m-d',strtotime('today'))]);
-        })->whereNotIn('order_status',[1,5,6])->count();
-
+        $oneday = strtotime(date('Y-m-d 00:00:00',strtotime('+1 days')));
+        $twoday = strtotime(date('Y-m-d 00:00:00',strtotime('+2 days')));
+        $beforeoneday = strtotime(date('Y-m-d 00:00:00',strtotime('-1 days')));
+        if ($org_id)
+        {
+            //今日预约
+            $today = Order::where(['product_type'=>5])
+                ->where('organization_id',$org_id)
+                ->whereBetween('appoint_start_time',[strtotime('today'),strtotime('+1days')])
+                ->count();
+            //明日预约
+            $tomorrow = Order::where(['product_type'=>5])
+                ->where('organization_id',$org_id)
+                ->whereBetween('appoint_start_time',[$oneday,$twoday])
+                ->count();
+            //昨日服务人数
+            $people = Order::where(['product_type'=>5])
+                ->where('organization_id',$org_id)
+                ->whereBetween('end_time',[$beforeoneday,strtotime('today')])->where('order_status',4)->count();
+            //昨日预约
+            $yesterday = Order::where(['product_type'=>5])
+                        ->where('organization_id',$org_id)
+                        ->whereBetween('appoint_start_time',[$beforeoneday,date('Y-m-d 00:00:00',strtotime('today'))])
+                        ->count();
+        }else{
+            //今日预约
+            $today = Order::where(['product_type'=>5])
+                ->whereBetween('appoint_start_time',[strtotime('today'),$oneday])
+                ->count();
+            //明日预约
+            $tomorrow = Order::where(['product_type'=>5])
+                ->whereBetween('appoint_start_time',[$oneday,$twoday])
+                ->count();
+            //昨日服务人数
+            $people = Order::where(['product_type'=>5])
+                ->whereBetween('end_time',[$beforeoneday,strtotime('today')])->where('order_status',4)->count();
+            //昨日预约
+            $yesterday = Order::where(['product_type'=>5])
+                ->whereBetween('appoint_start_time',[$beforeoneday,strtotime(date('Y-m-d 00:00:00',strtotime('today')))])
+                ->count();
+        }
         $data['today'] = $today;
         $data['today'] = $today;
         $data['tomorrow'] = $tomorrow;
         $data['tomorrow'] = $tomorrow;
         $data['people'] = $people;
         $data['people'] = $people;
@@ -110,15 +147,29 @@ class StatController extends  Controller
             $where['organization_id']=$org_id;
             $where['organization_id']=$org_id;
             $another['org_id'] = $org_id;
             $another['org_id'] = $org_id;
         }
         }
-
-        $data['have_num'] = Vaccine::where($another)->sum('stock'); //疫苗库存总数
-        $data['less_num'] = Vaccine::where($another)->where(['stock'=>0])->count();//缺苗钟数
-        $ids = Order::where(['product_type'=>4])->where($where)->whereHas('orderPatient',function ($query){
-           $query->where('appoint_start_time',strtotime('today'));//订单id
-        })->pluck('id')->toArray();
-
+        $oneday = strtotime(date('Y-m-d 00:00:00',strtotime('+1 days')));
+        $twoday = strtotime(date('Y-m-d 00:00:00',strtotime('+2 days')));
+        $beforeoneday = strtotime(date('Y-m-d 00:00:00',strtotime('-1 days')));
+
+        if ($org_id)
+        {
+            $ids = Order::where(['product_type'=>4])
+                ->where('organization_id',$org_id)
+                ->whereBetween('appoint_start_time',[$beforeoneday,strtotime('today')])
+                ->where('order_status',4)
+                ->pluck('id')->toArray();
+            $data['have_num'] = Vaccine::where($another)->sum('stock'); //疫苗库存总数
+            $data['less_num'] = Vaccine::where($another)->where('stock','<=',10)->count();//缺苗钟数
+        }else
+        {
+            $ids = Order::where(['product_type'=>4])
+                ->whereBetween('appoint_start_time',[$beforeoneday,strtotime('today')])
+                ->where('order_status',4)
+                ->pluck('id')->toArray();
+            $data['have_num'] = Vaccine::sum('stock'); //疫苗库存总数
+            $data['less_num'] = Vaccine::where('stock','<=',10)->count();//缺苗钟数
+        }
         $data['yesterday']= OrderVaccine::whereIn('order_id',$ids)->count(); //疫苗订单总数
         $data['yesterday']= OrderVaccine::whereIn('order_id',$ids)->count(); //疫苗订单总数
-
         return $data;
         return $data;
     }
     }
     //实时数据
     //实时数据
@@ -152,7 +203,7 @@ class StatController extends  Controller
             $where['organization_id']=$org_id;
             $where['organization_id']=$org_id;
         }
         }
         //todo 是否需要区别状态
         //todo 是否需要区别状态
-        $order_num[] = Order::where('product_type',3)->where($where)->count();
+        $order_num[] = Order::where('product_type',3)->where($where)->where('payment_status','!=',1)->count();
         $order_num[] = Order::where('product_type',4)->where($where)->count();
         $order_num[] = Order::where('product_type',4)->where($where)->count();
         $order_num[] = Order::where('product_type',5)->where($where)->count();
         $order_num[] = Order::where('product_type',5)->where($where)->count();
         $order_num[] = Order::whereIn('product_type',[3,4,5])->where($where)->count();
         $order_num[] = Order::whereIn('product_type',[3,4,5])->where($where)->count();
@@ -199,7 +250,7 @@ class StatController extends  Controller
         //今日预约数
         //今日预约数
         $today = $order->whereHas('orderPatient',function ($query){
         $today = $order->whereHas('orderPatient',function ($query){
             $query->whereBetween('appoint_start_time',[strtotime('today'),strtotime('+1 days')]);
             $query->whereBetween('appoint_start_time',[strtotime('today'),strtotime('+1 days')]);
-        })->whereNotIn('order_status',[1,5,6])->count();
+        })->count();
 
 
         //医生排班人数
         //医生排班人数
         $docters = SchedulePeriod::where(['schedule_date'=>date('Y-m-d',time()),'schedule_type'=>1])->where($where)->distinct('docter_id')->count();
         $docters = SchedulePeriod::where(['schedule_date'=>date('Y-m-d',time()),'schedule_type'=>1])->where($where)->distinct('docter_id')->count();

+ 1 - 0
app/Community/Controllers/VaccineController.php

@@ -68,6 +68,7 @@ class VaccineController extends AdminController
         $grid->filter(function ($fliter){
         $grid->filter(function ($fliter){
             $fliter->like('name','疫苗');
             $fliter->like('name','疫苗');
             $fliter->equal('type','疫苗类型')->select(Vaccine::getType());
             $fliter->equal('type','疫苗类型')->select(Vaccine::getType());
+            $fliter->lt('stock','剩余疫苗');
         });
         });
 
 
         $grid->column('created_at', __('创建时间'));
         $grid->column('created_at', __('创建时间'));

+ 4 - 3
app/Http/Controllers/Api/V1/CommonController.php

@@ -334,11 +334,12 @@ class CommonController extends Controller
     {
     {
         $systemConfig = SystemConfig::whereIn('key', ['phone_notice', 'chat_notice', 'clinic_notice', 'vaccine_notice', 'nurse_notice', 'poster', 'phone', 'protocol', 'recharge_notice', 'service_protocol', 'login_protocol', 'recharge_protocol'])->pluck('value', 'key')->toArray();
         $systemConfig = SystemConfig::whereIn('key', ['phone_notice', 'chat_notice', 'clinic_notice', 'vaccine_notice', 'nurse_notice', 'poster', 'phone', 'protocol', 'recharge_notice', 'service_protocol', 'login_protocol', 'recharge_protocol'])->pluck('value', 'key')->toArray();
         $banners = Banner::get();
         $banners = Banner::get();
+        $notices_arr = [];
+        $notices = SystemConfig::where('key','notices')->value('value');
+        array_push($notices_arr,$notices);
         $data = [
         $data = [
             'banners' => $banners,
             'banners' => $banners,
-            'notices' => [
-                '宝妈小程序正式公测上线啦!',
-            ],
+            'notices' => $notices_arr,
         ];
         ];
 
 
         $data = array_merge($data, $systemConfig);
         $data = array_merge($data, $systemConfig);

+ 5 - 0
app/Http/Controllers/Api/V2/CommonController.php

@@ -11,6 +11,7 @@ namespace App\Http\Controllers\Api\V2;
 use App\Http\Controllers\Controller;
 use App\Http\Controllers\Controller;
 use App\Models\Article;
 use App\Models\Article;
 use App\Models\Order;
 use App\Models\Order;
+use App\Models\SystemConfig;
 use App\Models\User;
 use App\Models\User;
 use App\Models\Docter;
 use App\Models\Docter;
 use EasyWeChat\Factory;
 use EasyWeChat\Factory;
@@ -1238,4 +1239,8 @@ class CommonController extends Controller
         return out();
         return out();
 
 
     }
     }
+    public function contactUsPhone(){
+        $phone = SystemConfig::where('key','contact_us_phone')->value('value');
+        return out($phone);
+    }
 }
 }