shish 5 лет назад
Родитель
Сommit
dab957b60f

+ 41 - 3
biz-hd/purchase/classes/PurchaseClass.php

@@ -3,6 +3,7 @@
 namespace bizHd\purchase\classes;
 
 use biz\ghs\classes\GhsClass;
+use biz\shop\models\Shop;
 use bizGhs\admin\classes\AdminClass;
 use bizGhs\order\traits\OrderTrait;
 use bizGhs\product\classes\ProductClass;
@@ -60,9 +61,9 @@ class PurchaseClass extends BaseClass
         //传过滤的productId 是供货商的,需要转换为零售端(hd)的productId
         //补充了hdProductId
         //[{"productId":"113","bigNum":1,"smallNum":0,"classId":"-2","hdProductId":1}]
-        $hdShopId = $data['shopId'] ?? 0;
-        $hdSjId = $data['merchantId'] ?? 0;
-        $productList = ProductClass::toggleProductList($productList, $hdShopId, $hdSjId);
+        $shopId = $data['shopId'] ?? 0;
+        $sjId = $data['merchantId'] ?? 0;
+        $productList = ProductClass::toggleProductList($productList, $shopId, $sjId);
 
         $productData = self::getProductMapData($productList, "productId");
         $hdProductData = self::getProductMapData($productList, "hdProductId");
@@ -131,6 +132,15 @@ class PurchaseClass extends BaseClass
             util::fail('请选择花材');
         }
         PurchaseItemClass::batchAdd($productList);
+
+        $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
+        if (empty($shop)) {
+            util::fail('没有找到门店');
+        }
+        $shop->totalPurchaseOrder += 1;
+        $shop->cgUnPay += 1;
+        $shop->save();
+
         return $respond;
     }
 
@@ -214,6 +224,16 @@ class PurchaseClass extends BaseClass
 //        foreach ($purchaseItem as $v) {
 //            ProductClass::addStockByItemNum($v['ghsProductId'], $v['itemNum']);
 //        }
+
+        $shopId = $purchase->shopId;
+        $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
+        if (empty($shop)) {
+            util::fail('没有找到门店');
+        }
+        $shop->cgUnPay -= 1;
+        $shop->cgCancel += 1;
+        $shop->save();
+
         return $purchase;
     }
 
@@ -265,6 +285,15 @@ class PurchaseClass extends BaseClass
         $purchase->status = self::STATUS_COMPLETE;
         $purchase->save();
 
+        $shopId = $purchase->shopId;
+        $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
+        if (empty($shop)) {
+            util::fail('没有找到门店');
+        }
+        $shop->cgSending -= 1;
+        $shop->cgFinish += 1;
+        $shop->save();
+
         /********订单完成后加库存 linqh 2021-05-10*********/
         $orderSn = $purchase->orderSn;
         $purchaseItem = PurchaseItemClass::getAllByCondition(['orderSn' => $orderSn], null, "*");
@@ -282,6 +311,15 @@ class PurchaseClass extends BaseClass
         }
         $purchase->status = PurchaseClass::STATUS_SENDING;
         $purchase->save();
+
+        $shopId = $purchase->shopId;
+        $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
+        if (empty($shop)) {
+            util::fail('没有找到门店');
+        }
+        $shop->cgUnSend -= 1;
+        $shop->cgSending += 1;
+        $shop->save();
     }
 
 }

+ 2 - 1
biz-hd/purchase/services/PurchaseService.php

@@ -215,7 +215,8 @@ class PurchaseService extends BaseService
             $shop->balance = bcsub($shop->balance, $actPrice, 2);
         }
         $shop->totalPurchase = bcadd($shop->totalPurchase, $actPrice, 2);
-        $shop->totalPurchaseOrder += 1;
+        $shop->cgUnPay -= 1;
+        $shop->cgUnSend += 1;
         $shop->save();
 
         /**零售的供货商资产变化**/

+ 2 - 1
console/controllers/PurchaseController.php

@@ -29,7 +29,8 @@ class PurchaseController extends Controller
             foreach ($query->batch() as $purchases) {
                 foreach ($purchases as $purchase) {
                     $id = $purchase['id'] ?? 0;
-                    PurchaseService::expire($id);
+                    $current = PurchaseClass::getById($id, true);
+                    PurchaseService::expire($current);
                     $log = "过期的采购单:{$id} json:" . json_encode($purchase);
                     $arr[] = $log;
                 }

+ 1 - 1
sql.sql

@@ -2502,7 +2502,7 @@ ALTER TABLE xhShop ADD cgUnPay INT NOT NULL DEFAULT 0 COMMENT '采购待付款
 ALTER TABLE xhShop ADD cgUnSend INT NOT NULL DEFAULT 0 COMMENT '采购待配送订单数' AFTER `cgUnPay`;
 ALTER TABLE xhShop ADD cgSending INT NOT NULL DEFAULT 0 COMMENT '采购配送中订单数' AFTER `cgUnSend`;
 ALTER TABLE xhShop ADD cgFinish INT NOT NULL DEFAULT 0 COMMENT '采购完成订单数' AFTER `cgSending`;
-
+ALTER TABLE xhShop ADD cgCancel INT NOT NULL DEFAULT 0 COMMENT '采购取消订单数' AFTER `cgFinish`;
 
 -----linqh 2021.5.14  监控ws定时任务
 */1 * * * * sh /root/new_monitor_shell/ws_monitor.sh >> /dev/null 2>&1