Переглянути джерело

问题件导出 临时修改

ajun 5 роки тому
батько
коміт
d664d24314
1 змінених файлів з 115 додано та 0 видалено
  1. 115 0
      app/Http/Controllers/OrderIssueController.php

+ 115 - 0
app/Http/Controllers/OrderIssueController.php

@@ -614,6 +614,7 @@ class OrderIssueController extends Controller
             '二次订单号','二次承运商','二次运单号','二次商品条码','二次商品名','二次商品数量',
             '最终状态', '承运商赔偿金额', '承运商快递减免', '宝时赔偿金额', '宝时快递减免','事故责任方'
         ];
+//        return $this->getJson($order_Issues);
         $count = null;
         $row_count = 0;
         $start_row=  0;
@@ -730,4 +731,118 @@ class OrderIssueController extends Controller
         ]);
     }
 
+    public function getJson($order_Issues){
+        $json = [];
+        $row = [
+            '登记日期','创建日期','客户','客户订单号','原始承运商','收货人','收货电话','省','市','区','收货人地址',
+            '原始运单号','原始商品','原始商品名称','原始商品数量',
+            '退单备注','退单商品名','退单商品条码','退单商品数量','退单状态',
+            '操作类型','说明','操作者','情况说明','问题类别',
+            '二次订单号','二次承运商','二次运单号','二次商品条码','二次商品名','二次商品数量',
+            '最终状态', '承运商赔偿金额', '承运商快递减免', '宝时赔偿金额', '宝时快递减免','事故责任方'
+        ];
+        foreach ($order_Issues as $order_issue){
+            $order =  $order_issue->order;
+            $orderPacakges = $order_issue->order->packages ?? collect();
+            $logistic_numbers = '';$order_sku  = '';$order_sku_name  = '';$order_sku_amount  = '';
+            $orderPacakges->each(function($package)use(&$logistic_numbers,&$order_sku,&$order_sku_name,&$order_sku_amount){
+                $logistic_numbers.=$package->logistic_number.'\r\n';
+                $package->commodities->each(function($commodities)use(&$order_sku,&$order_sku_name,&$order_sku_amount){
+                    $commodity = $commodities->commodity ?? '';
+                    $order_sku.= ($commodity->sky ?? '').'\r\n';
+                    $order_sku_name.= ($commodity->name ?? '').'\r\n';
+                    $order_sku_amount.= ($commodities->amount ?? '').'\r\n';
+                });
+            });
+            $rejected_Bill_remark = $order_issue->rejectedBill->remark ?? '';
+            $rejected_name = ''; $rejected_barcode = '';$rejected_amount = '';
+            if(isset($order_issue->rejectedBill)){
+                $order_issue->rejectedBill->items(function($item)use(&$rejected_name,&$rejected_barcode, &$rejected_amount){
+                    $rejected_name.= $item->name_goods.'\r\n';
+                    $rejected_barcode.= $item->barcode_goods.'\r\n';
+                    $rejected_amount.= $item->amount.'\r\n';
+                });
+            }
+            $log_type = ''; $log_content = '';$log_user = '';
+            $order_issue->logs->each(function($log)use(&$log_type, &$log_content,&$log_user){
+                $log_type.=$log->type.'\r\n';
+                $log_content.=$log->content.'\r\n';
+                $log_user.=$log->user->name.'\r\n';
+            });
+            $send_order = $order_issue->secondOrder ??  new Order();
+            $send_order_numbers = '';$send_order_sku ='';$send_order_name ='';$send_order_amount = '';
+            $send_order->packages->each(function($package)use(&$send_order_numbers ,&$send_order_sku ,&$send_order_name ,&$send_order_amount ){
+                $send_order_numbers.=($package->logistic_number).'\r\n';
+                $package->commodities->each(function ($commodities)use( &$send_order_sku ,&$send_order_name ,&$send_order_amount ){
+                    $commodity = $commodities->commodity;
+                    $send_order_sku.=$commodity->sku.'\r\n';
+                    $send_order_name.=$commodity->name.'\r\n';
+                    $send_order_amount.=$commodities->amount.'\r\n';
+                });
+            });
+
+            $json[] = [
+                isset($order_issue->created_at) ? str_split($order_issue->created_at,10)[0] :'',       // 登记日期
+                isset($order->created_at) ? str_split($order->created_at,10)[0] :'',             // 创建日期
+                $order->owner->name ?? '',      // 客户
+                $order->client_code,              // 客户订单号
+                $order->logistic->name ?? '',   // 原始承运商
+                $order->consignee_name,         // 收货人
+                $order->consignee_phone,        // 收货电话
+                $order->province,               // 省
+                $order->city,                   // 市
+                $order->district,               // 区
+                $order->address,                // 收货人地址
+
+                $logistic_numbers,              //原始运单号
+                $order_sku,                     //原始商品
+                $order_sku_name,                //原始商品名称
+                $order_sku_amount,              //原始商品数量
+
+                //'退单备注','退单商品名','退单商品条码','退单商品数量','退单状态',
+                $rejected_Bill_remark,                                          // 退单备注
+                $rejected_name,        // 退单商品名
+                $rejected_barcode ,    // 退单商品条码
+                $rejected_amount,      // 退单商品数量
+                $order_issue->rejecting_status ,                                // 退单状态
+
+                // '操作类型','情况说明','问题类别',
+                $log_type,                        //操作类型
+                $log_content,                     //情况说明
+                $log_user,                        //操作者
+
+                // '情况说明','问题类别',
+                $order_issue->result_explain,                               // 情况说明
+                $order_issue->issueType->name ?? '',                                   // 问题类别
+
+                // '二次订单号','二次承运商','二次运单号','二次商品条码','二次商品名','二次商品数量',
+                $order_issue->secondOrder->client_code ?? '',                //二次订单号
+                $order_issue->secondOrder->logistic->name ?? '',             //二次承运商
+                $send_order_numbers ,                                        //二次运单号
+                $send_order_sku,                                             // 二次商品条码
+                $send_order_name,                                            // 二次商品名
+                $send_order_amount,                                          // 二次商品数量
+
+                //'最终状态', '承运商赔偿金额', '承运商快递减免', '宝时赔偿金额', '宝时快递减免','事故责任方'
+                $order_issue->final_status??'',
+                $order_issue->logistic_indemnity_money ,
+                $order_issue->logistic_express_remission,
+                $order_issue->baoshi_indemnity_money,
+                $order_issue->baoshi_express_remission,
+                $order_issue->userWorkGroup->name ?? '',
+            ];
+        }
+        $mergeColumn = ['A','B','C','D','E','F','G','H','I','J','K','L','P','T','X','Y','Z','AA','AF','AG','AH','AI','AJ','AK'];   // 合并行
+        $post=Http::post(config('go.export.url'),['type'=>'base',
+            'data'=>json_encode(['row'=>$row,'list'=>$json,'mergeColumn'=>$mergeColumn],JSON_UNESCAPED_UNICODE), 'createFormat'=>'wrapText']);
+        // 'createFormat'=>'wrapText'
+        if ($post->status() == 500){
+            throw new Exception($post->header("Msg"));
+        }
+        return response($post,200, [
+            "Content-type"=>"application/octet-stream",
+            "Content-Disposition"=>"attachment; filename=订单问题件-".date('ymdHis').'.xlsx',
+        ]);
+    }
+
 }