gogs %!s(int64=2) %!d(string=hai) anos
pai
achega
0f30545095

+ 1 - 1
.gitignore

@@ -10,4 +10,4 @@ Homestead.json
 Homestead.yaml
 npm-debug.log
 yarn-error.log
-/.idea
+.idea

+ 43 - 0
app/Http/Controllers/Api/BoxController.php

@@ -115,4 +115,47 @@ class BoxController extends BaseController
         }
 
     }
+
+    public function boxOrderGroup(Request $request)
+    {
+
+
+        $service = new BoxService();
+        list($status,$data) = $service->boxOrderGroup($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+
+    }
+    public function transportNo(Request $request)
+    {
+
+
+        $service = new BoxService();
+        list($status,$data) = $service->transportNo($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+
+    }
+    public function delBoxDetail(Request $request)
+    {
+
+
+        $service = new BoxService();
+        list($status,$data) = $service->delBoxDetail($request->all());
+
+        if($status){
+            return $this->json_return(200,'',$data);
+        }else{
+            return $this->json_return(201,$data);
+        }
+
+    }
 }

+ 1 - 0
app/Http/Controllers/Api/LoginController.php

@@ -22,6 +22,7 @@ class LoginController extends BaseController
         $data = $request->only("account","password");
 
         //登录
+
         $result = (new EmployeeService())->loginRule($data);
         list($bool, $return) = $result;
         if(! $bool) return $this->json_return(201,'',$return);

+ 3 - 1
app/Http/Controllers/Api/TestController.php

@@ -13,7 +13,9 @@ use Illuminate\Support\Facades\DB;
 class TestController extends BaseController
 {
 
-
+    public function tt(){
+        die('123132');
+    }
 
     public function aa(){
         $data = [

+ 21 - 2
app/Service/Box/BoxHookService.php

@@ -162,10 +162,10 @@ class BoxHookService extends Service
     public function boxDetail($data){
 //        var_dump($data);
         if(isset($data['top_order_no'])) $top_order_no = $data['top_order_no'];
-        else $top_order_no = Box::where('order_no',$data['order_no'])->value('top_order_no');
+        else $top_order_no = Box::where('order_no',$data['order_no'])->where('del_time',0)->value('top_order_no');
         $box = new BoxDetail(['channel'=>$top_order_no]);
 //        $list = [];
-        $box = $box->where('top_order_no',$top_order_no);
+        $box = $box->where('order_no',$data['order_no'])->where('del_time',0);
         if(isset($data['id'])) {
             $box = $box->where('top_id',$data['id']);
         }
@@ -181,6 +181,25 @@ class BoxHookService extends Service
 
     }
 
+    /**
+     * @param $order_no
+     * @return array
+     */
+    public function delBox($order_no){
+        $box = Box::where('del_time',0)->where('order_no',$order_no)->first();
+        if(empty($box)) return [];
+        $boxDetail = new BoxDetail(['channel'=>$box->top_order_no]);
+//        $list = [];
+        $list = $boxDetail->where('order_no',$order_no)->where('del_time',0)->select('id','top_id','num')->get()->toArray();
+
+        $boxDetail->where('order_no',$order_no)->where('del_time',0)->update([
+            'del_time' => time()
+        ]);
+        $box->del_time = time();
+        $box->save();
+        return $list;
+    }
+
 //    /**
 //     * @param $data
 //     * @return array

+ 51 - 6
app/Service/Box/BoxService.php

@@ -289,8 +289,9 @@ class BoxService extends Service
 
         $box_no = self::$box_hook->setOrderNo();
         foreach ($param as $k=>$v){
+            $top_order_no = SaleOrdersProduct::where('out_order_no',$k)->value('order_no');
             $postParam = [
-                'order_no' => $k,
+                'order_no' => $top_order_no,
                 'param' => $v,
                 'box_no' => $box_no,
                 'transport_no' => $shipment_order_no,
@@ -470,6 +471,7 @@ class BoxService extends Service
             $key_list[$v['id']] = $v;
         }
         foreach ($data as &$v){
+            $v['ext_3'] = $key_list[$v['top_id']]['product_no'];
             $v['wood_name'] = $key_list[$v['top_id']]['wood_name'];
             $v['technology_name'] = $key_list[$v['top_id']]['technology_name'];
             $v['process_mark'] = $key_list[$v['top_id']]['process_mark'];
@@ -486,9 +488,12 @@ class BoxService extends Service
      */
     public function boxOrderDetailByTop($data){
 
-        $top_order_no = $data['top_order_no'];
         $list = new Box();
-        $list = $list->wherein('top_order_no',$top_order_no)->select('top_order_no','order_no','crt_time')->get()->toArray();
+        if(isset($data['top_order_no'])&&!empty($data['top_order_no'])) $list = $list->wherein('top_order_no',$data['top_order_no']);
+        if(isset($data['transport_no'])&&!empty($data['transport_no'])) $list = $list->wherein('shipment_order_no',$data['transport_no']);
+//        if(isset($data['top_order_no'])) $list = $list->wherein('top_order_no',$data['top_order_no']);
+//        if(isset($data['transport_no'])) $list = $list->wherein('shipment_order_no',$data['transport_no']);
+        $list = $list->select('top_order_no','order_no','crt_time')->get()->toArray();
 
 
         return [true,$list];
@@ -503,10 +508,15 @@ class BoxService extends Service
     public function boxOrderDetailByOrderNo($data){
 
         $order_nos = $data['order_nos'];
-        $top_order_no = $data['top_order_no'];
+        $order_nos = array_unique($order_nos);
+        $list = Box::where('del_time',0)->wherein('order_no',$order_nos)->select('order_no','out_order_no','top_order_no','shipment_order_no as transport_no')->get()->toArray();
+        $detail_list = [];
+        foreach ($list as $v){
+            $model = new BoxDetail(['channel'=>$v['top_order_no']]);
+            $detail_list = array_merge($detail_list,$model->where('order_no',$v['order_no'])->where('top_order_no',$v['top_order_no'])->get()->toArray());
+        }
+        $list = $detail_list;
 
-        $list = new BoxDetail(['channel'=>$top_order_no]);
-        $list = $list->wherein('order_no',$order_nos)->get()->toArray();
         $ids = [];
         foreach ($list as $v){
             $ids[] = $v['top_id'];
@@ -520,8 +530,12 @@ class BoxService extends Service
         foreach ($list as &$v){
             $detail = $sale_orders_key_product[$v['top_id']];
 //            var_dump($detail);die;
+            $v['customer_name'] = $detail['customer_name'];
+            $v['ext_4'] = $detail['product_title'];
+            $v['ext_5'] = $detail['product_size'];
             $v['customer_name'] = $detail['customer_name'];
             $v['technology_material'] = $detail['technology_material'];
+            $v['transport_no'] = $v['shipment_order_no'];
             $v['wood_name'] = $detail['wood_name'];
             $v['team_name'] = isset($team_key_list[$v['team_id']]) ? $team_key_list[$v['team_id']] : '' ;
         }
@@ -529,7 +543,38 @@ class BoxService extends Service
         return [true,$list];
     }
 
+    public function boxOrderGroup($data){
+        $list = new Box();
+        if(!isset($data['top_order_no'])&&!isset($data['transport_no'])) return [false,'销售单或发货单必选一个'];
+        if(isset($data['top_order_no'])&&!empty($data['top_order_no'])) $list = $list->wherein('top_order_no',$data['top_order_no']);
+        if(isset($data['transport_no'])&&!empty($data['transport_no'])) $list = $list->wherein('shipment_order_no',$data['transport_no']);
+        $list = $list->select('top_order_no','order_no','crt_time')->get()->toArray();
+
+
+        return [true,$list];
+    }
+
+
+    public function transportNo(){
+        $list = Box::where('del_time',0)->where('shipment_order_no','<>','')->groupBy('shipment_order_no')->pluck('shipment_order_no')->toArray();
 
+        return [true,$list];
+    }
+
+    public function delBoxDetail($data){
+        $order_nos = $data['order_nos'];
+        foreach ($order_nos as $v){
+            $list = self::$box_hook->delBox($v);
+            foreach ($list as $vv){
+                SaleOrdersProduct::where('id',$vv['top_id'])->update([
+                    'box_num' => DB::raw('box_num - '.$vv['num'])
+                ]);
+            }
+        }
+
+        return [true,'删除成功'];
+    }
+//    public function
 
 
 }