shish 11 mesi fa
parent
commit
1f5b952291
2 ha cambiato i file con 29 aggiunte e 18 eliminazioni
  1. 12 6
      app-hd/controllers/OrderController.php
  2. 17 12
      biz-hd/work/classes/WorkClass.php

+ 12 - 6
app-hd/controllers/OrderController.php

@@ -727,12 +727,20 @@ class OrderController extends BaseController
             $staff = $this->shopAdmin;
             //售后开付款单,库存要变化,关系要建立,多处需要同步修改 sh_pay_change ssh
             OrderClass::shPayChange($return, $shop, $staff);
-            $transaction->commit();
 
-            //打印小票和语音播报
+            //打印小票和语音播报等使用
             $id = $return->id ?? 0;
             $order = OrderClass::getById($id, true);
 
+            //如果需要生成制作单
+            $needWork = $post['needWork'] ?? 0;
+            if ($needWork == 1) {
+                $main = $this->main;
+                WorkClass::toDoWork($order, $main);
+            }
+
+            $transaction->commit();
+
             if ($order->fromType == 3 || $order->fromType == 4) {
                 //除了客服号下单和美团下单,其它情况允许打小票
             } else {
@@ -754,12 +762,10 @@ class OrderController extends BaseController
             $shop = ShopClass::getById($shopId, true);
             WxMessageClass::gatheringIncomeInform($shop, $order);
 
-            //如果需要生成制作单
-            $needWork = $post['needWork'] ?? 0;
             if ($needWork == 1) {
-                $main = $this->main;
+                //新制作单提示
                 $shopExt = ShopExtClass::getByCondition(['shopId' => $this->shopId], true);
-                WorkClass::toDoWork($order, $main, $shopExt);
+                ShopExtClass::newWorkRemind($shopExt, $order);
             }
 
             util::success($return);

+ 17 - 12
biz-hd/work/classes/WorkClass.php

@@ -130,15 +130,19 @@ class WorkClass extends BaseClass
 
         $ids = array_column($goods, 'productId');
         $info = GoodsClass::getByIds($ids, null, 'id');
-        foreach ($goods as $key => $val) {
+        foreach ($goods as $val) {
             $goodsId = $val['productId'] ?? 0;
-            $name = $info[$goodsId]['name'] ?? '';
-            $goodsSn = $info[$goodsId]['sn'] ?? '';
-            $kindId = $info[$goodsId]['kindId'] ?? 0;
-            $kindName = $info[$goodsId]['kindName'] ?? '';
-            $setItemNum = $info[$goodsId]['setItemNum'] ?? 0;
+            $currentInfo = $info[$goodsId] ?? [];
+            if (empty($currentInfo)) {
+                util::fail('商品没有找到,编号3990,id:' . $goodsId);
+            }
+            $name = $currentInfo['name'] ?? '';
+            $goodsSn = $currentInfo['sn'] ?? '';
+            $kindId = $currentInfo['kindId'] ?? 0;
+            $kindName = $currentInfo['kindName'] ?? '';
+            $setItemNum = $currentInfo['setItemNum'] ?? 0;
             $workNum = $val['num'] ?? 0;
-            $cover = isset($info[$goodsId]['cover']) && !empty($info[$goodsId]['cover']) ? $info[$goodsId]['cover'] : 'hhb_small.png';
+            $cover = !empty($currentInfo['cover']) ? $currentInfo['cover'] : 'hhb_small.png';
             $product = [];
             $goodsItem = GoodsItemClass::getAllByCondition(['goodsId' => $goodsId], null, '*');
             if (!empty($goodsItem)) {
@@ -155,6 +159,9 @@ class WorkClass extends BaseClass
             }
             $goodsCat = GoodsCategoryClass::getByCondition(['gId' => $goodsId], true);
             $catId = $goodsCat->cId ?? 0;
+            if (empty($catId)) {
+                util::fail('没有找到商品的分类呢,编号6225');
+            }
             $catName = '';
             if (!empty($catId)) {
                 $cat = CategoryClass::getById($catId, true);
@@ -417,7 +424,7 @@ class WorkClass extends BaseClass
         return $list;
     }
 
-    public static function toDoWork($order, $main, $shopExt, $params = [])
+    public static function toDoWork($order, $main, $params = [])
     {
         $mainId = $main->id;
         $sjId = $order->sjId ?? 0;
@@ -446,8 +453,8 @@ class WorkClass extends BaseClass
 
         $list = OrderGoodsClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
         if (!empty($list)) {
-            foreach ($list as $key => $goodsInfo) {
-                $goodsId = $goodsInfo->id ?? 0;
+            foreach ($list as $goodsInfo) {
+                $goodsId = $goodsInfo->goodsId ?? 0;
                 $num = $goodsInfo->num ?? 0;
                 $params = [
                     'goods' => [['productId' => $goodsId, 'num' => abs($num)]],
@@ -476,8 +483,6 @@ class WorkClass extends BaseClass
                 ];
                 WorkClass::goodsCreateFinish($params, $main);
             }
-            //新制作单提示
-            ShopExtClass::newWorkRemind($shopExt, $order);
         }
     }