zhouzhendong преди 4 години
родител
ревизия
2ee449fb51

+ 1 - 1
app/Filters/OrderPackageFilters.php

@@ -155,7 +155,7 @@ class OrderPackageFilters
                 $query->from('order_issues')->select('order_id')->whereNotNull('order_id');
             });
         } else {
-            $this->queryBuilder->whereIn('order_id', function ($query) {
+            $this->queryBuilder->whereNotIn('order_id', function ($query) {
                 $query->from('order_issues')->select('order_id')->whereNotNull('order_id');
             });
         }

+ 1 - 0
app/Http/Controllers/OrderPackageController.php

@@ -50,6 +50,7 @@ class OrderPackageController extends Controller
                 'user_id' => auth()->id(),
                 'order_package_id' => $order_package_id,
                 'content' => $request->remark,
+                'created_at' => now(),
             ];
         }
         OrderPackageRemark::query()->insert($createDate);

+ 59 - 30
app/Http/Controllers/PackageLogisticController.php

@@ -33,8 +33,8 @@ class PackageLogisticController extends Controller
             ->filter($filters)
             ->with([
                 'order.logistic',
-                'rejectedBill'=>function($query){
-                    $query->select('id','logistic_number','logistic_number_return')->where('logistic_number', '原单退回');
+                'rejectedBill' => function ($query) {
+                    $query->select('id', 'logistic_number', 'logistic_number_return')->where('logistic_number', '原单退回');
                 },
                 'orderPackageRemarks' => function ($query) {
                     $query->with('user')->orderByDesc('created_at');
@@ -68,11 +68,11 @@ class PackageLogisticController extends Controller
 
     public function batchUpdate(Request $request)
     {
-        $data['status'] = OrderPackage::switchStatus($request->input('status'));
-        $logistic_numbers = $request->input('logistic_numbers');
-        //标记为手动更新
-        $data['is_manual_update']= true;
-        OrderPackage::query()->whereIn('logistic_number', $logistic_numbers)->update($data);
+        OrderPackage::query()->whereIn('logistic_number', $request->input('logistic_numbers'))->update([
+            'status' => OrderPackage::switchStatus($request->input('status')),
+            //标记为手动更新
+            'is_manual_update' => true,
+        ]);
     }
 
     /**
@@ -85,12 +85,21 @@ class PackageLogisticController extends Controller
         $owner_ids = $userService->getPermittingOwnerIds(auth()->user());
         $query = OrderPackage::query()
             ->filter($filters)
-            ->whereIn('owner_id', $owner_ids)
-            ->with(['order.logistic', 'order.owner', 'order.issue' => function ($query) {
-                $query->with(['issueType', 'logs' => function ($query) {
-                    $query->with('user')->orderBy('created_at', 'DESC');
-                }]);
-            }]);
+            ->with([
+                'order.logistic',
+                'rejectedBill' => function ($query) {
+                    $query->select('id', 'logistic_number', 'logistic_number_return')->where('logistic_number', '原单退回');
+                },
+                'orderPackageRemarks' => function ($query) {
+                    $query->with('user')->orderByDesc('created_at');
+                },
+                'order.owner',
+                'order.issue' => function ($query) {
+                    $query->with(['issueType', 'logs' => function ($query) {
+                        $query->with('user')->orderBy('created_at', 'DESC');
+                    }]);
+                }])
+            ->orderByDesc('id');
         if ($request->exists('checkAllSign')) {
             $orderPackages = $query->orderByDesc('id')->get();
         } else {
@@ -98,7 +107,24 @@ class PackageLogisticController extends Controller
                 ->whereIn('logistic_number', explode(',', $request['data']))
                 ->orderByDesc('id')->get();
         }
-        $row = ["异常类型", "单号", "状态", "快递公司", "货主", "省份", "发出日期", "收货日期", "称重日期", "快递路由", "客服备注", "情况说明", "问题类别", "说明", "操作者", "时间",];
+        $row = [
+            '单号',
+            '状态',
+            '快递公司',
+            '货主',
+            '省份',
+            '发出日期',
+            '收货日期',
+            '称重日期',
+            '快递路由',
+            '退件状态',
+            '客服备注',
+            '情况说明',
+            '问题类别',
+            '说明',
+            '操作者',
+            '时间',
+        ];
         $json = [];
         foreach ($orderPackages as $orderPackage) {
             $transfer_status = "";
@@ -110,9 +136,9 @@ class PackageLogisticController extends Controller
                 }
             }
             $remark = "";
-            if (is_array($orderPackage->remark) && !empty($orderPackage->remark)) {
-                foreach ($orderPackage->remark as $remarkItem) {
-                    $remark = $remark . $remarkItem . ",\r\n";
+            if (!empty($orderPackage->orderPackageRemarks)) {
+                foreach ($orderPackage->orderPackageRemarks as $remarkItem) {
+                    $remark = $remark . $remarkItem->content . '-' . $remarkItem->user->name . '-' . $remarkItem->created_at . ",\r\n";
                 }
             }
             $logsContent = "";
@@ -126,19 +152,22 @@ class PackageLogisticController extends Controller
                 }
             }
             $data = [
-                $orderPackage->logistic_number,
-                $orderPackage->status,
-                $orderPackage->order->logistic->name,
-                $orderPackage->order->owner->name,
-                $orderPackage->order->province,
-                $orderPackage->sent_at,
-                $orderPackage->received_at,
-                $orderPackage->weighed_at,
-                $transfer_status,
-                $remark,
-                $logsContent,
-                $users,
-                $logCreatedAt,
+                $orderPackage->logistic_number ?? '',//单号
+                $orderPackage->status ?? '',//状态
+                $orderPackage->order->logistic->name ?? '',//快递公司
+                $orderPackage->order->owner->name ?? '',//货主
+                $orderPackage->order->province ?? '',//省份
+                $orderPackage->sent_at ?? '',//发出日期
+                $orderPackage->received_at ?? '',//收货日期
+                $orderPackage->weighed_at ?? '',//称重日期
+                $transfer_status ?? '',//快递路由
+                empty($orderPackage->rejectedBill) ? '无' : '有',//退件状态
+                $remark ?? '',//客服备注
+                $orderPackage->order->issue->result_explain ?? '',//情况说明
+                $orderPackage->order->issue->issueType->name ?? '',//问题类别
+                $logsContent ?? '',//说明
+                $users ?? '',//操作者
+                $logCreatedAt ?? '',//时间
             ];
             $json[] = $data;
         }

+ 3 - 2
resources/views/package/logistic/index.blade.php

@@ -366,7 +366,6 @@
                             placeholder: '是否有物流信息',
                             data: [{name: '是', value: '是'}, {name: '否', value: '否'}]
                         },
-                        {name: 'sent_at_end', type: 'dateTime', tip: '选择显示发出时间的截止时间'},
                         {
                             name: 'sync_routes_flag',
                             type: 'select',
@@ -374,7 +373,8 @@
                             placeholder: '是否有查询记录',
                             data: [{name: true, value: '是'}, {name: false, value: '否'}]
                         },
-                        {name: 'received_at_end', type: 'dateTime', tip: '选择显示收货时间的截止时间'},
+
+                        {name: 'sent_at_end', type: 'dateTime', tip: '选择显示发出时间的截止时间'},
                         {
                             name: 'is_issue',
                             type: 'select',
@@ -382,6 +382,7 @@
                             placeholder: '是否为问题件',
                             data: [{name: '是', value: '是'}, {name: '否', value: '否'}]
                         },
+                        {name: 'received_at_end', type: 'dateTime', tip: '选择显示收货时间的截止时间'},
                         {
                             name: 'is_new_rejecting',
                             type: 'select',