cqp 3 ヶ月 前
コミット
34268f3df7

+ 13 - 0
app/Http/Controllers/Api/InspectController.php

@@ -73,6 +73,19 @@ class InspectController extends BaseController
         }
     }
 
+    public function deviceOrderListTypeOneForMobile(Request $request)
+    {
+        $service = new InspectService();
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->deviceOrderListTypeOneForMobile($request->all(),$userData);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
+
     public function deviceOrderOverView(Request $request)
     {
         $service = new InspectService();

+ 54 - 3
app/Service/InspectService.php

@@ -257,12 +257,16 @@ class InspectService extends Service
         if(! isset(DeviceOrder::$prefix[$data['type']])) return [false,'单据类型不存在'];
         if(! isset($data['crt_id'])) return [false,'单据创建人不能为空'];
         if(empty($data['hand_time'])) return [false,'单据日期不能为空'];
-        if($data['type'] == DeviceOrder::Model_type_one) $data['hand_time'] = strtotime($data['hand_time']);
         if(empty($data['sub'])) return [false, '表体信息不能为空'];
 
-        foreach ($data['sub'] as $value){
-            if(empty($value['equipment_id']) || empty($value['equipment_no'])) return [false, '设备信息不能为空'];
+        $e = Equipment::where('del_time',0)
+            ->pluck('code','id')
+            ->toArray();
+        foreach ($data['sub'] as $key => $value){
+            if(empty($value['equipment_id'])) return [false, '设备信息不能为空'];
+            $data['sub'][$key]['equipment_no'] = $e[$value['equipment_id']] ?? "";
             if(! isset($value['state']) || ! isset(DeviceOrderInfo::$prefix[$value['state']]))  return [false, '设备状态信息不能为空'];
+
         }
 
         if(! $is_add){
@@ -494,6 +498,15 @@ class InspectService extends Service
         if(! empty($data['crt_time'][0]) && ! empty($data['crt_time'][1])) $model->whereBetween('crt_time',[$data['crt_time'][0],$data['crt_time'][1]]);
         if(! empty($data['hand_time'][0]) && ! empty($data['hand_time'][1])) $model->whereBetween('hand_time',[$data['hand_time'][0],$data['hand_time'][1]]);
         if(! empty($data['crt_id'])) $model->where('crt_id', $data['crt_id']);
+        if(! empty($data['equipment_id'])){
+            $de = DeviceOrderInfo::where('del_time',0)
+                ->where('equipment_id', $data['equipment_id'])
+                ->where('crt_time','>=', strtotime(date('Y-m-d 00:00:00',time())))
+                ->where('crt_time','<=', strtotime(date('Y-m-d 23:59:59',time())))
+                ->select('device_order_id')
+                ->get()->toArray();
+            $model->whereIn('id', array_unique(array_column($de,'device_order_id')));
+        }
 
         $list = $this->limit($model,'',$data);
         $list = $this->fillData($list);
@@ -518,6 +531,44 @@ class InspectService extends Service
         return $data;
     }
 
+    public function deviceOrderListTypeOneForMobile($data){
+        if(empty($data['equipment_id'])) return [false, '设备不能为空'];
+        $detail = DeviceOrderInfo::where('del_time',0)
+            ->where('equipment_id', $data['equipment_id'])
+            ->where('crt_time','>=', strtotime(date('Y-m-d 00:00:00',time())))
+            ->where('crt_time','<=', strtotime(date('Y-m-d 23:59:59',time())))
+            ->select('device_order_id')
+            ->get()->toArray();
+        if(empty($detail)) return [false, '该设备今天暂无巡检任务'];
+        $device_order_id = array_unique(array_column($detail,'device_order_id'));
+        $device_order_id = $device_order_id[0];
+
+        $customer = DeviceOrder::where('del_time',0)
+            ->where('id',$device_order_id)
+            ->first();
+        if(empty($customer)) return [false,'单据不存在或已被删除'];
+        $customer = $customer->toArray();
+        $customer['type_title'] = DeviceOrder::$prefix_title[$customer['type']] ?? "";
+        $customer['crt_title'] = Employee::where('id',$customer['crt_id'])->value('emp_name') ?? "王小波";
+        $customer['crt_time'] = $customer['crt_time'] ? date("Y-m-d H:i:s",$customer['crt_time']): '';
+        $customer['sub'] = [];
+        $sub = DeviceOrderInfo::where('del_time',0)
+            ->where('device_order_id', $device_order_id)
+            ->select('equipment_id','equipment_no','state','mark','dxj_id')
+            ->get()->toArray();
+        $equ = Equipment::whereIn('id',array_unique(array_column($sub,'equipment_id')))
+            ->pluck('title','id')
+            ->toArray();
+        $dxj = DXJ::whereIn('id', array_unique(array_column($sub,'dxj_id')))->pluck('title','id')->toArray();
+        foreach ($sub as $key => $value){
+            $sub[$key]['equipment_title'] = $equ[$value['equipment_id']] ?? "";
+            $sub[$key]['dxj_title'] = $dxj[$value['dxj_id']] ?? "无";
+        }
+        $customer['sub'] = $sub;
+
+        return [true, $customer];
+    }
+
     public function createOrderNumber($type = 1){
         $str = DeviceOrder::$prefix[$type] . date('Ymd',time());
 

+ 1 - 0
routes/api.php

@@ -267,6 +267,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('deviceOrderEdit','Api\InspectController@deviceOrderEdit');
     $route->any('deviceOrderDel','Api\InspectController@deviceOrderDel');
     $route->any('deviceOrderDetail','Api\InspectController@deviceOrderDetail');
+    $route->any('deviceOrderListTypeOneForMobile','Api\InspectController@deviceOrderListTypeOneForMobile');
     $route->any('deviceOrderOverView','Api\InspectController@deviceOrderOverView');//总览
     $route->any('deviceOrderXj','Api\InspectController@deviceOrderXj');//巡检任务
     $route->any('deviceOrderWx','Api\InspectController@deviceOrderWx');//维修