Răsfoiți Sursa

开单方式优化

shish 4 ani în urmă
părinte
comite
3368e8cd3c

+ 2 - 2
app-ghs/controllers/ConsoleController.php

@@ -56,7 +56,7 @@ class ConsoleController extends BaseController
             ["name" => "改价", "img" => "ghs/home/gj.png", "url" => "/admin/changePrice/list"],
             ["name" => "供应商", "img" => "ghs/home/icon_ghs.png", "url" => "/pagesPurchase/supplier"],
             ["name" => "报损单", "img" => "ghs/home/kcyjs.png", "url" => "/admin/breakage/list"],
-            ["name" => "库存预警", "img" => "ghs/home/kcyjs.png", "url" => "/pagesStorehouse/stockWarn/manage"],
+            ["name" => "预订单", "img" => "ghs/home/kcyjs.png", "url" => "/admin/order/statBook"],
             ["name" => "花材", "img" => "ghs/home/hcgl.png", "url" => "/admin/item/list"],
             ["name" => "调拨出库", "img" => "ghs/home/dbck.png", "url" => "/pagesStorehouse/allot/allotEx"],
             ["name" => "调拨入库", "img" => "ghs/home/dbrk.png", "url" => "/pagesStorehouse/allot/allotPut"]
@@ -69,7 +69,7 @@ class ConsoleController extends BaseController
                 ["name" => "改价", "img" => "ghs/home/gj.png", "url" => "/admin/changePrice/list"],
                 ["name" => "供应商", "img" => "ghs/home/icon_ghs.png", "url" => "/pagesPurchase/supplier"],
                 ["name" => "报损单", "img" => "ghs/home/kcyjs.png", "url" => "/admin/breakage/list"],
-                ["name" => "库存预警", "img" => "ghs/home/kcyjs.png", "url" => "/pagesStorehouse/stockWarn/manage"],
+                ["name" => "预订单", "img" => "ghs/home/kcyjs.png", "url" => "/admin/order/statBook"],
                 ["name" => "花材", "img" => "ghs/home/hcgl.png", "url" => "/admin/item/list"],
                 ["name" => "调拨出库", "img" => "ghs/home/dbck.png", "url" => "/pagesStorehouse/allot/allotEx"],
                 ["name" => "邀请开店", "img" => "ghs/home/yqyl.png", "url" => "/pagesInvite/list"]

+ 1 - 1
app-ghs/controllers/ShopController.php

@@ -44,7 +44,7 @@ class ShopController extends BaseController
     //获取当前门店信息 ssh 2021.3.27
     public function actionCurrentShop()
     {
-        $main = $this->main;
+        $main = $this->shop;
         util::success($main);
     }
 

+ 31 - 0
app-ghs/controllers/StatBookController.php

@@ -0,0 +1,31 @@
+<?php
+
+namespace ghs\controllers;
+
+use biz\stat\classes\StatBookClass;
+use common\components\dateUtil;
+use Yii;
+use common\components\util;
+
+class StatBookController extends BaseController
+{
+
+    //花材销量 shish 20211021
+    public function actionProfile()
+    {
+        $get = Yii::$app->request->get();
+        $where = [];
+        $where['mainId'] = $this->mainId;
+        $searchTime = $get['searchTime'] ?? 'today';
+        if (!empty($searchTime)) {
+            $startTime = $get['startTime'] ?? '';
+            $endTime = $get['endTime'] ?? '';
+            $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
+            $where['time'] = ['between', [$period['startTime'], $period['endTime']]];
+        }
+
+        $list = StatBookClass::getAllByCondition($where, null, '*');
+        util::success(['list' => $list]);
+    }
+
+}

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

@@ -61,8 +61,6 @@ class OrderItemClass extends BaseClass
         self::deleteByCondition(['orderSn' => $orderSn]);
         foreach ($product as $key => $val) {
             $val['orderSn'] = $orderSn;
-            $val['smallUnit'] = '支';
-            $val['bigUnit'] = '扎';
             $item = self::add($val, true);
             $currentId = $item->id ?? 0;
             if (isset($item->variety) && $item->variety == 1) {

+ 32 - 7
biz-ghs/product/classes/ProductClass.php

@@ -285,7 +285,7 @@ class ProductClass extends BaseClass
         }
 
         util::unlock($key);
-        return ['oldStock' => $productData['stock'], 'newStock' => $newStock,'itemNum' => $itemNum];
+        return ['oldStock' => $productData['stock'], 'newStock' => $newStock, 'itemNum' => $itemNum];
     }
 
 
@@ -401,7 +401,7 @@ class ProductClass extends BaseClass
         self::updateActualSoldById($productId, $newActualSold);
 
         util::unlock($key);
-        return ['oldStock' => $productData['stock'], 'newStock' => $newStock,'itemNum' => $itemNum];
+        return ['oldStock' => $productData['stock'], 'newStock' => $newStock, 'itemNum' => $itemNum];
     }
 
 
