wugg 2 years ago
parent
commit
ac321dae43
1 changed files with 29 additions and 26 deletions
  1. 29 26
      app/admin/controller/Reorder.php

+ 29 - 26
app/admin/controller/Reorder.php

@@ -863,34 +863,37 @@ class Reorder extends Base
                         "order_status" =>$orderinfo['status'],"before_status"=>$lor
                     ]);
 
-                    $wsmcode = $orderinfo['is_stock'] == 1 ? $cgd['wsm_code'] : $info['return_wsm'];
-                    if ($wsmcode == "") {
-                        Db::rollback();
-                        return error_show(1005, '未找到退货仓库');
+                    if($orderinfo['is_stock'] == 1 || $info['is_th'] == 0){
+                        $wsmcode = $orderinfo['is_stock'] == 1 ? $cgd['wsm_code'] : $info['return_wsm'];
+                        if ($wsmcode == "") {
+                            Db::rollback();
+                            return error_show(1005, '未找到退货仓库');
+                        }
+                        //::todo 非库存品订单退货 采购单退货 虚拟仓如何减库存
+
+                        $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' => $wsmcode])->find();
+                        if (empty($stock)) {
+                            $stock = [
+                                "spuCode" => $info['good_code'],
+                                "wsm_code" => $wsmcode,
+                                "usable_stock" => 0,
+                                "wait_out_stock" => 0,
+                                "wait_in_stock" => 0,
+                                "total_stock" => 0,
+                                "addtime" => date("Y-m-d H:i:s"),
+                                "updatetime" => date("Y-m-d H:i:s"),
+                            ];
+                        }
+                        $stock['usable_stock'] += $info['num'];
+                        $stock['updatetime'] = date("Y-m-d H:i:s");
+                        $st_up = Db::name("good_stock")->save($stock);
+                        if ($st_up == false) {
+                            return error_show(1005, '可售商品入库失败');
+                        }
+                        $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
+                        GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
                     }
-                    //::todo 非库存品订单退货 采购单退货 虚拟仓如何减库存
 
-                    $stock = Db::name("good_stock")->where(["spuCode" => $info['good_code'], 'wsm_code' => $wsmcode])->find();
-                    if (empty($stock)) {
-                        $stock = [
-                            "spuCode" => $info['good_code'],
-                            "wsm_code" => $wsmcode,
-                            "usable_stock" => 0,
-                            "wait_out_stock" => 0,
-                            "wait_in_stock" => 0,
-                            "total_stock" => 0,
-                            "addtime" => date("Y-m-d H:i:s"),
-                            "updatetime" => date("Y-m-d H:i:s"),
-                        ];
-                    }
-                    $stock['usable_stock'] += $info['num'];
-                    $stock['updatetime'] = date("Y-m-d H:i:s");
-                    $st_up = Db::name("good_stock")->save($stock);
-                    if ($st_up == false) {
-                        return error_show(1005, '可售商品入库失败');
-                    }
-                    $good_data = ['good_log_code' => $info['returnCode'], "stock_id" => isset($stock['id']) ? $stock['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1, 'stock' => $info['num'], "stock_name" => "usable_stock"];
-                    GoodLog::LogAdd($this->post['token'], $good_data, 'XSTHD');
                 }
             }
                 Db::commit();