|
|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
}
|