Browse Source

拆单+打印

gorden 5 months ago
parent
commit
36f218d656
2 changed files with 63 additions and 11 deletions
  1. 62 11
      app/admin/controller/order/WholeController.php
  2. 1 0
      route/admin.php

+ 62 - 11
app/admin/controller/order/WholeController.php

@@ -27,6 +27,7 @@ use app\model\MemberBenefit;
 use app\model\MemberRole;
 use app\model\Order;
 use app\model\OrderExpress;
+use app\model\OrderProcess;
 use app\model\OrderReturn;
 use app\model\OrderSheet;
 use app\model\PayDetail;
@@ -464,8 +465,8 @@ class WholeController extends Curd
                     $item['member']['level'] = MemberRole::where('member_role_id', $item['member']['join_member_role_id'])->value('member_role_name');
                 }
 
-                if (!empty($item['member_info'])){
-                    if (empty($item['member_info']['member_info_headimg']) || substr($item['member_info']['member_info_headimg'],0,1) == '.'){
+                if (!empty($item['member_info'])) {
+                    if (empty($item['member_info']['member_info_headimg']) || substr($item['member_info']['member_info_headimg'], 0, 1) == '.') {
                         $item['member_info']['member_info_headimg'] = "https://img.wanyuewellness.com.cn/images/avatar_default.png";
                     }
                 }
@@ -473,7 +474,7 @@ class WholeController extends Curd
             $order->sheet_amount = number_format($sheetAmount, 2);
 
             $payDetails = PayDetail::where('join_pay_order_id', $order->order_groupby)
-                ->whereJsonContains('join_pay_object_json->order_id',$orderId)
+                ->whereJsonContains('join_pay_object_json->order_id', $orderId)
                 ->where('pay_category', '<>', 'REFUND')
                 ->where('pay_status', 'SUCCESS')
                 ->select('pay_id', 'pay_category', 'pay_prepayid', 'pay_paytimes', 'pay_status', 'pay_amount', 'pay_extend_json')
@@ -1320,7 +1321,7 @@ class WholeController extends Curd
             if ($order->order_status_payment != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
-                if (!is_array($couponUseJson)){
+                if (!is_array($couponUseJson)) {
                     $couponUseJson = json_decode($couponUseJson, true);
                 }
                 $this->changeOrderCouponStatus($couponUseJson, 'WAITING');
@@ -1773,7 +1774,7 @@ class WholeController extends Curd
             if ($order->order_status_payment != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
-                if (!is_array($couponUseJson)){
+                if (!is_array($couponUseJson)) {
                     $couponUseJson = json_decode($couponUseJson, true);
                 }
                 $this->changeOrderCouponStatus($couponUseJson, 'WAITING');
@@ -2516,7 +2517,7 @@ class WholeController extends Curd
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
-                if (!is_array($couponUseJson)){
+                if (!is_array($couponUseJson)) {
                     $couponUseJson = json_decode($couponUseJson, true);
                 }
                 $this->changeOrderCouponStatus($couponUseJson, 'WAITING');
@@ -2552,7 +2553,7 @@ class WholeController extends Curd
     {
         if (!empty($coupon) && is_array($coupon)) {
             $updateData = [
-                'coupon_detail_status'=>'ACTIVED',
+                'coupon_detail_status' => 'ACTIVED',
                 'coupon_detail_used_datetime' => ''
             ];
             foreach ($coupon as $key => $item) {
@@ -3068,7 +3069,7 @@ class WholeController extends Curd
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
-                if (!is_array($couponUseJson)){
+                if (!is_array($couponUseJson)) {
                     $couponUseJson = json_decode($couponUseJson, true);
                 }
                 $this->changeOrderCouponStatus($couponUseJson, 'WAITING');
@@ -4491,7 +4492,7 @@ class WholeController extends Curd
                 if (!empty($premises) || $restaurant) {
                     if ($order->order_classify == 'DISHES' && empty($restaurant)) {
                         $restaurant = SysDept::where('dept_super_id', $premises->dept_id)->where('dept_category', '餐厅')->first();
-                    }else{
+                    } else {
                         $restaurant = $premises;
                     }
 
@@ -4511,7 +4512,7 @@ class WholeController extends Curd
                                 ]
                             ]
                         ];
-                        if (strpos($print, '核销') !== false){
+                        if (strpos($print, '核销') !== false) {
                             $voteData['data']['printer_data']['order_payoff'] = 'Y';
                         }
 //                        dump("打印参数",$voteData);
@@ -4525,6 +4526,55 @@ class WholeController extends Curd
         }
     }
 
+    /**
+     * @Desc 单打一条核销记录
+     * @Author Gorden
+     * @Date 2024/9/24 10:36
+     *
+     * @param Request $request
+     * @return Response
+     */
+    public function printerWriterOff(Request $request)
+    {
+        $id = $request->post('id');
+        if (!$id) {
+            return json_fail('参数异常');
+        }
+
+        $payOff = OrderProcess::where('order_process_key', 'PAYOFF')
+            ->where('order_process_json', 'like', '%' . $id . '%')
+            ->first();
+        if (!$payOff) {
+            return json_fail('暂无数据');
+        }
+        try {
+            if (!empty($payOff->order_process_json)) {
+                $processJson = json_decode($payOff->order_process_json, true);
+                $voteData = [
+                    'func' => 'procActionToPrinter',
+                    'sign' => '',
+                    'data' => [
+                        'printer_premises' => $processJson['charge']['charge_premises_info']['dept_id'],
+                        'printer_device' => [
+                            '核销'
+                        ],
+                        'printer_action' => 'ExecPrintOrder',
+                        'printer_data' => [
+                            'order_id' => $processJson['order_id'],
+                            'order_payoff' => 'Y',
+                            'order_payoff_id' => $payOff->orders_process_id,
+                            'order_batch' => ''
+                        ]
+                    ]
+                ];
+            }
+
+            return json_success('success');
+        } catch (\Exception $e) {
+            return json_fail('打印请求发送失败');
+        }
+    }
+
     protected function exportAfterQuery($items)
     {
         $data = [];
@@ -4826,7 +4876,7 @@ class WholeController extends Curd
             }
         ])->where('join_appointment_order_id', $orderId)
             ->where('appointment_status', 'DONE')
-            ->select('join_appointment_member_id', 'join_appointment_goods_id', 'appointment_done_datetime', 'appointment_done_json');
+            ->select('appointment_id', 'join_appointment_member_id', 'join_appointment_goods_id', 'appointment_done_datetime', 'appointment_done_json');
         $total = $appointments->count();
         $rows = $appointments->forPage($page, $pageSize)
             ->orderBy('appointment_done_datetime', 'DESC')
@@ -4850,6 +4900,7 @@ class WholeController extends Curd
                 $doneJson = json_decode($item['appointment_done_json'], true);
                 if (isset($doneJson['charge']) && !empty($doneJson['charge']['charge_user_id'])) {
                     $item['username'] = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
+                    $item['waiter'] = $doneJson['charge']['charge_waiter'] ?? '';
                 }
                 if (isset($doneJson['charge']) && !empty($doneJson['charge']['charge_premises'])) {
                     $item['premise'] = $doneJson['charge']['charge_premises'];

+ 1 - 0
route/admin.php

@@ -938,6 +938,7 @@ Route::group('/admin', function () {
             Route::post('/addDishes', [\app\admin\controller\order\WholeController::class, 'addDishes']);
             Route::post('/cutMeals', [\app\admin\controller\order\WholeController::class, 'cutMeals']);
             Route::post('/customPrinter', [\app\admin\controller\order\WholeController::class, 'customPrinter']);
+            Route::post('/printerWriterOff', [\app\admin\controller\order\WholeController::class, 'printerWriterOff']);
             Route::post('/cancelOrder', [\app\admin\controller\order\WholeController::class, 'cancelOrder']);
             Route::get('/getOrderPayStatus', [\app\admin\controller\order\WholeController::class, 'getOrderPayStatus']);
             Route::get('/writeOffList', [\app\admin\controller\order\WholeController::class, 'writeOffList']);