Procházet zdrojové kódy

大王椰出入库

cqpCow před 1 rokem
rodič
revize
3065335a38
1 změnil soubory, kde provedl 192 přidání a 3 odebrání
  1. 192 3
      app/Jobs/DoorDeviceJob.php

+ 192 - 3
app/Jobs/DoorDeviceJob.php

@@ -82,7 +82,7 @@ class DoorDeviceJob implements ShouldQueue
         }
     }
 
-    public function productionReceipt($data){
+    public function productionReceiptCs($data){
         list($status,$token) = ClearDataService::getTokenCs();
         if(! $status) return;
 
@@ -121,7 +121,7 @@ class DoorDeviceJob implements ShouldQueue
         }
     }
 
-    public function getDispatchList($data){
+    public function getDispatchListCs($data){
         if(empty($data)) return [];
         list($status,$token) = ClearDataService::getTokenCs();
         if(! $status) return [];
@@ -155,7 +155,7 @@ class DoorDeviceJob implements ShouldQueue
         return json_decode($response,true);
     }
 
-    public function completionOrders($data,$type){
+    public function completionOrdersCs($data,$type){
         list($status,$token) = ClearDataService::getTokenCs();
         if(! $status) return;
 
@@ -271,6 +271,195 @@ class DoorDeviceJob implements ShouldQueue
         file_put_contents('record_door_result.txt',date('Y-m-d H:i:s'). PHP_EOL . $response .PHP_EOL.'create'.PHP_EOL,8);
     }
 
+    public function productionReceipt($data){
+        list($status,$token) = ClearDataService::getToken();
+        if(! $status) return;
+
+        $site = $this->site;
+        $url = "http://122.112.250.253:7774/jbl/api/module-data/box_orders/box_orders/diy/production_receipt";
+        $post = [
+            'defective_order_no_list' => $data,
+        ];
+        $header = ["Authorization: Bearer {$token}","Content-Type:application/json","Site:{$site}"];
+        $json = str_replace('"workflowSearchBean":[]','"workflowSearchBean":{}',json_encode($post));
+
+        $curl = curl_init();
+        curl_setopt_array($curl, array(
+            CURLOPT_URL => $url,
+            CURLOPT_RETURNTRANSFER => true,
+            CURLOPT_ENCODING => '',
+            CURLOPT_MAXREDIRS => 10,
+            CURLOPT_TIMEOUT => 0,
+            CURLOPT_FOLLOWLOCATION => true,
+            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+            CURLOPT_CUSTOMREQUEST => 'POST',
+            CURLOPT_POSTFIELDS => $json,
+            CURLOPT_HTTPHEADER => $header,
+        ));
+        $response = curl_exec($curl);
+        curl_close($curl);
+
+        file_put_contents('record_door_result.txt',date('Y-m-d H:i:s'). PHP_EOL . $response .PHP_EOL.'in_opt'.PHP_EOL,8);
+
+        $return = json_decode($response,true);
+        if(! empty($return['data'])){
+            $expire_time = 10;
+            $key = $this->device_id . InOutOptionService::OrderKeyQueueIn;
+            Redis::set($key, json_encode($return['data']));
+            Redis::expire($key, $expire_time);
+        }
+    }
+
+    public function getDispatchList($data){
+        if(empty($data)) return [];
+        list($status,$token) = ClearDataService::getToken();
+        if(! $status) return [];
+
+        $site = $this->site;
+        $url = "http://122.112.250.253:7774/jbl/api/module-data/box_orders/box_orders/diy/defective_order_no_list";
+        $post = [
+            'defective_order_no_list' => $data,
+        ];
+        $header = ["Authorization: Bearer {$token}","Content-Type:application/json","Site:{$site}"];
+        $json = str_replace('"workflowSearchBean":[]','"workflowSearchBean":{}',json_encode($post));
+
+        $curl = curl_init();
+        curl_setopt_array($curl, array(
+            CURLOPT_URL => $url,
+            CURLOPT_RETURNTRANSFER => true,
+            CURLOPT_ENCODING => '',
+            CURLOPT_MAXREDIRS => 10,
+            CURLOPT_TIMEOUT => 0,
+            CURLOPT_FOLLOWLOCATION => true,
+            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+            CURLOPT_CUSTOMREQUEST => 'POST',
+            CURLOPT_POSTFIELDS => $json,
+            CURLOPT_HTTPHEADER => $header,
+        ));
+        $response = curl_exec($curl);
+        curl_close($curl);
+
+        file_put_contents('record_door_result.txt',date('Y-m-d H:i:s'). PHP_EOL . $response .PHP_EOL.'getlist'.PHP_EOL,8);
+
+        return json_decode($response,true);
+    }
+
+    public function completionOrders($data,$type){
+        list($status,$token) = ClearDataService::getToken();
+        if(! $status) return;
+
+        $site = $this->site;
+        $device_id = $this->device_id;
+        //组织数据
+        $main_dtl = $orderNo = [];
+        if($type == 1){
+            $opt = InOutOptionService::OrderKeyQueueIn;
+            $url = 'http://122.112.250.253:7774/jbl/api/module-data/production_receipt/production_receipt';
+            $dynamicFormId = "473758926009479168";
+            $showModelId = "473761325902147584";
+            foreach ($data as $value){
+                if(empty($value['box_orders']['delivery_status'])){
+                    $main_dtl[] = [
+                        "product_code"=> $value['brand_code'],
+                        "product_title"=> $value['product_title'],
+                        "product_size"=> $value['product_size'],
+                        "color"=> $value['color'],
+                        "color_two"=> $value['color_two'],
+                        "product_unit_title"=> $value['product_unit_title'],
+                        "product_unit"=> $value['product_unit'],
+                        "color_code"=> $value['color_code'],
+                        "color_code_two"=> $value['color_code_two'],
+                        "in_num"=> $value['box_num'],
+                    ];
+                    if(! in_array($value['box_orders']['defective_order_no'], $orderNo)) $orderNo[] = $value['box_orders']['defective_order_no'];
+                }
+            }
+            $datas = [
+                'production_receipt' => [
+                    'production_receipt_no' => null,
+                    'in_out_type' => 'RK007',
+                    'box_title' => 'WH05001',
+                    'in_time' => gmdate("Y-m-d\TH:i:s.000\Z"),
+                    'status' => "NOT_APPROVED",
+                ],
+                'production_receipt_dtl' => $main_dtl
+            ];
+        }else{
+            $opt = InOutOptionService::OrderKeyQueueOut;
+            $url = 'http://122.112.250.253:7774/jbl/api/module-data/picking_out/picking_out';
+            $dynamicFormId = "473763313217908736";
+            $showModelId = "473771977253269504";
+            foreach ($data as $value){
+                if(empty($value['box_orders']['delivery_status'])){
+                    $main_dtl[] = [
+                        "product_code"=> $value['brand_code'],
+                        "product_title"=> $value['product_title'],
+                        "product_size"=> $value['product_size'],
+                        "color"=> $value['color'],
+                        "color_two"=> $value['color_two'],
+                        "product_unit_title"=> $value['product_unit_title'],
+                        "product_unit"=> $value['product_unit'],
+                        "color_code"=> $value['color_code'],
+                        "color_code_two"=> $value['color_code_two'],
+                        "in_num"=> $value['box_num'],
+                    ];
+                    if(! in_array($value['box_orders']['defective_order_no'], $orderNo)) $orderNo[] = $value['box_orders']['defective_order_no'];
+                }
+            }
+            $datas = [
+                'picking_out' => [
+                    'picking_out_no' => null,
+                    'in_out_type' => 'CK010',
+                    'box_title' => 'WH05001',
+                    'out_time' => gmdate("Y-m-d\TH:i:s.000\Z"),
+                    'status' => "NOT_APPROVED",
+                ],
+                'picking_out_product' => $main_dtl
+            ];
+        }
+
+        if(! empty($main_dtl)){
+            //有产品
+            $post = [
+                "bizTypeEk" => "LOWCODE",
+                "bizId" => -1,
+                "data" => $datas,
+                "dynamicFormId" => $dynamicFormId,
+                "showModelId" => $showModelId
+            ];
+        }
+        //组织数据------
+        file_put_contents('record_door_result.txt',date('Y-m-d H:i:s'). PHP_EOL . json_encode($post) .PHP_EOL.'post'.PHP_EOL,8);
+
+        $header = ["Authorization: Bearer {$token}","Content-Type:application/json","Site:{$site}"];
+
+        $curl = curl_init();
+        curl_setopt_array($curl, array(
+            CURLOPT_URL => $url,
+            CURLOPT_RETURNTRANSFER => true,
+            CURLOPT_ENCODING => '',
+            CURLOPT_MAXREDIRS => 10,
+            CURLOPT_TIMEOUT => 0,
+            CURLOPT_FOLLOWLOCATION => true,
+            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+            CURLOPT_CUSTOMREQUEST => 'POST',
+            CURLOPT_POSTFIELDS => json_encode($post),
+            CURLOPT_HTTPHEADER => $header,
+        ));
+        $response = curl_exec($curl);
+        curl_close($curl);
+
+        $result = json_decode($response,true);
+        if(! empty($result['createdDate'])) {
+            $expire_time = 10;
+            $key = $device_id . $opt;
+            Redis::set($key, json_encode($orderNo));
+            Redis::expire($key, $expire_time);
+        }
+
+        file_put_contents('record_door_result.txt',date('Y-m-d H:i:s'). PHP_EOL . $response .PHP_EOL.'create'.PHP_EOL,8);
+    }
+
     protected function echoMessage(OutputInterface $output)
     {
         $output->writeln($this->data);