Browse Source

拆单+打印

gorden 5 tháng trước cách đây
mục cha
commit
71f6f0d5af

+ 39 - 45
app/admin/controller/order/GoodsController.php

@@ -217,6 +217,7 @@ class GoodsController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -545,7 +546,7 @@ class GoodsController extends Curd
 
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params,$premises);
 
             Db::commit();
 
@@ -555,27 +556,6 @@ class GoodsController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-//                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
-
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -611,6 +591,7 @@ class GoodsController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -881,7 +862,7 @@ class GoodsController extends Curd
             }
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params, $premises);
 
             Db::commit();
 
@@ -891,27 +872,6 @@ class GoodsController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
-
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -1871,7 +1831,7 @@ class GoodsController extends Curd
      * @return void
      * @throws BusinessException
      */
-    public function insertMain($params)
+    public function insertMain($params,$premises)
     {
         try {
             if (empty($params['order_extend_json'])) {
@@ -1927,6 +1887,8 @@ class GoodsController extends Curd
                 $params['order_express_goods'] = json_encode(['sheet' => $sheetIds]);
 
                 $this->insertExpressOne($params, $orderId);
+                // 打小票
+                $this->printerTicket($params, $premises, $orderId);
             }
         } catch (\Exception $e) {
             dump($e->getMessage());
@@ -1934,6 +1896,38 @@ class GoodsController extends Curd
         }
     }
 
+    /**
+     * @Desc 打小票
+     * @Author Gorden
+     * @Date 2024/9/24 9:35
+     *
+     * @param $params
+     * @param $premises
+     * @param $orderId
+     * @return void
+     */
+    public function printerTicket($params, $premises, $orderId)
+    {
+        // 打小票
+        if ($params['order_status_payment'] == 'SUCCESS') {
+            if (!empty($premises) && !empty($premises->dept_id)) {
+                $voteData = [
+                    'func' => 'procActionToPrinter',
+                    'sign' => '',
+                    'data' => [
+                        'printer_premises' => $premises->dept_id,
+                        'printer_device' => ["收银"],
+                        'printer_action' => 'ExecPrintOrder',
+                        'printer_data' => [
+                            'order_id' => $orderId,
+                            'order_batch' => ''
+                        ]
+                    ]
+                ];
+                http_post_json(getenv('VOTE_MENU_URL'), $voteData);
+            }
+        }
+    }
     /**
      * @Desc
      * @Author Gorden

+ 55 - 57
app/admin/controller/order/PackagesController.php

@@ -84,7 +84,7 @@ class PackagesController extends Curd
             $goodsOrderIds = OrderSheet::whereIn('join_sheet_goods_id', $goodsIds)->pluck('join_sheet_order_id')->toArray();
             if (!empty($where['order_id'])) {
                 $orderIds = array_intersect($orderIds, $goodsOrderIds);
-            }else{
+            } else {
                 $orderIds = $goodsOrderIds;
             }
         }
@@ -134,12 +134,12 @@ class PackagesController extends Curd
         ])->leftJoin('order_return', 'order_return.join_return_order_id', '=', 'order.order_id')
             ->leftJoin('order_express', 'order_express.join_express_order_id', '=', 'order.order_id');
         // ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
-        if (isset($where['order_status_system']) && $where['order_status_system'] == 'DONE'){
-            $model = $model->where(function($query){
-                $query->where('order_status_system','DONE')
-                ->orWhere(function($query2){
-                    $query2->where('order_status_system','CONFIRM')->where('order_is_complete','Y');
-                });
+        if (isset($where['order_status_system']) && $where['order_status_system'] == 'DONE') {
+            $model = $model->where(function ($query) {
+                $query->where('order_status_system', 'DONE')
+                    ->orWhere(function ($query2) {
+                        $query2->where('order_status_system', 'CONFIRM')->where('order_is_complete', 'Y');
+                    });
             });
             unset($where['order_status_system']);
         }
@@ -205,10 +205,10 @@ class PackagesController extends Curd
                 ];
             }
             $item['have_success_paydetail'] = 'N';
-            if(PayDetail::where('join_pay_order_id',$item['order_groupby'])
-                ->whereJsonContains('join_pay_object_json->order_id',$item['order_id'])
-                ->where('pay_status','SUCCESS')
-                ->exists()){
+            if (PayDetail::where('join_pay_order_id', $item['order_groupby'])
+                ->whereJsonContains('join_pay_object_json->order_id', $item['order_id'])
+                ->where('pay_status', 'SUCCESS')
+                ->exists()) {
                 $item['have_success_paydetail'] = 'Y';
             }
         }
@@ -353,6 +353,7 @@ class PackagesController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -684,7 +685,7 @@ class PackagesController extends Curd
 
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params, $premises);
 
             Db::commit();
 
@@ -694,26 +695,6 @@ class PackagesController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-//                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -749,6 +730,7 @@ class PackagesController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -1018,7 +1000,7 @@ class PackagesController extends Curd
             }
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params,$premises);
 
             Db::commit();
 
@@ -1028,27 +1010,6 @@ class PackagesController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-//                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
-
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -2009,7 +1970,7 @@ class PackagesController extends Curd
      * @return void
      * @throws BusinessException
      */
-    public function insertMain($params)
+    public function insertMain($params, $premises)
     {
         try {
             if (empty($params['order_extend_json'])) {
@@ -2066,7 +2027,10 @@ class PackagesController extends Curd
 
                 $this->insertExpressOne($params, $orderId);
                 // 写到权益里
-                $this->insertBenefitOne($params,$goods,$orderId);
+                $this->insertBenefitOne($params, $goods, $orderId);
+
+                // 打小票
+                $this->printerTicket($params, $premises, $orderId);
             }
         } catch (\Exception $e) {
             dump($e->getMessage());
@@ -2074,6 +2038,40 @@ class PackagesController extends Curd
         }
     }
 
