shish 5 anni fa
parent
commit
6eb787136e

+ 25 - 4
app-ghs/controllers/ItemController.php

@@ -33,6 +33,27 @@ class ItemController extends BaseController
         util::complete('添加成功');
     }
 
+    public function actionBatchAdd()
+    {
+        $post = Yii::$app->request->post();
+        $data = $post['data']; //[{itemId:1000,classId:2,cost:1,addPrice:1,stockWarning:1}]
+        if(empty($data)){
+            util::fail("参数错误");
+        }
+        $data = json_decode($data,true);
+        if(!is_array($data) || empty($data)){
+            util::fail("参数格式错误");
+        }
+
+        foreach ($data as $v){
+            $v['adminId'] = $this->adminId;
+            $v['merchantId'] = $this->sjId;
+            ItemService::addGhsItem($v);
+        }
+        util::complete('添加成功');
+
+    }
+
     public function actionUpdate()
     {
         $data = Yii::$app->request->post();
@@ -44,10 +65,10 @@ class ItemController extends BaseController
 
     public function actionDelete()
     {
-        $get = Yii::$app->request->get();
-        $id = isset($get['id']) ? $get['id'] : 0;
-        ItemService::deleteGhsItem($id, $this->shopId, $this->sjId, $this->adminId);
-        util::complete('操作成功');
+//        $get = Yii::$app->request->get();
+//        $id = isset($get['id']) ? $get['id'] : 0;
+//        ItemService::deleteGhsItem($id, $this->shopId, $this->sjId, $this->adminId);
+        util::fail('不能删除哦!');
     }
 
     //获取平台里的花材信息

+ 32 - 22
app-ghs/controllers/ProductController.php

@@ -13,6 +13,7 @@ use bizGhs\item\classes\ItemClassClass;
 use bizGhs\product\classes\ProductClass;
 use bizGhs\product\services\ProductService;
 use bizGhs\item\services\ItemService;
+use common\components\noticeUtil;
 use common\components\util;
 use Yii;
 
@@ -35,14 +36,10 @@ class ProductController extends BaseController
         //根据分类组装分类下的花材信息
         $classIds = ItemClassClass::getGhsItemClassAll($this->sjId);
 
-        //获取供应商下所有花材ID (itemIds)
-        $itemIdsInfo = ItemService::getGhsItemIds($this->sjId);
-
-        $itemIds = array_column($itemIdsInfo, 'itemId');
-
+        $where['merchantId'] = $this->sjId;
         if ($py) {
-            $pyNameItemIds = ItemClass::getItemIdsByPyName($py);
-            $itemIds = array_intersect($itemIds, $pyNameItemIds);
+            $pyName = strtolower($py);
+            $where['py'] = $pyName;
         }
         $shopId = $this->shopId;
         //兼容客户根据门店下单
@@ -56,46 +53,59 @@ class ProductController extends BaseController
             if (!$shopId) {
                 $shopId = $this->shopId;
             }
-
-            $waringItemIds = ProductClass::getItemIdsWarning($this->sjId, $shopId);
-            $itemIds = array_intersect($itemIds, $waringItemIds);
         }
+        $where['shopId'] = $shopId;
 
-
-        $itemInfoData = ProductClass::getProductInfoByItemIds($itemIds, $shopId);
-
+        $itemInfoData = ProductClass::getAllByCondition($where,null,"*");
+        $itemInfoData = ProductClass::groupProductInfo($itemInfoData);
         //常用的itemIds
         $oftenItemIds = ProductClass::getOftenItemIds($shopId);
+        //获取供应商下所有花材ID (itemIds)
+        $itemIdsInfo = ItemService::getGhsItemIds($this->sjId);
 
+        //dd($itemInfoData);
         //组装数据: [{classId:'','className:'',child:[{itemInfoData}]}]