@@ -691,12 +691,37 @@ class ProductClass extends BaseClass
             $tmp['sjId'] = $productData[$productId]['sjId'] ?? 0;
             $tmp['shopId'] = $productData[$productId]['shopId'] ?? 0;
 
-            //小单位单价
-            $smallUnitPrice = bcdiv($itemPrice, $tmp['ratio'], 2);
-            $tmp['smallUnitPrice'] = $smallUnitPrice;
+            $bigNum = $v['bigNum'] ?? 0;
+            $smallNum = $v['smallNum'] ?? 0;
+            if ($smallNum > 0) {
+                $tmp['smallUnitPrice'] = $itemPrice;
+            }
+
+            $totalBigNum += $bigNum;
+            $totalSmallNum += $smallNum;
+
+            if ($bigNum > 0) {
+                $xhUnitType = dict::getDict('unitType', 'big');
+                $xhNum = $bigNum;
+                $xhUnitName = $tmp['bigUnit'] ?? '';
+            } else {
+                $xhUnitType = dict::getDict('unitType', 'small');
+                $xhNum = $smallNum;
+                $xhUnitName = $tmp['smallUnit'] ?? '';
+            }
 
-            $totalBigNum += $v['bigNum'];
-            $totalSmallNum += $v['smallNum'];
+            $xhPrice = bcmul($xhNum, $itemPrice, 2);
+
+            $tmp['xhNum'] = $xhNum;
+            $tmp['xhUnitName'] = $xhUnitName;
+            $tmp['xhUnitType'] = $xhUnitType;
+            $tmp['xhUnitPrice'] = $itemPrice;
+            $tmp['xhPrice'] = $xhPrice;
+            $tmp['xhPreNum'] = $xhNum;
+            $tmp['xhPreUnitName'] = $xhUnitName;
+            $tmp['xhPreUnitType'] = $xhUnitType;
+            $tmp['xhPreUnitPrice'] = $itemPrice;
+            $tmp['xhPrePrice'] = $xhPrice;
 
             $data[] = $tmp;
         }

+ 26 - 2
biz-hd/purchase/classes/PurchaseClass.php

@@ -320,8 +320,32 @@ class PurchaseClass extends BaseClass
             $productList[$key]['preTotalPrice'] = $productTotalPrice;
             $productList[$key]['productId'] = $hdProductId;
             $productList[$key]['ghsProductId'] = $productId;
-            $smallPrice = bcdiv($price, $ratio, 2);
-            $productList[$key]['smallPrice'] = $smallPrice;
+            $productList[$key]['smallPrice'] = $price;
+
+            $currentBigNum = $product['bigNum'] ?? 0;
+            $currentSmallNum = $product['smallNum'] ?? 0;
+            if ($currentBigNum > 0) {
+                $xhNum = $currentBigNum;
+                $xhUnitName = $hdProductData[$hdProductId]['bigUnit'] ?? '';
+                $xhUnitType = dict::getDict('unitType', 'big');
+            } else {
+                $xhNum = $currentSmallNum;
+                $xhUnitName = $hdProductData[$hdProductId]['smallUnit'] ?? '';
+                $xhUnitType = dict::getDict('unitType', 'small');
+            }
+            $itemPrice = $price;
+            $price = bcmul($itemPrice, $xhNum, 2);
+
+            $productList[$key]['xhNum'] = $xhNum;
+            $productList[$key]['xhUnitName'] = $xhUnitName;
+            $productList[$key]['xhUnitType'] = $xhUnitType;
+            $productList[$key]['xhUnitPrice'] = $itemPrice;
+            $productList[$key]['xhPrice'] = $price;
+            $productList[$key]['xhPreNum'] = $xhNum;
+            $productList[$key]['xhPreUnitName'] = $xhUnitName;
+            $productList[$key]['xhPreUnitType'] = $xhUnitType;
+            $productList[$key]['xhPreUnitPrice'] = $itemPrice;
+            $productList[$key]['xhPrePrice'] = $price;
 
             $prePrice = bcadd($prePrice, $productTotalPrice, 2);
         }

+ 13 - 0
biz/stat/classes/StatBookClass.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace biz\stat\classes;
+
+use biz\base\classes\BaseClass;
+use common\components\util;
+
+class StatBookClass extends BaseClass
+{
+
+    public static $baseFile = '\biz\stat\models\StatBook';
+
+}

+ 13 - 0
biz/stat/models/StatBook.php

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

+ 11 - 0
biz/stat/services/StatBookService.php

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

+ 49 - 0
sql.txt

@@ -634,4 +634,53 @@ ALTER TABLE xhCgRefund MODIFY `status` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0'
 ALTER TABLE xhRefund ADD mainId INT NOT NULL DEFAULT 0 COMMENT '中央id' AFTER `id`;
 ALTER TABLE xhCgRefund ADD mainId INT NOT NULL DEFAULT 0 COMMENT '中央id' AFTER `id`;
 
