Browse Source

完善功能

gorden 7 months ago
parent
commit
739c237040
1 changed files with 67 additions and 35 deletions
  1. 67 35
      app/admin/controller/order/WholeController.php

+ 67 - 35
app/admin/controller/order/WholeController.php

@@ -241,6 +241,7 @@ class WholeController extends Curd
             ->get()
             ->toArray();
 
+        $order = Order::where('order_id', $orderId)->first();
         $express = OrderExpress::where('join_express_order_id', $orderId)->first();
         $premises = '';
         if ($express && $express->order_express_type == '自提') {
@@ -317,43 +318,75 @@ class WholeController extends Curd
             } else {
                 $item['skus'] = [];
             }
-            if (in_array($item['goods']['goods_classify'],['SERVICE','CHNMED','CHNNCD','PACKAGE'])) {
-                $benifits = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
-                    ->where('join_benefit_order_id', $orderId)
-                    ->get();
-                if (!empty($benifits)) {
-                    $item['appontment'] = [];
-                    foreach($benifits as $benifit){
-                        $item['benefit'] = [
-                            'total' => intval($benifit->member_benefit_limit_count),
-                            'used' => intval($benifit->member_benefit_used_count),
-                            'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
-                        ];
-                        $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
-                            ->where('appointment_status', 'DONE')
-                            ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
-                            ->get()
-                            ->toArray();
-                        foreach ($appontments as $appontment) {
-                            $doneJson = [];
-                            $username = '';
-                            if (!empty($appontment['appointment_done_json'])) {
-                                $doneJson = json_decode($appontment['appointment_done_json'], true);
-                                if (isset($doneJson['charge'])) {
-                                    $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
-                                }
-                            }
-                            $item['appontment'][] = [
-                                'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
-                                'goods_name' => $item['goods']['goods_name'].'-'.$benifit->member_benefit_name,
-                                'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
-                                'username' => $username,
-                                'nbr' => 1,
-                                'done_time' => $appontment['appointment_done_datetime']
-                            ];
+            if (in_array($item['goods']['goods_classify'],['SERVICE','CHNMED','CHNNCD','PACKAGE']) && $order->order_status_system == 'DONE') {
+                $item['appontment'] = [];
+                $appontments = Appointment::where('join_appointment_order_id', $orderId)
+                    ->where('appointment_status', 'DONE')
+                    ->select('appointment_status', 'appointment_id', 'appointment_done_datetime', 'appointment_done_json','appointment_apply_json')
+                    ->get()
+                    ->toArray();
+                foreach ($appontments as $appontment) {
+                    $doneJson = [];
+                    $username = '';
+                    if (!empty($appontment['appointment_done_json'])) {
+                        $doneJson = json_decode($appontment['appointment_done_json'], true);
+                        if (isset($doneJson['charge'])) {
+                            $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
                         }
                     }
+                    $person = 1;
+                    if (!empty($appontment->appointment_apply_json)){
+                        $applyJson = json_decode($appontment->appointment_apply_json,true);
+                        if (isset($applyJson['person'])){
+                            $person = $applyJson['person'];
+                        }
+                    }
+                    $item['appontment'][] = [
+                        'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
+                        'goods_name' => $item['goods']['goods_name'],
+                        'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
+                        'username' => $username,
+                        'nbr' => $person,
+                        'done_time' => $appontment['appointment_done_datetime'],
+                        'appointment_status' => $appontment['appointment_status'],
+                    ];
                 }
+                // $benifits = MemberBenefit::where('join_benefit_member_id', $item['join_sheet_member_id'])
+                //     ->where('join_benefit_order_id', $orderId)
+                //     ->get();
+                // if (!empty($benifits)) {
+                //     $item['appontment'] = [];
+                //     foreach($benifits as $benifit){
+                //         $item['benefit'] = [
+                //             'total' => intval($benifit->member_benefit_limit_count),
+                //             'used' => intval($benifit->member_benefit_used_count),
+                //             'cut' => $benifit->member_benefit_limit_count - $benifit->member_benefit_used_count,
+                //         ];
+                //         $appontments = Appointment::where('join_appointment_member_benefit_id', $benifit->member_benefit_id)
+                //             ->where('appointment_status', 'DONE')
+                //             ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
+                //             ->get()
+                //             ->toArray();
+                //         foreach ($appontments as $appontment) {
+                //             $doneJson = [];
+                //             $username = '';
+                //             if (!empty($appontment['appointment_done_json'])) {
+                //                 $doneJson = json_decode($appontment['appointment_done_json'], true);
+                //                 if (isset($doneJson['charge'])) {
+                //                     $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
+                //                 }
+                //             }
+                //             $item['appontment'][] = [
+                //                 'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
+                //                 'goods_name' => $item['goods']['goods_name'].'-'.$benifit->member_benefit_name,
+                //                 'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
+                //                 'username' => $username,
+                //                 'nbr' => 1,
+                //                 'done_time' => $appontment['appointment_done_datetime']
+                //             ];
+                //         }
+                //     }
+                // }
             }
             if (!empty($item['order_sheet_extend_json']) && !$express) {
                 $extendJson = json_decode($item['order_sheet_extend_json'], true);
@@ -376,7 +409,6 @@ class WholeController extends Curd
             }
         }
 
-        $order = Order::where('order_id', $orderId)->first();
         $payDetail = PayDetail::where('join_pay_order_id', $order->order_groupby)
             ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status', 'pay_amount')
             ->first();