-        $data = ProductService::assembleData($classIds, $itemIdsInfo, $itemInfoData, $oftenItemIds, $type);
+        $data = ProductService::assembleData($classIds, $itemIdsInfo,$itemInfoData, $oftenItemIds, $type);
 
         util::success($data);
     }
 
 
-    //弃用
+    //当前门店所有花材分类
     public function actionList()
     {
         //$classId = Yii::$app->request->get('classId',0);
         $pyName = Yii::$app->request->get('py', '');
-        $itemInfo = ItemClass::getGhsItemAll($this->sjId);
-        $itemIds = array_column($itemInfo, 'itemId');
+//        $itemInfo = ItemClass::getGhsItemAll($this->sjId);
+//        $itemIds = array_column($itemInfo, 'itemId');
+        $where['merchantId'] = $this->sjId;
+
         if ($pyName) {
-            $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
-            $itemIds = array_intersect($itemIds, $pyNameItemIds);
+//            $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
+//            $itemIds = array_intersect($itemIds, $pyNameItemIds);
+            $pyName = strtolower($pyName);
+            $where['py'] = $pyName;
         }
         $shopId = Yii::$app->request->get('shopId', 0);
         if (!$shopId) {
             $shopId = $this->shopId;
         }
+        $where['shopId'] = $shopId;
+
         $type = Yii::$app->request->get('type', '');
+
+        $data = ProductClass::getAllByCondition($where,null,"*");
+        $data = ProductClass::groupProductInfo($data);
         if ($type == 'waring') {
             //库存预警
-            $waringItemIds = ProductClass::getItemIdsWarning($this->sjId, $shopId);
-            $itemIds = array_intersect($itemIds, $waringItemIds);
+            $newData = [];
+            foreach ($data as $v){
+                if($v['stock']  <= $v['stockWarning']) {
+                    $newData[] = $v;
+                }
+            }
+            util::success(['list' => $newData]);
         }
-        $data = ProductClass::getProductInfoByItemIds($itemIds, $shopId);
         util::success(['list' => $data]);
     }
 

+ 32 - 0
app-hd/controllers/MainController.php

@@ -71,4 +71,36 @@ class MainController extends BaseController
         }
     }
 
+    //我的 ssh 2021.4.8
+    public function actionMy()
+    {
+        $shop = $this->shop;
+        $balance = $shop['balance'] ?? 0.00;
+        $txBalance = $shop['txBalance'] ?? 0.00;
+        $sj = $this->sj;
+        $shopImg = $shop['avatar'] ?? '';
+        $deadline = $sj['deadline'] ?? '';
+        $relation = $this->shopAdmin;
+        $adminName = $relation['adminName'];
+        $shopAdminId = $relation['id'];
+        $mobile = $relation['mobile'] ?? '';
+        $sjName = $sj['name'] ?? '';
+        $shopName = $shop['shopName'] ?? '';
+        $cashAccount = $shop['cashAccount'] ?? '';
+        $data = [
+            'balance' => $balance,
+            'txBalance' => $txBalance,
+            'deadline' => $deadline,
+            'adminName' => $adminName,
+            'adminMobile' => $mobile,
+            'sjName' => $sjName,
+            'shopName' => $shopName,
+            'shopImg' => $shopImg,
+            'cashAccount' => $cashAccount,
+            'shopAdminId' => $shopAdminId,
+            'shopId' => $this->shopId,
+        ];
+        util::success($data);
+    }
+
 }

+ 1 - 4
biz-ghs/item/classes/ItemClass.php

@@ -25,11 +25,8 @@ class ItemClass extends BaseClass
         if (empty($list)) {
             return $data;
         }
-        $itemIds = array_column($list, 'itemId');
-        $itemData = xhItemService::getByIds($itemIds);
-        $itemData = array_column($itemData, null, 'id');
         foreach ($list as $k => $v) {
-            $list[$k]['itemName'] = $itemData[$v['itemId']]['name'] ?? '';
+            $list[$k]['itemName'] = $list[$k]['name'] ?? '';
         }
         $data['list'] = $list;
         if (isset($where['classId'])) {

+ 0 - 5
biz-ghs/item/classes/ItemClassClass.php

@@ -88,15 +88,10 @@ class ItemClassClass extends BaseClass
             'merchantId'=>$merchantId
         ];
         $data = self::getAllList('id,name',$where,'inTurn desc');
