Browse Source

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

zilong 4 năm trước cách đây
mục cha
commit
87eb89e41d

+ 0 - 1
README.md

xqd
@@ -63,7 +63,6 @@ delete from bm_call_logs;<br>
 delete from bm_call_phone;<br>
 delete from bm_collections;<br>
 delete from bm_community_notice;<br>
-delete from bm_community_schedules;<br>
 delete from bm_coupon_distribution_list;<br>
 delete from bm_coupon_types;<br>
 delete from bm_coupons;<br>

+ 3 - 3
app/Admin/Controllers/OrganizationController.php

xqd
@@ -45,9 +45,9 @@ class OrganizationController extends AdminController
 
             });
             $filter->column(1/2, function ($filter) {
-                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'));
-                $filter->equal('city_id','城市')->select(Area::where('level',2)->pluck('name','id'));
-                $filter->equal('area_id','地区')->select(Area::where('level',3)->pluck('name','id'));
+                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'))->load('city_id','admin/api/getCity');
+                $filter->equal('city_id','城市')->select()->load('area_id','admin/api/getArea');
+                $filter->equal('area_id','地区')->select();
             });
         });
         $grid->model()->orderBy('id','desc');

+ 2 - 2
app/Admin/routes.php

xqd
@@ -12,8 +12,8 @@ Route::group([
 ], function (Router $router) {
     $router->get('/', 'HomeController@index')->name('home');
     $router->get('/home', 'HomeController@index')->name('home');
-    $router->get('/api/getCity', 'ApiController@getCity');
-    $router->get('/api/getArea', 'ApiController@getArea');
+    $router->get('admin/api/getCity', 'ApiController@getCity');
+    $router->get('admin/api/getArea', 'ApiController@getArea');
     $router->post('/img_upload', 'Api\ApiController@upload');
     $router->resource('/cdms_user', CdmsController::class);
     $router->resource('/organizations', OrganizationController::class);

+ 5 - 1
app/Community/Actions/Docter/ChangeType.php

xqd
@@ -22,7 +22,11 @@ class ChangeType extends RowAction
 
     public function form(){
         //1.问诊医生 2.疫苗医生 3.儿保医生)
-        $type = $this->row->docter->type;
+        $type = 1;
+        if(!empty($this->row->docter)){
+            $type = $this->row->docter->type;
+        }
+
         $docterType = DocterType::where(['status'=>1])->pluck('name','id')->toArray();
         $this->select('type','类型')->options($docterType)->value(intval($type));
     }

+ 11 - 5
app/Community/Controllers/ApiController.php

xqd xqd xqd xqd xqd
@@ -340,6 +340,7 @@ class ApiController extends Controller
 //            $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();
+
             if ($allCount == 0) return apiReturn(603, '请设置时间段');
             $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();
@@ -807,8 +808,14 @@ class ApiController extends Controller
         $role = 1;
         $docter_id = 0;
         if ($user->docter_id && $user->org_id) {
-            $role = 2;
-            if ($sType == 1) $docter_id = $user->docter_id;
+            if ($sType == 1){
+                $role = 2;
+                $docter_id = $user->docter_id;
+            }  else {
+                $docter_id = 0;
+                $role = 1;
+            }
+
         } else if (!$user->docter_id && $user->org_id) {
             $role = 1;
         } else if (!$user->docter_id && !$user->org_id) {
@@ -920,7 +927,7 @@ class ApiController extends Controller
                     } else {
                         $scheduleId = Schedule::where(['docter_id' => $docterId, 'schedule_type' => $sType,'organization_id'=>$orgId])->where('schedule_day', $numDate)->value('id');
                     }
-                    dump($scheduleId);
+//                    dump($scheduleId);
                     if (empty($scheduleId)) {
                         $numDate = date('Ymd', $todayTimer);
                         $scheduleData['docter_id'] = $docterId;
@@ -945,7 +952,7 @@ class ApiController extends Controller
             }
 
 
-            echo '医生id '.$docterId.' 机构id '.$orgId.' 周几 '.$week;
+//            echo '医生id '.$docterId.' 机构id '.$orgId.' 周几 '.$week;
             $real_id = WeekSchedule::where(['docter_id' => $docterId, 'organization_id' => $orgId, 'week' => $week, 'type' => $tType, 'schedule_type' => $sType])->first();
             if (!empty($real_id)) {
 
@@ -1123,7 +1130,6 @@ class ApiController extends Controller
             }
             DB::commit();
         } catch (\Exception $e) {
-            dd($e->getMessage());
             DB::rollBack();
             return apiReturn(603, '操作失败');
         }

+ 5 - 2
app/Community/Controllers/DocterAccountController.php

xqd
@@ -50,9 +50,12 @@ class DocterAccountController extends  AdminController
             $reoute = request()->route()->parameters();
             $id = intval($reoute['docter_account']);
             $org_id = CdmsUsers::where(['id'=>$id])->value('org_id');
-            $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::where('org_id',$org_id)->get()->pluck('name', 'id'));
+            $ids = [0,$org_id];
+
+            $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::whereIn('org_id',$ids)->where('id','>',1)->get()->pluck('name', 'id'));
         } else {
-            $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::where('org_id',$org_id)->get()->pluck('name', 'id'));
+            $ids = [0,$org_id];
+            $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::whereIn('org_id',$ids)->where('id','>',1)->get()->pluck('name', 'id'));
         }
 
 //        $form->multipleSelect('roles', trans('tenancy.roles'))->options($roleModel::whereIn('name',['门诊医生','儿保医生','计免医生','图文咨询','所有医生'])->get()->pluck('name', 'id'));

