Browse Source

预订优化

shish 2 years ago
parent
commit
97f16dc9ad

+ 41 - 43
app-ghs/controllers/OrderItemController.php

@@ -16,47 +16,6 @@ class OrderItemController extends BaseController
 
     public $guestAccess = [];
 
-    //更换花材 ssh 20240430
-    public function actionChangeItem()
-    {
-        $post = Yii::$app->request->post();
-        $delId = $post['delId'] ?? 0;
-        $orderSn = $post['orderSn'] ?? '';
-        $num = $post['num'] ?? 0;
-        $price = $post['price'] ?? 0;
-        $productId = $post['productId'] ?? 0;
-        $order = OrderClass::getByCondition(['orderSn' => $orderSn], true);
-        if (empty($order)) {
-            util::fail('订单没有找到哦');
-        }
-        if ($order->mainId != $this->mainId) {
-            util::fail('不是你的订单');
-        }
-        $delInfo = OrderItemClass::getById($delId, true);
-        if (empty($delInfo)) {
-            util::fail('没有找到要删除的花材');
-        }
-        if ($delInfo->orderSn != $orderSn) {
-            util::fail('这个花材你不能删除');
-        }
-        $connection = Yii::$app->db;//事务处理
-        $transaction = $connection->beginTransaction();
-        try {
-
-            OrderItemClass::bookDelItem($order, $delId);
-
-            $new = [];
-            $new[$productId] = ['num' => $num, 'productId' => $productId, 'price' => $price];
-            OrderItemClass::bookAddItem($order, $new);
-            $transaction->commit();
-            util::complete('更换成功');
-        } catch (\Exception $e) {
-            $transaction->rollBack();
-            Yii::info("出错了:" . $e->getMessage());
-            util::fail('出错了');
-        }
-    }
-
     //过滤名称 ssh 20240429
     public function actionFilterName()
     {
@@ -131,6 +90,45 @@ class OrderItemController extends BaseController
         }
     }
 
