shish 4 năm trước cách đây
mục cha
commit
5f6dc04237
1 tập tin đã thay đổi với 149 bổ sung0 xóa
  1. 149 0
      console/controllers/InitController.php

+ 149 - 0
console/controllers/InitController.php

@@ -37,16 +37,23 @@ use bizGhs\custom\classes\CustomClass;
 use bizGhs\item\classes\ItemClass;
 use bizGhs\item\classes\ItemClassClass;
 use bizGhs\order\classes\CheckOrderClass;
+use bizGhs\order\classes\OrderClass;
+use bizGhs\order\classes\OrderItemClass;
 use bizGhs\order\classes\RefundOrderClass;
+use bizGhs\order\classes\RefundOrderItemClass;
 use bizGhs\order\classes\StockWastageOrderClass;
 use bizGhs\order\classes\StockWastageOrderItemClass;
 use bizGhs\stat\classes\StatYjClass;
 use bizGhs\stat\classes\StatYjMonthClass;
+use bizHd\cg\classes\CgRefundClass;
+use bizHd\cg\classes\CgRefundItemClass;
 use bizHd\ghs\classes\GhsClass;
 use bizHd\goods\classes\CategoryClass;
 use bizHd\goods\classes\GoodsCategoryClass;
 use bizHd\goods\classes\GoodsClass;
 use bizHd\goods\classes\GoodsSettingClass;
+use bizHd\purchase\classes\PurchaseClass;
+use bizHd\purchase\classes\PurchaseItemClass;
 use bizHd\saas\classes\FestRiseClass;
 use bizHd\stat\classes\StatOrderClass;
 use bizHd\stat\classes\StatOrderMonthClass;