+ 6 - 3
app/Community/Controllers/SettingController.php

xqd
@@ -49,9 +49,12 @@ class SettingController extends AdminController
                 ]);
             });
             $filter->column(1/2, function ($filter) {
-                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'));
-                $filter->equal('city_id','城市')->select(Area::where('level',2)->pluck('name','id'));
-                $filter->equal('area_id','地区')->select(Area::where('level',3)->pluck('name','id'));
+//                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'));
+//                $filter->equal('city_id','城市')->select(Area::where('level',2)->pluck('name','id'));
+//                $filter->equal('area_id','地区')->select(Area::where('level',3)->pluck('name','id'));
+                $filter->equal('province_id','省份')->select(Area::where('level',1)->pluck('name','id'))->load('city_id','admin/api/getCity');
+                $filter->equal('city_id','城市')->select()->load('area_id','admin/api/getArea');
+                $filter->equal('area_id','地区')->select();
             });
         });
         $grid->model()->orderBy('id','desc');

+ 2 - 2
app/Community/routes.php

xqd
@@ -72,8 +72,8 @@ Route::get('/api/self_schedule', 'ApiController@setSelfSchedule');
 Route::get('/api/getScheduleInfo', 'ApiController@getScheduleInfo');
 Route::any('/img_upload', 'ApiController@upload');
 
-Route::get('/api/getCity', 'ApiController@getCity');
-Route::get('/api/getArea', 'ApiController@getArea');
+Route::get('admin/api/getCity', 'ApiController@getCity');
+Route::get('admin/api/getArea', 'ApiController@getArea');
 
 Route::get('/getChatOrder', 'ApiController@get_chat_order');
 

+ 10 - 37
app/Imports/Order/chatOrder.php