+    //更换花材 ssh 20240430
+    public function actionChangeItem()
+    {
+        $post = Yii::$app->request->post();
+        $delId = $post['delId'] ?? 0;
+        $orderSn = $post['orderSn'] ?? '';
+        $num = $post['num'] ?? 0;
+        $price = $post['price'] ?? 0;
+        $productId = $post['productId'] ?? 0;
+        $order = OrderClass::getByCondition(['orderSn' => $orderSn], true);
+        if (empty($order)) {
+            util::fail('订单没有找到哦');
+        }
+        if ($order->mainId != $this->mainId) {
+            util::fail('不是你的订单');
+        }
+        $delInfo = OrderItemClass::getById($delId, true);
+        if (empty($delInfo)) {
+            util::fail('没有找到要删除的花材');
+        }
+        if ($delInfo->orderSn != $orderSn) {
+            util::fail('这个花材你不能删除');
+        }
+        $connection = Yii::$app->db;//事务处理
+        $transaction = $connection->beginTransaction();
+        try {
+            OrderItemClass::delBookItem($order, $delId);
+            $new = [];
+            $new[$productId] = ['num' => $num, 'productId' => $productId, 'price' => $price];
+            OrderItemClass::addBookItemFn($order, $new);
+            $transaction->commit();
+            util::complete('更换成功');
+        } catch (\Exception $e) {
+            $transaction->rollBack();
+            Yii::info("出错了:" . $e->getMessage());
+            util::fail('出错了');
+        }
+    }
+
     //删除花材 ssh 20240123
     public function actionDelItem()
     {
@@ -156,7 +154,7 @@ class OrderItemController extends BaseController
         $connection = Yii::$app->db;//事务处理
         $transaction = $connection->beginTransaction();
         try {
-            OrderItemClass::bookDelItem($order, $smallId);
+            OrderItemClass::delBookItem($order, $smallId);
             $transaction->commit();
             util::complete('删除成功');
         } catch (\Exception $e) {
@@ -203,7 +201,7 @@ class OrderItemController extends BaseController
         $connection = Yii::$app->db;//事务处理
         $transaction = $connection->beginTransaction();
         try {
-            OrderItemClass::bookAddItem($order, $new);
+            OrderItemClass::addBookItemFn($order, $new);
             $transaction->commit();
             util::complete('添加成功');
         } catch (\Exception $e) {

+ 41 - 0
biz-ghs/book/classes/StatBookClass.php

@@ -0,0 +1,41 @@
+<?php
+
+namespace bizGhs\book\classes;
+
+use bizGhs\base\classes\BaseClass;
+use bizGhs\shop\classes\ShopClass;
+use common\components\util;
+use Yii;
+
+class StatBookClass extends BaseClass
+{
+
+    public static $baseFile = '\bizGhs\book\models\StatBook';
+
+    //预订单统计 ssh 20220402
+    public static function addBookOrderItem($item, $order)
+    {
+        $shopId = $order->shopId ?? 0;
+        $shop = ShopClass::getById($shopId, true);
+        if (empty($shop)) {
+            util::fail('没有门店相关信息');
+        }
+        $bookSn = $shop->bookSn ?? '';
+        $mainId = $order->mainId ?? 0;
+        $itemId = $item->productId ?? 0;
+        $ptItemId = $item->itemId ?? 0;
+        //预订单只会有大单位
+        $num = $item->xhNum ?? 0;
+        $name = $item->name ?? '';
+        $stat = self::getByCondition(['mainId' => $mainId, 'bookSn' => $bookSn, 'itemId' => $itemId,], true);
+        if (empty($stat)) {
+            $stat = self::add(['mainId' => $mainId, 'itemId' => $itemId, 'ptItemId' => $ptItemId, 'name' => $name, 'bookSn' => $bookSn,], true);
+        }
+        $id = $stat->id;
+        $unique = self::getLockById($id);
+        $currentNum = bcadd($unique->num, $num, 2);
+        $unique->num = $currentNum;
+        $unique->save();
+    }
+
+}

+ 12 - 0
biz-ghs/book/classes/StatBookItemClass.php

@@ -0,0 +1,12 @@
+<?php
+namespace bizGhs\book\classes;
+use bizGhs\base\classes\BaseClass;
+use common\components\util;
+use Yii;
+
+class StatBookItemClass extends BaseClass
+{
+
+    public static $baseFile = '\bizGhs\book\models\StatBookItem';
+
+}

+ 12 - 0
biz-ghs/book/classes/StatBookTaskClass.php

@@ -0,0 +1,12 @@
+<?php
+namespace bizGhs\book\classes;
+use bizGhs\base\classes\BaseClass;
+use common\components\util;
+use Yii;
+
+class StatBookTaskClass extends BaseClass
+{
+
+    public static $baseFile = '\bizGhs\book\models\StatBookTask';
+
+}

+ 13 - 0
biz-ghs/book/models/StatBook.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizGhs\book\models;
+use bizGhs\base\models\Base;
+
+class StatBook extends Base
+{
+
+    public static function tableName()
+    {
+        return 'xhStatBook';
+    }
+
+}

+ 13 - 0
biz-ghs/book/models/StatBookItem.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizGhs\book\models;
+use bizGhs\base\models\Base;
+
+class StatBook extends Base
+{
+
+    public static function tableName()
+    {
+        return 'xhStatBook';
+    }
+
+}

+ 13 - 0
biz-ghs/book/models/StatBookTask.php

@@ -0,0 +1,13 @@
+<?php
+namespace bizGhs\book\models;
+use bizGhs\base\models\Base;
+
+class StatBookTask extends Base
+{
+
+    public static function tableName()
+    {
+        return 'xhStatBookTask';
+    }
+
+}

+ 13 - 0
biz-ghs/book/services/StatBookItemService.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizGhs\book\services;
+
+use bizGhs\base\services\BaseService;
+use Yii;
+
+class StatBookItemService extends BaseService
+{
+
+    public static $baseFile = '\bizGhs\book\classes\StatBookItemClass';
+
+}

+ 13 - 0
biz-ghs/book/services/StatBookService.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizGhs\book\services;
+
+use bizGhs\base\services\BaseService;
+use Yii;
+
+class StatBookService extends BaseService
+{
+
+    public static $baseFile = '\bizGhs\book\classes\StatBookClass';
+
+}

+ 13 - 0
biz-ghs/book/services/StatBookTaskService.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace bizGhs\book\services;
+
+use bizGhs\base\services\BaseService;
+use Yii;
+
+class StatBookTaskService extends BaseService
+{
+
+    public static $baseFile = '\bizGhs\book\classes\StatBookTaskClass';
+
+}

+ 2 - 2
biz-ghs/order/classes/OrderItemClass.php

@@ -24,7 +24,7 @@ class OrderItemClass extends BaseClass
     public static $baseFile = '\bizGhs\order\models\OrderItem';
 
     //预订单删除花材项 ssh 20240123
-    public static function bookDelItem($order, $smallId)
+    public static function delBookItem($order, $smallId)
     {
         $son = self::getById($smallId, true);
         if (empty($son)) {
@@ -56,7 +56,7 @@ class OrderItemClass extends BaseClass
     }
 
     //预订单添加花材项 ssh 20240123
-    public static function bookAddItem($order, $itemList)
+    public static function addBookItemFn($order, $itemList)
     {
         $orderSn = $order->orderSn ?? '';
         $addIds = array_column($itemList, 'productId');

+ 2 - 4
biz-ghs/order/services/OrderService.php

@@ -6,12 +6,12 @@ use biz\ghs\classes\GhsClass;
 use biz\shop\classes\ShopAdminClass;
 use biz\shop\classes\ShopCapitalClass;
 use biz\shop\classes\ShopClass;
-use biz\stat\classes\StatBookClass;
 use biz\stat\classes\StatKdClass;
 use biz\stat\classes\StatKhCgClass;
 use biz\stat\classes\StatSaleClass;
 use biz\wx\classes\WxMessageClass;
 use bizGhs\base\services\BaseService;
+use bizGhs\book\classes\StatBookClass;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\order\classes\OrderClass;
 use bizGhs\order\classes\OrderExpressClass;
@@ -756,15 +756,13 @@ class OrderService extends BaseService
         //预订单的待发货订单增加
         if ($book == 1) {
             $main->unSendOrder += 1;
-
             //预订单统计数量增加
             $itemList = OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
             if (!empty($itemList)) {
                 foreach ($itemList as $currentItem) {
-                    StatBookClass::bookOrderAdd($currentItem, $order);
+                    StatBookClass::addBookOrderItem($currentItem, $order);
                 }
             }
-
         } else {
             $main->finishOrder += 1;
         }

+ 2 - 25
biz/stat/classes/StatBookClass.php

@@ -3,35 +3,12 @@
 namespace biz\stat\classes;
 
 use biz\base\classes\BaseClass;
+use biz\shop\classes\ShopClass;
+use common\components\util;
 
 class StatBookClass extends BaseClass
 {
 
     public static $baseFile = '\biz\stat\models\StatBook';
 
-    //预订单统计 ssh 20220402
-    public static function bookOrderAdd($item, $order, $date = null)
-    {
-        $mainId = $order->mainId ?? 0;
-        $itemId = $item->productId ?? 0;
-        $ptItemId = $item->itemId ?? 0;
-        //预订单只会有大单位
-        $num = $item->xhNum ?? 0;
-        $name = $item->name ?? '';
-        $sendTimeWant = $order->sendTimeWant ?? '';
-        if (empty($date) && !empty($sendTimeWant)) {
-            $date = date("Ymd", strtotime($sendTimeWant));
-        }
-        $time = $date == null ? date('Ymd') : $date;
-        $stat = self::getByCondition(['mainId' => $mainId, 'itemId' => $itemId, 'time' => $time], true);
-        if (empty($stat)) {
-            $stat = self::add(['mainId' => $mainId, 'itemId' => $itemId, 'time' => $time, 'ptItemId' => $ptItemId, 'name' => $name], true);
-        }
-        $id = $stat->id;
-        $unique = self::getLockById($id);
-        $currentNum = bcadd($unique->num, $num, 2);
-        $unique->num = $currentNum;
-        $unique->save();
-    }
-
 }