cqpCow 1 年之前
父節點
當前提交
a800f115ea

+ 12 - 0
app/Http/Controllers/Api/CheckController.php

@@ -19,4 +19,16 @@ class CheckController extends BaseController
             return $this->json_return(201,$data);
         }
     }
+
+    public function getOrderDetail(Request $request){
+        $service = new CheckService();
+        $userData = $request->userData->toArray();
+        list($status,$data) = $service->getOrderDetail($request->all(),$userData);
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+    }
 }

+ 1 - 1
app/Http/Controllers/Api/ConstructionController.php

@@ -62,7 +62,7 @@ class ConstructionController extends BaseController
     public function constructionDetail(Request $request)
     {
         $service = new ConstructionService();
-        list($status,$data) = $service->constructionDetail($request->all());
+        list($status,$data) = $service->detail($request->all());
 
         if($status){
             return $this->json_return(200,'',$data);

+ 1 - 1
app/Http/Controllers/Api/SalesOrderController.php

@@ -62,7 +62,7 @@ class SalesOrderController extends BaseController
     public function salesOrderDetail(Request $request)
     {
         $service = new SalesOrderService();
-        list($status,$data) = $service->salesOrderDetail($request->all());
+        list($status,$data) = $service->detail($request->all());
 
         if($status){
             return $this->json_return(200,'',$data);

+ 26 - 0
app/Service/CheckService.php

@@ -833,6 +833,32 @@ class CheckService extends Service
         return [true,''];
     }
 
+    public function getOrderDetail($data,$user){
+        if(empty($data['order_number'])) return [false,'必传参数不能为空'];
+        $array = [];
+        foreach (Construction::$prefix as $value){
+            $array[$value] = "\App\Service\\ConstructionService";
+        }
+        foreach (ReturnExchangeOrder::$prefix as $value){
+            $array[$value] = "\App\Service\\ReturnExchangeOrderService";
+        }
+        foreach (SalesOrder::$prefix as $value){
+            $array[$value] = "\App\Service\\SalesOrderService";
+        }
+        $array[PurchaseOrder::prefix] = "\App\Service\\PurchaseOrderService";
+
+        $status = true;
+        $msg = [];
+        foreach ($array as $key => $value){
+            if(strpos($data['order_number'],$key) !== false) {
+                list($status, $msg) = (new $value)->detail($data);
+                return [$status, $msg];
+            }
+        }
+
+        return [$status, $msg];
+    }
+
     public function checkAll($data,$user){
         if(empty($data['id']) || empty($data['order_number'])|| empty($data['opt_case'])) return [false,'必传参数不能为空或者参数值错误!'];
 

+ 20 - 5
app/Service/ConstructionService.php

@@ -270,12 +270,19 @@ class ConstructionService extends Service
      * @param $data
      * @return array
      */
-    public function constructionDetail($data){
-        if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
+    public function detail($data){
+        if(empty($data['id']) && empty($data['order_number'])) return [false,'请选择数据!'];
 
-        $construction = Construction::where('del_time',0)
-            ->where('id',$data['id'])
-            ->first();
+        if(! empty($data['id'])){
+            $construction = Construction::where('del_time',0)
+                ->where('id',$data['id'])
+                ->first();
+        }else{
+            $construction = Construction::where('del_time',0)
+                ->where('order_number',$data['order_number'])
+                ->first();
+            $data['id'] = empty($construction->id) ? 0 : $construction->id;
+        }
         if(empty($construction)) return [false,'施工订单不存在或已被删除'];
         $construction = $construction->toArray();
         $address = '';
@@ -399,6 +406,14 @@ class ConstructionService extends Service
             $model->where('start_time','>=',$return[0]);
             $model->where('end_time','<=',$return[1]);
         }
+        if(! empty($data['sale_order'])){
+            $model2 = SalesOrder::Clear($user,$data);
+            $sale = $model2->where('del_time',0)
+                ->where('order_number', 'LIKE', '%'.$data['sale_order'].'%')
+                ->select('id')
+                ->get()->toArray();
+            $model->whereIn('sales_order_id',array_unique(array_column($sale,'id')));
+        }
 
         $list = $this->limit($model,'',$data);
         $list = $this->fillData($list);

+ 13 - 5
app/Service/ReturnExchangeOrderService.php

@@ -168,12 +168,19 @@ class ReturnExchangeOrderService extends Service
     }
 
     public function detail($data){
-        if($this->isEmpty($data,'id')) return [false,'请选择数据'];
+        if(empty($data['id']) && empty($data['order_number'])) return [false,'请选择数据!'];
+
+        if(! empty($data['id'])){
+            $order = ReturnExchangeOrder::where('del_time',0)
+                ->where('id',$data['id'])
+                ->first();
+        }else{
+            $order = ReturnExchangeOrder::where('del_time',0)
+                ->where('order_number',$data['order_number'])
+                ->first();
+            $data['id'] = empty($order->id) ? 0 : $order->id;
+        }
 
-        $order = ReturnExchangeOrder::where('id',$data['id'])
-            ->where('del_time',0)
-            ->select('id','order_number','model_type','data_id','difference_amount','crt_id','mark','state','crt_time','storehouse_id','depart_id','top_depart_id','type')
-            ->first();
         if(empty($order)) return [false, '退换货订单不存在或已被删除'];
         $order = $order->toArray();
         $order['storehouse_title'] = Storehouse::where('id',$order['storehouse_id'])->value('title');
@@ -304,6 +311,7 @@ class ReturnExchangeOrderService extends Service
             return array_column($purchase,'id');
         }
     }
+
     public function fillListData($data){
         if(empty($data['data'])) return $data;
 

+ 13 - 5
app/Service/SalesOrderService.php

@@ -377,12 +377,20 @@ class SalesOrderService extends Service
      * @param $data
      * @return array
      */
-    public function salesOrderDetail($data){
-        if($this->isEmpty($data,'id')) return [false,'请选择数据!'];
+    public function detail($data){
+        if(empty($data['id']) && empty($data['order_number'])) return [false,'请选择数据!'];
+
+        if(! empty($data['id'])){
+            $sales = SalesOrder::where('del_time',0)
+                ->where('id',$data['id'])
+                ->first();
+        }else{
+            $sales = SalesOrder::where('del_time',0)
+                ->where('order_number',$data['order_number'])
+                ->first();
+            $data['id'] = empty($sales->id) ? 0 : $sales->id;
+        }
 
-        $sales = SalesOrder::where('del_time',0)
-            ->where('id',$data['id'])
-            ->first();
         if(empty($sales)) return [false,'合同不存在或已被删除'];
         $sales = $sales->toArray();
         $customer = Customer::where('id',$sales['customer_id'])->value('title');

+ 3 - 0
routes/api.php

@@ -244,4 +244,7 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('getTableHead','Api\TableHeadController@tableHeadGet');
     //设置表头
     $route->any('setTableHead','Api\TableHeadController@tableHeadAdd');
+
+    //获取审核单据的详情
+    $route->any('checkDetail', 'Api\CheckController@getOrderDetail');
 });