xqd xqd
@@ -29,46 +29,24 @@ class chatOrder implements ToCollection,WithBatchInserts,WithChunkReading
 
         foreach ($collection as $row) {
             if ($row[0] == '订单编号') continue;
-//            dd($row);
-
-//        [
-//            0 => "im20210118173813522",
-//            1 => "云南运营主体",
-//            2 => "熊振宇",
-//            3 => "13708872753",
-//            4 => "文菊焱",
-//            5 => "",
-//            6 => "云南省昆明市昆明市盘龙区联盟街道金康园社区卫生服务站",
-//            7 => "妇保科",
-//            8 => "否",
-//            9 => "进行中",
-//            10 => "",
-//            11 => "否",
-//            12 => "1.99",
-//            13 => "0.00",
-//            14 => "1.99",
-//            15 => "1.99",
-//            16 => "微信支付",
-//            17 => "单次图文咨询",
-//            18 => "已付款",
-//            19 => "2021-01-18 17:38:13",
-//        ];
             //检查是否有该订单
             $isHave = $this->getValue(new Order(), ['order_sn' => $row[0]], 'id');
-            if ($isHave) return null;
+            if ($isHave) continue;
 
             $user_id = $this->getValue(new User(), ['phone' => $row[3]], 'id');
             if (empty($user_id)) {
                 echo $row[3] . '用户缺失' . PHP_EOL;
-                return null;
+                continue;
             }
             //患者信息
-            $patientInfo = Patient::where(['name' => $row[4]])->first();
+            $patientInfo = Patient::where(['name' => $row[2]])->first();
             if (empty($patientInfo)) {
-                echo $row[4] . '患者缺失' . PHP_EOL;
+//                $pp = Patient::where('user_id',$user_id)->get()->toArray();
+                echo $row[2] . '患者缺失' . PHP_EOL;
                 continue;
             }
-            $org_id = $this->getValue(new Organization(), ['name' => $row[6]], 'id');
+            $org_name = substr($row[6],18);
+            $org_id = $this->getValue(new Organization(), ['name' => $org_name], 'id');
             if (empty($org_id)) {
                 echo $row[6] . '机构缺失' . PHP_EOL;
                 continue;
@@ -79,23 +57,18 @@ class chatOrder implements ToCollection,WithBatchInserts,WithChunkReading
                 Log::info('订单没有用户信息,订单编号: ' . $row[0] . PHP_EOL);
                 continue;
             }
-            //  1 => "未支付"
-            //  2 => "待支付"
-            //  3 => "进行中"
-            //  4 => "已完成"
-            //  5 => "已取消"
-            //  6 => "已超时"
-            //  7 => "已预约"
+
             //订单状态
             $status = Order::getStatus();
             //订单状态
             $paystatus = Order::getPayStatus();
             $pay_status = array_search($row[18], $paystatus);
             $order_status = array_search($row[9], $status);
+            if($row[9] == '已过期') $order_status = 6;
+            if($row[18] == '未付款' || empty($row[18])) $pay_status = 1;
 
 
             $docter_id = $this->getValue(new Docter(), ['name' => $row[4]], 'id');
-            $org_id = $this->getValue(new Organization(), ['name' => $row[6]], 'id');
             $evaluate = $row[10] == '已评价' ? 1 : 0;
             $pay_types = [1 => '微信支付', 2 => '余额支付', 3 => '服务包支付'];
             //支付方式

+ 7 - 32
app/Imports/Order/phoneOrder.php

xqd xqd xqd xqd
@@ -21,37 +21,15 @@ class phoneOrder implements ToCollection
         foreach ($collection as $row){
             if ($row[0] == '订单编号') continue;
 
-//        [
-//            0 => "MNC20210131110722347"
-//    1 => "云南运营主体"
-//    2 => "王洛染"
-//    3 => "18669008017"
-//    4 => "姚正"
-//    5 => "昆明儿科联盟"
-//    6 => "云南省昆明市昆明市西山区前卫佳湖社区卫生服务站"
-//    7 => "全科医学科"
-//    8 => "否"
-//    9 => "已完成"
-//    10 => "已评价"
-//    11 => "否"
-//    12 => "19.99"
-//    13 => "0.00"
-//    14 => "19.99"
-//    15 => "19.99"
-//    16 => "微信支付"
-//    17 => "自费"
-//    18 => "已付款"
-//    19 => "2021-01-31 11:07:23"
-
-//        ];
             //检查是否有该订单
             $isHave = $this->getValue(new Order(), ['order_sn' => $row[0]], 'id');
-            if ($isHave) return null;
-
+            if ($isHave) continue;
+            //支付状态(1.待付款 2.已付款 3.退款中 4.已退款 5.待退款)
+            //如果没有用户不导入该订单
             $user_id = $this->getValue(new User(), ['phone' => $row[3]], 'id');
             if (empty($user_id)) {
                 echo $row[3] . '用户缺失' . PHP_EOL;
-                return null;
+                continue;
             }
             //患者信息
             $patientInfo = Patient::where(['name' => $row[2]])->first();
@@ -66,12 +44,6 @@ class phoneOrder implements ToCollection
                 continue;
             }
 
-            //如果没有用户不导入该订单
-            if (empty($user_id)) {
-                Log::info('订单没有用户信息,订单编号: ' . $row[0] . PHP_EOL);
-                continue;
-            }
-
             //订单状态
             $status = Order::getStatus();
             //订单状态
@@ -79,6 +51,8 @@ class phoneOrder implements ToCollection
             $pay_status = array_search($row[18], $paystatus);
             $order_status = array_search($row[9], $status);
 
+            if( $row[18] == '已退款') $pay_status = 4;
+            if($row[9] == '已过期') $order_status = 6;
 
             $docter_id = $this->getValue(new Docter(), ['name' => $row[4]], 'id');
             $evaluate = $row[10] == '已评价' ? 1 : 0;
@@ -118,6 +92,7 @@ class phoneOrder implements ToCollection
             ];
             OrderPatient::insert($orderPatient);
         }
+        return null;
     }
 
     public function getValue($model,$where,$field)

+ 3 - 3
app/Imports/Order/vaccineSheet.php

xqd xqd xqd xqd
@@ -36,7 +36,6 @@ class vaccineSheet implements ToCollection
                 echo $row[2].'机构缺失'.PHP_EOL;
                 //todo 没有机构直接跳过
                 continue;
-                $org_id = 0;
             }
 
             $vaccine_id = $this->getValue(new Vaccine(),['name'=>$row[3]],'id');
@@ -54,6 +53,7 @@ class vaccineSheet implements ToCollection
             }
 
             if(empty($user_id)){
+                echo $row[1].'用户不存在'.PHP_EOL;
                 Log::info('订单没有用户信息: '.$row[0].' 电话:'.$row[1].' 时间:'.$row[4].PHP_EOL);
                continue;
             }
@@ -61,7 +61,6 @@ class vaccineSheet implements ToCollection
             $status = Order::getStatus();
             //订单状态
             $order_status = array_search($row[5],$status);
-            if(empty($org_id)) $org_id = 0;
 //            $order_sn = build_sn($i);
             //todo 写入计免订单表,订单患者表
             $time = explode(' ',$row[4]);
@@ -108,8 +107,9 @@ class vaccineSheet implements ToCollection
                 'order_patient_id'=>$orderPid,
                 'vaccine_name'=>$row[3],
             ];
-            return OrderVaccine::insert($vaccineOrder);
+            OrderVaccine::insert($vaccineOrder);
         }
+        return null;
     }
 
     public function getValue($model,$where,$field)