-        $all = [
-            'id'=>-1,
-            'name'=>'全部'
-        ];
         $use = [
             'id'=>-2,
             'name'=>'常用'
         ];
-        array_unshift($data,$all);
         array_unshift($data,$use);
         return $data;
     }

+ 18 - 2
biz-ghs/item/services/ItemService.php

@@ -29,6 +29,7 @@ class ItemService extends BaseService
         $itemId = $data['itemId']??0;
         $cost = $data['cost']??false;
         $addPrice = $data['addPrice']??false;
+        $stockWarning = $data['stockWarning']??false;
         //$shopId = $data['shopId']??0;
         if(!$merchantId ){
             util::fail("请选择供应商");
@@ -45,6 +46,9 @@ class ItemService extends BaseService
         if($addPrice===false){
             util::fail("请输入花材的加价");
         }
+        if($stockWarning===false){
+            util::fail("请输入库存预警值");
+        }
 
         //判断花材是否存在 调用平台花材的方法
         $checkItem = PtItemClass::getById($itemId);
@@ -56,10 +60,22 @@ class ItemService extends BaseService
         if(!$existItemClass){
             util::fail("花材分类不存在");
         }
+
         $existItem = ItemClass::exists(['itemId'=>$itemId,'merchantId'=>$merchantId]);
         if($existItem){
-            util::fail("花材已存在");
-        }
+            util::fail("花材已添加");
+        }
+        //补全花材信息
+        $data['name'] = $checkItem['name'];
+        $data['alias'] = $checkItem['alias'];
+        $data['py'] = $checkItem['py'];
+        $data['cover'] = $checkItem['cover'];
+        $data['ratio'] = $checkItem['ratio'];
+        $data['weight'] = $checkItem['weight'];
+        $data['bigUnit'] = $checkItem['bigUnit'];
+        $data['smallUnit'] = $checkItem['smallUnit'];
+
+
         $connection = Yii::$app->db;
         $transaction = $connection->beginTransaction();
         try{

+ 8 - 8
biz-ghs/order/classes/CheckOrderClass.php

@@ -149,9 +149,9 @@ class CheckOrderClass extends BaseClass
     public static function groupOrderItem($ghsItemInfo,$orderSn)
     {
         $productData = self::getProductMapData($ghsItemInfo);
-        $itemIds =  array_column($productData,'itemId');
-        $itemData = xhItemService::getByIds($itemIds);
-        $itemData = array_column($itemData, NULL, 'id');
+        // $itemIds =  array_column($productData,'itemId');
+        //$itemData = xhItemService::getByIds($itemIds);
+        //$itemData = array_column($itemData, NULL, 'id');
         //写入详情表
         $batchData = [];
         foreach($ghsItemInfo as $v){
@@ -162,15 +162,15 @@ class CheckOrderClass extends BaseClass
             $tmp['orderSn'] = $orderSn;
             $tmp['itemId'] = $itemId;
             $tmp['productId'] = $v['productId'];
-            $unitNum = $itemData[$itemId]['unitNum']??0;
+            $unitNum = $productData[$productId]['ratio']??0;
             $tmp['itemStock'] = $productData[$productId]['stock']??0;//当时库存
             $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'],$v['smallNum'],$unitNum);// 盘点数量
             $tmp['itemPrice'] =$productData[$productId]['price']??0; //当时售卖的价格
             $tmp['profitLossNum'] = bcsub(   $tmp['itemNum']- $tmp['itemStock'],2); //盈亏数 = 盘点数-当时库存数
             $stockFormat= ProductClass::formatStock($tmp['itemStock'],$unitNum); // 库存总单位数量转大小单位的数量
             $itemInfo = [
-                'itemName'=> $itemData[$itemId]['name']??'',//花材名称
-                'itemCover'=> $itemData[$itemId]['cover']??'',//花材图片
+                'itemName'=> $productData[$productId]['name']??'',//花材名称
+                'itemCover'=> $productData[$productId]['cover']??'',//花材图片
                 'bigNum'=> $v['bigNum']??0,//数量(大单位)
                 'smallNum'=> $v['smallNum']??0,//数量(小单位)
                 'bigNumStock'=> $stockFormat['bigNum'],// 当时库存大单位数
@@ -180,8 +180,8 @@ class CheckOrderClass extends BaseClass
                 'itemUnit'=> $unitNum?2:1,//单位
                 'ratio'=>$unitNum,// 比例
                 'rank'=>$rank,// 花材级别
-                'bigUnit'=> xhItemService::getUnitName($itemData[$itemId]['bigUnit']),//大单位名称 扎
-                'smallUnit'=> xhItemService::getUnitName($itemData[$itemId]['smallUnit']),//小单位名称 支
+                'bigUnit'=> xhItemService::getUnitName($productData[$productId]['bigUnit']),//大单位名称 扎
+                'smallUnit'=> xhItemService::getUnitName($productData[$productId]['smallUnit']),//小单位名称 支
             ];
             $tmp['itemInfo'] = json_encode($itemInfo);
             $batchData[] = $tmp;

+ 12 - 12
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -205,9 +205,9 @@ class PurchaseOrderClass extends BaseClass
     public static function groupOrderItem($ghsItemInfo,$orderSn)
     {
         $productData = self::getProductMapData($ghsItemInfo);
-        $itemIds =  array_column($productData,'itemId');
-        $itemData = xhItemService::getByIds($itemIds);
-        $itemData = array_column($itemData, NULL, 'id');
+        //$itemIds =  array_column($productData,'itemId');
+        //$itemData = xhItemService::getByIds($itemIds);
+        //$itemData = array_column($itemData, NULL, 'id');
         //写入详情表
         $batchData = [];
         foreach($ghsItemInfo as $v){
@@ -218,23 +218,23 @@ class PurchaseOrderClass extends BaseClass
             $tmp['orderSn'] = $orderSn;
             $tmp['itemId'] = $itemId;
             $tmp['productId'] = $v['productId'];
-            $unitNum = $itemData[$itemId]['unitNum']??0;
+            $ratio = $productData[$productId]['ratio']??0;
             $tmp['itemStock'] = $productData[$productId]['stock']??0;//当时库存
-            $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'],$v['smallNum'],$unitNum);// 采购数量
+            $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'],$v['smallNum'],$ratio);// 采购数量
             $tmp['itemPrice'] = $v['itemPrice']; //采购价格
-            $stockFormat= ProductClass::formatStock($tmp['itemStock'],$unitNum); // 库存总单位数量转大小单位的数量
+            $stockFormat= ProductClass::formatStock($tmp['itemStock'],$ratio); // 库存总单位数量转大小单位的数量
             $itemInfo = [
-                'itemName'=> $itemData[$itemId]['name']??'',//花材名称
-                'itemCover'=> $itemData[$itemId]['cover']??'',//花材图片
+                'itemName'=> $productData[$productId]['name']??'',//花材名称
+                'itemCover'=> $productData[$productId]['cover']??'',//花材图片
                 'bigNum'=> $v['bigNum']??0,//采购数量(大单位)
                 'smallNum'=> $v['smallNum']??0,//采购数量(小单位)
                 'bigNumStock'=> $stockFormat['bigNum'],// 当时库存大单位数
                 'smallNumStock'=> $stockFormat['smallNum'],//当时库存 小单位数
-                'itemUnit'=> $unitNum?2:1,//单位
-                'ratio'=>$unitNum,// 比例
+                'itemUnit'=> $ratio?2:1,//单位
+                'ratio'=>$ratio,// 比例
                 'rank'=>$rank,// 花材级别
-                'bigUnit'=> xhItemService::getUnitName($itemData[$itemId]['bigUnit']),//大单位名称 扎
-                'smallUnit'=> xhItemService::getUnitName($itemData[$itemId]['smallUnit']),//小单位名称 支
+                'bigUnit'=> xhItemService::getUnitName($productData[$productId]['bigUnit']),//大单位名称 扎
+                'smallUnit'=> xhItemService::getUnitName($productData[$productId]['smallUnit']),//小单位名称 支
             ];
             $tmp['itemInfo'] = json_encode($itemInfo);
             $batchData[] = $tmp;

+ 8 - 8
biz-ghs/order/classes/StockOutOrderClass.php

@@ -192,9 +192,9 @@ class StockOutOrderClass extends BaseClass
     public static function groupOrderItem($ghsItemInfo,$orderSn)
     {
         $productData = self::getProductMapData($ghsItemInfo);
-        $itemIds =  array_column($productData,'itemId');
-        $itemData = xhItemService::getByIds($itemIds);
-        $itemData = array_column($itemData, NULL, 'id');
+        //$itemIds =  array_column($productData,'itemId');
+        //$itemData = xhItemService::getByIds($itemIds);
+        //$itemData = array_column($itemData, NULL, 'id');
         //写入详情表
         $batchData = [];
         foreach($ghsItemInfo as $v){
@@ -205,14 +205,14 @@ class StockOutOrderClass extends BaseClass
             $tmp['orderSn'] = $orderSn;
             $tmp['itemId'] = $itemId;
             $tmp['productId'] = $v['productId'];
-            $unitNum = $itemData[$itemId]['unitNum']??0;
+            $unitNum = $productData[$productId]['ratio']??0;
             $tmp['itemStock'] = $productData[$productId]['stock']??0;//当时库存
             $tmp['itemNum'] = ProductClass::mergeItemNum($v['bigNum'],$v['smallNum'],$unitNum);// 数量
             $tmp['itemPrice'] =$productData[$productId]['price']??0; //当时售卖的价格
             $stockFormat= ProductClass::formatStock($tmp['itemStock'],$unitNum); // 库存总单位数量转大小单位的数量
             $itemInfo = [
-                'itemName'=> $itemData[$itemId]['name']??'',//花材名称
-                'itemCover'=> $itemData[$itemId]['cover']??'',//花材图片
+                'itemName'=> $productData[$productId]['name']??'',//花材名称
+                'itemCover'=> $productData[$productId]['cover']??'',//花材图片
                 'bigNum'=> $v['bigNum']??0,//数量(大单位)
                 'smallNum'=> $v['smallNum']??0,//数量(小单位)
                 'bigNumStock'=> $stockFormat['bigNum'],// 当时库存大单位数
@@ -220,8 +220,8 @@ class StockOutOrderClass extends BaseClass
                 'itemUnit'=> $unitNum?2:1,//单位数量 2表示有两个单位(e.g 扎和支) 1表是只有一个单位(e.g 扎)
                 'ratio'=>$unitNum,// 比例
                 'rank'=>$rank,// 花材级别
-                'bigUnit'=> xhItemService::getUnitName($itemData[$itemId]['bigUnit']),//大单位名称 扎
-                'smallUnit'=> xhItemService::getUnitName($itemData[$itemId]['smallUnit']),//小单位名称 支
+                'bigUnit'=> xhItemService::getUnitName($productData[$productId]['bigUnit']),//大单位名称 扎
+                'smallUnit'=> xhItemService::getUnitName($productData[$productId]['smallUnit']),//小单位名称 支
             ];
             $tmp['itemInfo'] = json_encode($itemInfo);
             $batchData[] = $tmp;

+ 29 - 1
biz-ghs/product/classes/ProductClass.php

@@ -68,6 +68,34 @@ class ProductClass extends BaseClass
 		return $list;
 	}
 
+	//花材图片,名称,大小单位,小单位价格
+    public static function groupProductInfo($list)
+    {
+        foreach ($list as $k => $v) {
+            if($v['cover']){
+                $cover = self::groupImg($v['cover']);
+            }else{
+                $cover = imgUtil::getPrefix() . '/hhb_small.png';
+            }
+            $ratio = $v['ratio'];
+            $stockInfo = self::formatStock($v['stock'], $ratio);
+            $list[$k]['cover'] = $cover;
+            $list[$k]['bigNum'] = $stockInfo['bigNum'];
+            $list[$k]['smallNum'] = $stockInfo['smallNum'];
+            $list[$k]['itemName'] = $v['name'] ?? '';
+            //换算大小单位对应价格
+            $list[$k]['bigPrice'] = $v['price']; //大单位价格就是product表存的价格
+            $smallPrice = 0;
+            if ($ratio) {
+                $smallPrice = bcdiv($v['price'], $ratio, 2);
+            }
+            $list[$k]['smallPrice'] = $smallPrice;
+            $list[$k]['bigUnit'] = xhItemService::getUnitName($v['bigUnit']);
+            $list[$k]['smallUnit'] = xhItemService::getUnitName($v['smallUnit']);
+        }
+        return $list;
+    }
+
 
 	//根据花材ID,库存=》  计算出多少扎,多少支
 	public static function formatStockByItemId($itemId, $stock)
@@ -135,7 +163,7 @@ class ProductClass extends BaseClass
 	//获取常用的itemIds
 	public static function getOftenItemIds($shopId)
 	{
-		$data = self::getAllList("itemId", ['shopId' => $shopId], 'actualSold desc');
+		$data = self::getLimitList("itemId", ['shopId' => $shopId], 10,'actualSold desc');
 		if ($data) {
 			$data = array_column($data, 'itemId');
 		}

+ 1 - 1
biz-ghs/product/services/ProductService.php

@@ -26,9 +26,9 @@ class ProductService extends BaseService
                     $oftenItemInfoData[] = $v;
                 }
                 $v['classId'] = self::ALL_CLASS_ID;
-                $allData[] = $v;
             }
         }
+
         //classId=>itemId
         $classMapItem = [];
         if($itemIdsInfo){

+ 40 - 1
sql.sql

@@ -1952,6 +1952,13 @@ ALTER TABLE `xhGhsProduct`
 ADD COLUMN `cost`  decimal(9,2) NOT NULL DEFAULT 0 COMMENT '成本价' AFTER `adminId`,
 ADD COLUMN `addPrice`  decimal(9,1) NOT NULL DEFAULT 0 COMMENT '每扎加价' AFTER `cost`;
 
+ALTER TABLE `xhGhsProduct`
+MODIFY COLUMN `addPrice`  decimal(9,2) NOT NULL DEFAULT 0.0 COMMENT '每扎加价' AFTER `cost`,
+ADD COLUMN `name`  varchar(50) NOT NULL DEFAULT '' COMMENT '花材名称' AFTER `id`,
+ADD COLUMN `cover`  varchar(500) NOT NULL DEFAULT '' COMMENT '花材图片' AFTER `name`,
+ADD COLUMN `stockWarning`  decimal(9,2) NOT NULL DEFAULT 0 COMMENT '库存预警' AFTER `addPrice`;
+
+=======
 
 =====shish 2021-4-7
 UPDATE `xhPtItem` SET ratio = 1 WHERE ratio=0;
@@ -1971,4 +1978,36 @@ ALTER TABLE xhCustom ADD rechargeAmount DECIMAL(9,2) NOT NULL DEFAULT '0.00' COM
 ALTER TABLE xhCustom DROP COLUMN totalRecharge;
 ALTER TABLE xhCustom CHANGE `rechargeAmount` `recharge` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '累计充值';
 ALTER TABLE xhGhsCustom CHANGE `rechargeAmount` `recharge` DECIMAL(9,2) NOT NULL DEFAULT '0.00' COMMENT '累计充值';
-ALTER TABLE xhGhsOrder ADD shopAdminName VARCHAR(100) NOT NULL DEFAULT '' COMMENT '员工名称' AFTER `shopAdminId`;
+ALTER TABLE xhGhsOrder ADD shopAdminName VARCHAR(100) NOT NULL DEFAULT '' COMMENT '员工名称' AFTER `shopAdminId`;
+
+=============linqh 2021-04-07
+=====
+ALTER TABLE `xhItem`
+MODIFY COLUMN `weight`  decimal(9,2) NOT NULL DEFAULT 0.00 COMMENT '每扎(大单位)重量(公斤)' AFTER `rank`,
+ADD COLUMN `name`  varchar(50) NOT NULL DEFAULT '' COMMENT '花材名称' AFTER `rank`,
+ADD COLUMN `alias`  varchar(50) NOT NULL DEFAULT '' COMMENT '别名' AFTER `name`,
+ADD COLUMN `py`  varchar(20) NOT NULL DEFAULT '' COMMENT '拼音' AFTER `alias`,
+ADD COLUMN `cover`  varchar(500) NOT NULL DEFAULT '' COMMENT '图片' AFTER `py`,
+ADD COLUMN `ratio`  tinyint(4) NOT NULL DEFAULT 1 COMMENT '比例' AFTER `cover`,
+ADD COLUMN `bigUnit`  smallint(6) NULL DEFAULT 0 COMMENT '大单位' AFTER `addPrice`,
+ADD COLUMN `smallUnit`  smallint(6) NULL DEFAULT 0 COMMENT '小单位' AFTER `bigUnit`;
+
+ALTER TABLE `xhGhsItem`
+MODIFY COLUMN `weight`  decimal(9,2) NOT NULL DEFAULT 0.00 COMMENT '每扎(大单位)重量(公斤)' AFTER `rank`,
+ADD COLUMN `name`  varchar(50) NOT NULL DEFAULT '' COMMENT '花材名称' AFTER `rank`,
+ADD COLUMN `alias`  varchar(50) NOT NULL DEFAULT '' COMMENT '别名' AFTER `name`,
+ADD COLUMN `py`  varchar(20) NOT NULL DEFAULT '' COMMENT '拼音' AFTER `alias`,
+ADD COLUMN `cover`  varchar(500) NOT NULL DEFAULT '' COMMENT '图片' AFTER `py`,
+ADD COLUMN `ratio`  tinyint(4) NOT NULL DEFAULT 1 COMMENT '比例' AFTER `cover`,
+ADD COLUMN `bigUnit`  smallint(6) NULL DEFAULT 0 COMMENT '大单位' AFTER `addPrice`,
+ADD COLUMN `smallUnit`  smallint(6) NULL DEFAULT 0 COMMENT '小单位' AFTER `bigUnit`;
+
+
+ALTER TABLE `xhGhsProduct`
+MODIFY COLUMN `stockWarning`  mediumint(9) NOT NULL DEFAULT 0 COMMENT '库存预警' AFTER `addPrice`,
+ADD COLUMN `weight`  decimal(9,2) NOT NULL DEFAULT 0 COMMENT '大单位重量 公斤' AFTER `stockWarning`,
+ADD COLUMN `alias`  varchar(50) NOT NULL DEFAULT '' COMMENT '别名' AFTER `weight`,
+ADD COLUMN `py`  varchar(20) NOT NULL DEFAULT '' COMMENT '拼音' AFTER `alias`,
+ADD COLUMN `ratio`  tinyint(4) NOT NULL DEFAULT 1 COMMENT '比例' AFTER `py`,
+ADD COLUMN `bigUnit`  smallint(6) NOT NULL DEFAULT 0 COMMENT '大单位' AFTER `ratio`,
+ADD COLUMN `smallUnit`  smallint(6) NOT NULL DEFAULT 0 COMMENT '小单位' AFTER `bigUnit`;