@@ -134,6 +141,8 @@ class InitController extends Controller
     //初始化 ./yii init/main
     public function actionMain()
     {
+        ini_set('memory_limit', '2045M');
+        set_time_limit(0);
 
         //基地批发商
         $jdShopList = ShopClass::getAllByCondition(['ptStyle' => dict::getDict('ptStyle', 'kmGhs')], 'default DESC', '*', null, true);
@@ -288,6 +297,146 @@ class InitController extends Controller
         Yii::$app->db->createCommand($sql)->execute();
 
 
+        //供应商的销售单 和 零售的退款单,老字段数据要迁到新字段数据上
+        $ghsSaleRefund = [];
+        $hdCgRefund = [];
+        $refundList = RefundOrderClass::getAllByCondition(['id>' => 0], null, '*', null, true);
+        if (!empty($refundList)) {
+            foreach ($refundList as $key => $refund) {
+                $orderSn = $refund->orderSn ?? '';
+                $relateOrderSn = $refund->relateOrderSn ?? '';
+                if (empty($orderSn)) {
+                    continue;
+                }
+                $refundItemList = RefundOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+                if (!empty($refundItemList)) {
+                    foreach ($refundItemList as $refundItem) {
+                        $refundItem->xhNum = floatval($refundItem->itemNum);
+                        $refundItem->xhUnitName = '扎';
+                        $refundItem->xhUnitType = 0;
+                        $refundItem->xhUnitPrice = $refundItem->itemPrice;
+                        $refundItem->xhPrice = bcmul($refundItem->itemPrice, $refundItem->itemNum, 2);
+                        $refundItem->save();
+                        $productId = $refundItem->productId ?? 0;
+                        $ghsSaleRefund[$relateOrderSn][$productId] = floatval($refundItem->itemNum);
+                    }
+                }
+            }
+        }
+        $cgRefundList = CgRefundClass::getAllByCondition(['id>' => 0], null, '*', null, true);
+        if (!empty($cgRefundList)) {
+            foreach ($cgRefundList as $cgRefund) {
+                $orderSn = $cgRefund->orderSn ?? '';
+                $cgId = $cgRefund->cgId ?? 0;
+                if (empty($orderSn)) {
+                    continue;
+                }
+                $cgRefundItemList = CgRefundItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+                if (!empty($cgRefundItemList)) {
+                    foreach ($cgRefundItemList as $cgItem) {
+                        $cgItem->xhNum = floatval($cgItem->itemNum);
+                        $cgItem->xhUnitName = '扎';
+                        $cgItem->xhUnitType = 0;
+                        $cgItem->xhUnitPrice = $cgItem->itemPrice;
+                        $cgItem->xhPrice = bcmul($cgItem->itemPrice, $cgItem->itemNum, 2);
+                        $cgItem->save();
+                        $productId = $cgItem->productId ?? 0;
+                        $hdCgRefund[$cgId][$productId] = floatval($cgItem->itemNum);
+                    }
+                }
+            }
+        }
+print_r($ghsSaleRefund);
+        //供应商的销售单 和 零售的采购单,老字段数据要迁到新字段数据上
+        $orderList = OrderClass::getAllByCondition(['id>' => 0], null, '*', null, true);
+        if (!empty($orderList)) {
+            foreach ($orderList as $order) {
+                $orderSn = $order->orderSn ?? '';
+                if (empty($orderSn)) {
+                    continue;
+                }
+                $orderItemList = OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+                if (!empty($orderItemList)) {
+                    foreach ($orderItemList as $orderItem) {
+                        $productId = $orderItem->productId ?? 0;
+                        $refundNum = $ghsSaleRefund[$orderSn][$productId] ?? 0;
+
+                        $bigNum = $orderItem->bigNum ?? 0;
+                        $smallNum = $orderItem->smallNum ?? 0;
+                        $unitPrice = $orderItem->unitPrice ?? 0;
+                        $smallUnitPrice = $orderItem->smallUnitPrice ?? 0;
+                        if ($bigNum > 0) {
+                            $xhUnitType = 0;
+                            $xhUnitName = '扎';
+                            $xhNum = $bigNum;
+                            $xhUnitPrice = $unitPrice;
+                        } else {
+                            $xhUnitType = 1;
+                            $xhUnitName = '支';
+                            $xhNum = $smallNum;
+                            $xhUnitPrice = $smallUnitPrice;
+                        }
+
+                        $orderItem->xhNum = $xhNum;
+                        $orderItem->xhUnitName = $xhUnitName;
+                        $orderItem->xhUnitType = $xhUnitType;
+                        $orderItem->xhUnitPrice = $xhUnitPrice;
+                        $orderItem->xhPrice = bcmul($xhNum, $xhUnitPrice, 2);
+                        $orderItem->xhPreNum = 0;
+                        $orderItem->xhPreUnitName = 0;
+                        $orderItem->xhPreUnitType = 0;
+                        $orderItem->xhPreUnitPrice = 0;
+                        $orderItem->xhPrePrice = 0;
+                        //refundNum 已退货数量
+                        $orderItem->refundNum = $refundNum;
+                        $orderItem->save();
+                    }
+                }
+            }
+        }
+
+        $cgList = PurchaseClass::getAllByCondition(['id>' => 0], null, '*', null, true);
+        if (!empty($cgList)) {
+            foreach ($cgList as $cg) {
+                $orderSn = $cg->orderSn ?? '';
+                $cgId = $cg->id ?? 0;
+                if (empty($orderSn)) {
+                    continue;
+                }
+                $cgItemList = PurchaseItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true);
+                if (!empty($cgItemList)) {
+                    foreach ($cgItemList as $cgItem) {
+                        $productId = $cgItem->productId ?? 0;
+                        $refundNum = $hdCgRefund[$cgId][$productId] ?? 0;
+
+                        if (floor($cgItem->itemNum) == $cgItem->itemNum) {
+                            $xhNum = $cgItem->itemNum;
+                            $xhUnitType = 0;
+                            $xhUnitName = '扎';
+                            $xhUnitPrice = $cgItem->price;
+                            $xhPrice = $cgItem->totalPrice;
+                        } else {
+                            $xhUnitType = 1;
+                            $xhUnitName = '支';
+                            $xhNum = bcmul($cgItem->ratio, $cgItem->itemNum);
+                            $xhUnitPrice = $cgItem->smallPrice;
+                            $xhPrice = $cgItem->totalPrice;
+                        }
+
+                        $cgItem->xhNum = $xhNum;
+                        $cgItem->xhUnitName = $xhUnitName;
+                        $cgItem->xhUnitType = $xhUnitType;
+                        $cgItem->xhUnitPrice = $xhUnitPrice;
+                        $cgItem->xhPrice = $xhPrice;
+
+                        $cgItem->refundNum = $refundNum;
+                        $cgItem->save();
+                    }
+                }
+            }
+        }
+
+
         self::migrationDel();
 
         //客户和供应商的中央化