+    /**
+     * @Desc 打小票
+     * @Author Gorden
+     * @Date 2024/9/24 9:35
+     *
+     * @param $params
+     * @param $premises
+     * @param $orderId
+     * @return void
+     */
+    public function printerTicket($params, $premises, $orderId)
+    {
+        // 打小票
+        if ($params['order_status_payment'] == 'SUCCESS') {
+            if (!empty($premises) && !empty($premises->dept_id)) {
+                $voteData = [
+                    'func' => 'procActionToPrinter',
+                    'sign' => '',
+                    'data' => [
+                        'printer_premises' => $premises->dept_id,
+                        'printer_device' => ["收银"],
+                        'printer_action' => 'ExecPrintOrder',
+                        'printer_data' => [
+                            'order_id' => $orderId,
+                            'order_batch' => ''
+                        ]
+                    ]
+                ];
+//                    dump("小票参数", $voteData);
+                http_post_json(getenv('VOTE_MENU_URL'), $voteData);
+            }
+        }
+    }
+
     /**
      * @Desc 单套包权益
      * @Author Gorden
@@ -2084,7 +2082,7 @@ class PackagesController extends Curd
      * @return void
      * @throws BusinessException
      */
-    public function insertBenefitOne($params, $goods,$orderId)
+    public function insertBenefitOne($params, $goods, $orderId)
     {
         $writeOffDate = [];
         $applyData = [];

+ 44 - 46
app/admin/controller/order/ServicesController.php

@@ -199,6 +199,7 @@ class ServicesController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -527,7 +528,7 @@ class ServicesController extends Curd
 
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params, $premises);
 
             Db::commit();
 
@@ -537,26 +538,6 @@ class ServicesController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-//                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -592,6 +573,7 @@ class ServicesController extends Curd
         $params = $request->post();
         // 判断餐品是否连带着服务或实体
         $goodsClassifys = array_unique(array_column($params['goodsContentList'], 'goods_classify'));
+        $premises = [];
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
@@ -862,7 +844,7 @@ class ServicesController extends Curd
             }
             $params['order_config_json'] = json_encode($orderConfigJson);
             // 写入订单
-            $this->insertMain($params);
+            $this->insertMain($params,$premises);
 
             // 买的单个服务
             $writeOffDate = [];
@@ -923,27 +905,6 @@ class ServicesController extends Curd
                 Event::dispatch('order_pay.member_level.up', $params['join_order_member_id']);
             }
 
-            // 打小票
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                if (!empty($premises) && !empty($premises->dept_id)) {
-                    $voteData = [
-                        'func' => 'procActionToPrinter',
-                        'sign' => '',
-                        'data' => [
-                            'printer_premises' => $premises->dept_id,
-                            'printer_device' => ["收银"],
-                            'printer_action' => 'ExecPrintOrder',
-                            'printer_data' => [
-                                'order_id' => $params['orderId'],
-                                'order_batch' => ''
-                            ]
-                        ]
-                    ];
-//                    dump("小票参数", $voteData);
-                    http_post_json(getenv('VOTE_MENU_URL'), $voteData);
-                }
-            }
-
             if ($params['settlement_now'] == 'Y' && $params['order_status_payment'] != 'SUCCESS') {
                 _syslog("订单", "支付异常,检查是否有轮询");
                 // 恢复优惠券到已占用
@@ -1904,7 +1865,7 @@ class ServicesController extends Curd
      * @return void
      * @throws BusinessException
      */
-    public function insertMain($params)
+    public function insertMain($params, $premises)
     {
         try {
             if (empty($params['order_extend_json'])) {
@@ -1962,7 +1923,10 @@ class ServicesController extends Curd
                 $this->insertExpressOne($params, $orderId);
 
                 // 写到权益里
-                $this->insertBenefitOne($params,$goods,$orderId);
+                $this->insertBenefitOne($params, $goods, $orderId);
+
+                // 打小票
+                $this->printerTicket($params, $premises, $orderId);
             }
         } catch (\Exception $e) {
             dump($e->getMessage());
@@ -1970,6 +1934,40 @@ class ServicesController extends Curd
         }
     }
 
+    /**
+     * @Desc 打小票
+     * @Author Gorden
+     * @Date 2024/9/24 9:35
+     *
+     * @param $params
+     * @param $premises
+     * @param $orderId
+     * @return void
+     */
+    public function printerTicket($params, $premises, $orderId)
+    {
+        // 打小票
+        if ($params['order_status_payment'] == 'SUCCESS') {
+            if (!empty($premises) && !empty($premises->dept_id)) {
+                $voteData = [
+                    'func' => 'procActionToPrinter',
+                    'sign' => '',
+                    'data' => [
+                        'printer_premises' => $premises->dept_id,
+                        'printer_device' => ["收银"],
+                        'printer_action' => 'ExecPrintOrder',
+                        'printer_data' => [
+                            'order_id' => $orderId,
+                            'order_batch' => ''
+                        ]
+                    ]
+                ];
+//                    dump("小票参数", $voteData);
+                http_post_json(getenv('VOTE_MENU_URL'), $voteData);
+            }
+        }
+    }
+
     /**
      * @Desc 单商品权益
      * @Author Gorden
@@ -1980,7 +1978,7 @@ class ServicesController extends Curd
      * @return void
      * @throws BusinessException
      */
-    public function insertBenefitOne($params, $goods,$orderId)
+    public function insertBenefitOne($params, $goods, $orderId)
     {
         $writeOffDate = [];
         $applyData = [];