shish il y a 2 ans
Parent
commit
396e88f338

+ 2 - 3
app-ghs/controllers/PurchaseOrderController.php

@@ -185,9 +185,8 @@ class PurchaseOrderController extends BaseController
         if ($cg->status == PurchaseOrderClass::PURCHASE_ORDER_STATUS_COMPLETE) {
             util::fail('已入库,无法取消');
         }
-        $cg->status = PurchaseOrderClass::PURCHASE_ORDER_STATUS_CANCEL;
-        $cg->save();
-        util::complete();
+        PurchaseOrderClass::cancel($cg);
+         util::complete();
     }
 
     //确认入库 sssh 20221211

+ 45 - 0
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -60,6 +60,51 @@ class PurchaseOrderClass extends BaseClass
     const IN_TYPE_LATER = 0;
     const IN_TYPE_NOW = 1;
 
+    //取消采购入库 ssh 20231218
+    public static function cancel($cg)
+    {
+        $cg->status = self::PURCHASE_ORDER_STATUS_CANCEL;
+        $cg->save();
+
+        $orderSn = $cg->orderSn ?? '';
+        $mainId = $cg->mainId ?? 0;
+        $sjId = $cg->sjId ?? 0;
+        $shopId = $cg->shopId ?? 0;
+        $ghsName = $cg->ghsName ?? '';
+        $itemList = PurchaseOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+        if (empty($itemList)) {
+            util::fail('没有找到花材');
+        }
+        foreach ($itemList as $cgKey => $cgItem) {
+            $productId = $cgItem['productId'] ?? 0;
+            $currentNum = $cgItem['itemNum'] ?? 0;
+            $ptItemId = $cgItem['itemId'] ?? 0;
+            $presell = $cgItem['presell'] ?? 0;
+            $product = ProductClass::getLockById($productId);
+            if (empty($product)) {
+                util::fail('没有找到花材哦');
+            }
+            if ($presell == 0) {
+                //减少路上库存
+                $onRecord = [];
+                $onRecord['sjId'] = $sjId;
+                $onRecord['shopId'] = $shopId;
+                $onRecord['mainId'] = $mainId;
+                $onRecord['orderSn'] = $orderSn;
+                $onRecord['productId'] = $productId;
+                $onRecord['itemId'] = $ptItemId;
+                $onRecord['relateName'] = $ghsName;
+                $onRecord['itemNum'] = $currentNum;
+                $oldOnStock = $product->onStock ?? 0;
+                $onRecord['oldStock'] = $oldOnStock;
+                $onRecord['newStock'] = bcsub($oldOnStock, $currentNum);
+                $onRecord['ptStyle'] = 2;
+                OnStockRecordClass::cancelCg($onRecord);
+                ProductClass::decreaseOnStockByItemNum($productId, $currentNum);
+            }
+        }
+    }
+
     public static function printGroup($current, $content)
     {
         //58mm的机器,一行打印16个汉字,32个字母

+ 13 - 4
biz-ghs/stock/classes/OnStockRecordClass.php

@@ -13,12 +13,14 @@ class OnStockRecordClass extends BaseClass
     use OrderTrait;
     public static $baseFile = '\bizGhs\stock\models\OnStockRecord';
 
-    const STOCK_RECORD_TYPE_PURCHASE = 1; //采购发货
-    const STOCK_RECORD_TYPE_IN_STOCK = 3; //完成入库
+    const STOCK_RECORD_TYPE_PURCHASE = 1;//采购发货
+    const STOCK_RECORD_TYPE_IN_STOCK = 3;//完成入库
+    const STOCK_RECORD_TYPE_CANCEL_CG = 4;//取消采购
 
     public static $typeMap = [
         self::STOCK_RECORD_TYPE_PURCHASE => '采购发货',
         self::STOCK_RECORD_TYPE_IN_STOCK => '完成入库',
+        self::STOCK_RECORD_TYPE_CANCEL_CG => '取消采购',
     ];
 
     public static function getRecordList($where)
@@ -96,18 +98,25 @@ class OnStockRecordClass extends BaseClass
         }
     }
 
-    //采购订单流水记录
+    //采购发货 ssh 20231218
     public static function addPurchaseOrderRecord($data)
     {
         $data['recordType'] = self::STOCK_RECORD_TYPE_PURCHASE;
         return self::addRecord($data);
     }
 
-    //入库订单流水记录
+    //完成入库 ssh 20231218
     public static function addInStockOrderRecord($data)
     {
         $data['recordType'] = self::STOCK_RECORD_TYPE_IN_STOCK;
         return self::addRecord($data);
     }
 
+    //取消入库 ssh 20231218
+    public static function cancelCg($data)
+    {
+        $data['recordType'] = self::STOCK_RECORD_TYPE_CANCEL_CG;
+        return self::addRecord($data);
+    }
+
 }