Răsfoiți Sursa

初始化花材

shish 5 ani în urmă
părinte
comite
9cc267750f
1 a modificat fișierele cu 75 adăugiri și 58 ștergeri
  1. 75 58
      console/controllers/ItemController.php

+ 75 - 58
console/controllers/ItemController.php

@@ -7,10 +7,14 @@ use biz\item\classes\ItemClassClass;
 use biz\item\classes\PtItemClass;
 use biz\item\classes\PtItemClassClass;
 use biz\item\classes\UnitClass;
+use bizGhs\item\services\ItemService;
+use biz\shop\classes\ShopClass;
 use common\components\stringUtil;
+use common\components\util;
 use yii\console\Controller;
 use Yii;
 use bizGhs\product\classes\ProductClass;
+
 /**
  * 花材初始化 ssh 2021.2.18
  */
@@ -67,17 +71,17 @@ class ItemController extends Controller
                 $small = $small == '枝' ? '支' : $small;
                 $smallId = isset($unitList[$small]['id']) ? $unitList[$small]['id'] : 0;
                 $ratio = isset($item[7]) && !empty($item[7]) ? $item[7] : 0;
-                if(empty($name)){
+                if (empty($name)) {
                     continue;
                 }
                 $data = [
-                    'name'=>$name,
-                    'alias'=>$alias,
-                    'py'=>$py,
-                    'classId'=>$classId,
-                    'unitNum'=>$ratio,
-                    'bigUnit'=>$bigId,
-                    'smallUnit'=>$smallId,
+                    'name' => $name,
+                    'alias' => $alias,
+                    'py' => $py,
+                    'classId' => $classId,
+                    'unitNum' => $ratio,
+                    'bigUnit' => $bigId,
+                    'smallUnit' => $smallId,
                 ];
                 print_r($data);
                 ItemClass::add($data);
@@ -89,27 +93,28 @@ class ItemController extends Controller
     //同步item, ptItem更新,同步到  ghsItem, ghsProduct, 同步字段(name,alias,py,cover,ratio,cover等)
     public function actionSync($field)
     {
-        $allFiled = ['name','alias','cover','py','ratio','weight','bigUnit','smallUnit','bigUnitId','smallUnitId','stockWarning'];
-        $fields = explode(",",$field);
-        $syncFields = array_intersect($allFiled,$fields);
-        if(empty($syncFields)){
-            echo "参数不支持";die;
+        $allFiled = ['name', 'alias', 'cover', 'py', 'ratio', 'weight', 'bigUnit', 'smallUnit', 'bigUnitId', 'smallUnitId', 'stockWarning'];
+        $fields = explode(",", $field);
+        $syncFields = array_intersect($allFiled, $fields);
+        if (empty($syncFields)) {
+            echo "参数不支持";
+            die;
         }
-        $item = PtItemClass::getAllList("id","");
+        $item = PtItemClass::getAllList("id", "");
         $itemIds = [];
-        foreach ($item as $v){
+        foreach ($item as $v) {
             $itemIds[] = $v['id'];
         }
-        if(!empty($itemIds)){
+        if (!empty($itemIds)) {
 
-            foreach ($itemIds as $v){
+            foreach ($itemIds as $v) {
                 $itemInfo = PtItemClass::getById($v);
-                $data =[];
-                foreach ($syncFields as $f){
+                $data = [];
+                foreach ($syncFields as $f) {
                     $data[$f] = $itemInfo[$f];
                 }
-                ProductClass::updateByCondition(['itemId'=>$v],$data);
-                \bizGhs\item\classes\ItemClass::updateByCondition(['itemId'=>$v],$data);
+                ProductClass::updateByCondition(['itemId' => $v], $data);
+                \bizGhs\item\classes\ItemClass::updateByCondition(['itemId' => $v], $data);
 
             }
         }
@@ -118,7 +123,7 @@ class ItemController extends Controller
 
     //平台花材初始化导入  linqh 2021-05-08
     //命令: ./yii  item/init-pt-item
-    public function actionInitPtItem($clear=false)
+    public function actionInitPtItem($clear = false)
     {
         $phpExcelFile = Yii::getAlias("@vendor/phpoffice/phpexcel/");
         require_once($phpExcelFile . 'Classes/PHPExcel/IOFactory.php');//查询接口
@@ -148,36 +153,36 @@ class ItemController extends Controller
             //explode:函数把字符串分割为数组。
             $string = explode("\\", $str);
             array_pop($string);
-            $itemName = $string[0]??''; //花材名称
-
-            $className = $string[1]??''; //分类名称
-            $weight = $string[2]??0; //重量 kg
-            $bigUnit = $string[3]??''; //大单位名称
-            $smallUnit = $string[4]??''; //小单位名称
-            $ratio = $string[5]??0; //比例
-            $cost = $string[6]??0;//成本价
-            $addPrice = $string[7]??0; //加价
-            $stockWarning = $string[8]??0;
-            $alias = $string[9]??'';
-            $cover = $string[10]??'';
-            $inTurn = $string[11]??0;
-
-            if($itemName){
+            $itemName = $string[0] ?? ''; //花材名称
+
+            $className = $string[1] ?? ''; //分类名称
+            $weight = $string[2] ?? 0; //重量 kg
+            $bigUnit = $string[3] ?? ''; //大单位名称
+            $smallUnit = $string[4] ?? ''; //小单位名称
+            $ratio = $string[5] ?? 0; //比例
+            $cost = $string[6] ?? 0;//成本价
+            $addPrice = $string[7] ?? 0; //加价
+            $stockWarning = $string[8] ?? 0;
+            $alias = $string[9] ?? '';
+            $cover = $string[10] ?? '';
+            $inTurn = $string[11] ?? 0;
+
+            if ($itemName) {
                 $py = stringUtil::py($itemName);
                 $item = [
-                    'name'=>$itemName,
-                    'alias'=>$alias,
-                    'py'=>$py,
-                    'cover'=>$cover,
-                    'classId'=>0,
-                    'ratio'=>$ratio,
-                    'weight'=>$weight,
-                    'stockWarning'=>$stockWarning,
-                    'cost'=>$cost,
-                    'addPrice'=>$addPrice,
-                    'bigUnit'=>$bigUnit,
-                    'smallUnit'=>$smallUnit,
-                    'inTurn'=>$inTurn,
+                    'name' => $itemName,
+                    'alias' => $alias,
+                    'py' => $py,
+                    'cover' => $cover,
+                    'classId' => 0,
+                    'ratio' => $ratio,
+                    'weight' => $weight,
+                    'stockWarning' => $stockWarning,
+                    'cost' => $cost,
+                    'addPrice' => $addPrice,
+                    'bigUnit' => $bigUnit,
+                    'smallUnit' => $smallUnit,
+                    'inTurn' => $inTurn,
                 ];
 
                 $itemData[$className][] = $item;
@@ -186,30 +191,42 @@ class ItemController extends Controller
         }
         $classData = array_unique($classData);
         //写入class
-        if($clear){
+        if ($clear) {
             //清空数据
             Yii::$app->db->createCommand()->truncateTable('xhPtItemClass')->execute();
             Yii::$app->db->createCommand()->truncateTable('xhPtItem')->execute();
         }
 
-        foreach ($classData as $v){
-            $addClass = PtItemClassClass::add(['name'=>$v,'inTurn'=>0,'group'=>0]);
+        foreach ($classData as $v) {
+            $addClass = PtItemClassClass::add(['name' => $v, 'inTurn' => 0, 'group' => 0]);
             $classIdMap[$v] = $addClass['id'];
         }
         $insertItemData = [];
-        foreach ($itemData as $k=>$v){
-            $classId = $classIdMap[$k]??0;
-            if($classId){
-                foreach ($v as $i){
+        foreach ($itemData as $k => $v) {
+            $classId = $classIdMap[$k] ?? 0;
+            if ($classId) {
+                foreach ($v as $i) {
                     $i['classId'] = $classId;
                     $insertItemData[] = $i;
                 }
             }
         }
-        if(!empty($insertItemData)){
+        if (!empty($insertItemData)) {
             PtItemClass::batchAdd($insertItemData);
         }
 
         echo "done";
     }
+
+    // ./yii  item/generate 1
+    public function actionGenerate($id)
+    {
+        $shop = ShopClass::getById($id, true);
+        if (empty($shop)) {
+            util::stop('退出');
+        }
+        $sjId = $shop->sjId;
+        ItemService::initItem($sjId, $id);
+    }
+
 }