shish 2 роки тому
батько
коміт
dc393753d1

+ 16 - 0
app-ghs/controllers/CheckOrderController.php

@@ -10,6 +10,22 @@ use common\components\util;
 class CheckOrderController extends BaseController
 {
 
+    //借库存 ssh 20240720
+    public function actionLoan()
+    {
+        $get = Yii::$app->request->get();
+        $inId = $get['inProductId'] ?? 0;
+        $outId = $get['outProductId'] ?? 0;
+        $num = $get['num'] ?? 0;
+        if ($num <= 0) {
+            util::fail('借数量不足');
+        }
+        $shop = $this->shop;
+        $staff = $this->shopAdmin;
+        CheckOrderClass::loanStock($inId, $outId, $num, $shop, $staff);
+        util::complete('操作成功');
+    }
+
     //订单列表 ssh 2021.1.14
     public function actionList()
     {

+ 54 - 0
biz-ghs/order/classes/CheckOrderClass.php

@@ -30,6 +30,60 @@ class CheckOrderClass extends BaseClass
         self::STATUS_COMPLETE => '已盘点',
     ];
 
+    public static function loanStock($inId, $outId, $num, $shop, $staff)
+    {
+        $in = ProductClass::getById($inId, true);
+        if (empty($in)) {
+            util::fail('没有找到花材...');
+        }
+        $inName = $in->name ?? '';
+        $out = ProductClass::getById($outId, true);
+        if (empty($out)) {
+            util::fail('没有找到花材。');
+        }
+        $outName = $out->name ?? '';
+        $outStock = $out->stock ?? 0;
+        $remainOutStock = bcsub($outStock, $num);
+        if ($remainOutStock < 0) {
+            util::fail('库存不够借');
+        }
+
+        $inStock = $in->stock ?? 0;
+        $newInStock = bcadd($inStock, $num);
+
+        //增加盘点记录
+        $adminId = $staff->adminId ?? 0;
+        $sjId = $shop->sjId ?? 0;
+        $shopId = $shop->id ?? 0;
+        $mainId = $shop->mainId ?? 0;
+        $ghsItemInfo = [['productId' => $outId, 'bigNum' => $remainOutStock, 'smallNum' => 0,]];
+        $pdData = [];
+        $pdData['itemInfo'] = $ghsItemInfo;
+        $pdData['sjId'] = $sjId;
+        $pdData['shopId'] = $shopId;
+        $pdData['adminId'] = $adminId;
+        $pdData['mainId'] = $mainId;
+        $pdData['staffName'] = $data['staffName'] ?? '';
+        $pdData['remark'] = "借{$num}个库存给{$inName}";
+        self::opOrder($pdData, false, false);
+
+        $adminId = $staff->adminId ?? 0;
+        $sjId = $shop->sjId ?? 0;
+        $shopId = $shop->id ?? 0;
+        $mainId = $shop->mainId ?? 0;
+        $ghsItemInfo = [['productId' => $inId, 'bigNum' => $newInStock, 'smallNum' => 0,]];
+        $pdData = [];
+        $pdData['itemInfo'] = $ghsItemInfo;
+        $pdData['sjId'] = $sjId;
+        $pdData['shopId'] = $shopId;
+        $pdData['adminId'] = $adminId;
+        $pdData['mainId'] = $mainId;
+        $pdData['staffName'] = $data['staffName'] ?? '';
+        $pdData['remark'] = "向{$outName}借{$num}个库存";
+        self::opOrder($pdData, false, false);
+        return true;
+    }
+
     //2021.1.22 lqh 操作订单  添加/保存草稿/草稿编辑保存: 区别在添加是立即改库存和记录流水记录,而保存草稿是只保存订单信息
     public static function opOrder($data, $draft = false, $update = false)
     {