+DROP TABLE IF EXISTS `xhStatBook`;
+CREATE TABLE IF NOT EXISTS `xhStatBook`(
+id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+`mainId` INT NOT NULL DEFAULT 0 COMMENT '中央id',
+`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '名称',
+itemId INT NOT NULL DEFAULT 0 COMMENT '花材id',
+ptItemId INT NOT NULL DEFAULT 0 COMMENT '平台花材id',
+`time` INT(11) NOT NULL DEFAULT '0' COMMENT '日期',
+`num` INT NOT NULL DEFAULT 0 COMMENT '数量',
+`addTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
+`updateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
+)COMMENT='预订单统计';
+DROP TABLE IF EXISTS `xhStatKhBook`;
+CREATE TABLE IF NOT EXISTS `xhStatKhBook`(
+id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+`mainId` INT NOT NULL DEFAULT 0 COMMENT '中央id',
+`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '名称',
+itemId INT NOT NULL DEFAULT 0 COMMENT '花材id',
+ptItemId INT NOT NULL DEFAULT 0 COMMENT '平台花材id',
+`time` INT(11) NOT NULL DEFAULT '0' COMMENT '日期',
+`khId` INT NOT NULL DEFAULT 0 COMMENT '客户id',
+`khName` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '客户名称',
+`num` INT NOT NULL DEFAULT 0 COMMENT '数量',
+`addTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
+`updateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
+)COMMENT='预订单按客户维度统计';
+
+ALTER TABLE xhGhsOrderItem ADD `xhNum` INT(11) NOT NULL DEFAULT '0' COMMENT '当前单位数量' AFTER `variety`;
+ALTER TABLE xhGhsOrderItem ADD `xhUnitName` CHAR(10) NOT NULL DEFAULT '' COMMENT '当前单位名称' AFTER `xhNum`;
+ALTER TABLE xhGhsOrderItem ADD `xhUnitType` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '当前单位类型 0大单位 1小单位' AFTER `xhUnitName`;
+ALTER TABLE xhGhsOrderItem ADD `xhUnitPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '当前单位的单价' AFTER `xhUnitType`;
+ALTER TABLE xhGhsOrderItem ADD `xhPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '当前单位的总价' AFTER `xhUnitPrice`;
+ALTER TABLE xhGhsOrderItem ADD `xhPreNum` INT(11) NOT NULL DEFAULT '0' COMMENT '预订时数量' AFTER `xhPrice`;
+ALTER TABLE xhGhsOrderItem ADD `xhPreUnitName` CHAR(10) NOT NULL DEFAULT '' COMMENT '预订时单位名称' AFTER `xhPreNum`;
+ALTER TABLE xhGhsOrderItem ADD `xhPreUnitType` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '预订时单位类型 0大单位 1小单位' AFTER `xhPreUnitName`;
+ALTER TABLE xhGhsOrderItem ADD `xhPreUnitPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '预订时单价' AFTER `xhPreUnitType`;
+ALTER TABLE xhGhsOrderItem ADD `xhPrePrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '预订时总价' AFTER `xhPreUnitPrice`;
+
+ALTER TABLE xhCgItem ADD `xhNum` INT(11) NOT NULL DEFAULT '0' COMMENT '当前单位数量' AFTER `unitWeight`;
+ALTER TABLE xhCgItem ADD `xhUnitName` CHAR(10) NOT NULL DEFAULT '' COMMENT '当前单位名称' AFTER `xhNum`;
+ALTER TABLE xhCgItem ADD `xhUnitType` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '当前单位类型 0大单位 1小单位' AFTER `xhUnitName`;
+ALTER TABLE xhCgItem ADD `xhUnitPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '当前单位的单价' AFTER `xhUnitType`;
+ALTER TABLE xhCgItem ADD `xhPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '当前单位的总价' AFTER `xhUnitPrice`;
+ALTER TABLE xhCgItem ADD `xhPreNum` INT(11) NOT NULL DEFAULT '0' COMMENT '预订时数量' AFTER `xhPrice`;
+ALTER TABLE xhCgItem ADD `xhPreUnitName` CHAR(10) NOT NULL DEFAULT '' COMMENT '预订时单位名称' AFTER `xhPreNum`;
+ALTER TABLE xhCgItem ADD `xhPreUnitType` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '预订时单位类型 0大单位 1小单位' AFTER `xhPreUnitName`;
+ALTER TABLE xhCgItem ADD `xhPreUnitPrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '预订时单价' AFTER `xhPreUnitType`;
+ALTER TABLE xhCgItem ADD `xhPrePrice` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '预订时总价' AFTER `xhPreUnitPrice`;
+
 ====预订单 ssh 20220321