|
|
@@ -8,11 +8,58 @@ namespace bizGhs\item\classes;
|
|
|
|
|
|
|
|
|
use bizGhs\base\classes\BaseClass;
|
|
|
+use common\components\business;
|
|
|
+use common\models\xhItem;
|
|
|
|
|
|
class ItemInfoClass extends BaseClass
|
|
|
{
|
|
|
|
|
|
public static $baseFile = '\bizGhs\item\models\ItemInfo';
|
|
|
|
|
|
- //
|
|
|
+ //根据itemIds获取相应的花材信息
|
|
|
+ public static function getItemInfoByItemId(array $itemIds)
|
|
|
+ {
|
|
|
+ $where = ['itemId'=>['in',$itemIds],'delStatus'=>0];
|
|
|
+ $data = self::getAllList('*',$where);
|
|
|
+ $data = self::groupItemBaseInfo($data);
|
|
|
+ return $data;
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据花材ID,获取花材名称,图片
|
|
|
+ public static function groupItemBaseInfo($list)
|
|
|
+ {
|
|
|
+ //取得itemIds
|
|
|
+ $itemIds = array_column($list,'itemId');
|
|
|
+ //获取相应的图片,名称,py
|
|
|
+ $where = ['id'=>$itemIds];
|
|
|
+ $data = xhItem::getAllByCondition($where,null,'id,name,pyName,cover,unitNum');
|
|
|
+ if(!empty($data)){
|
|
|
+ $data = array_column($data, NULL, 'id');
|
|
|
+ foreach ($list as $k=>$v){
|
|
|
+ $coverInfo = business::formatOrderGoodsCover($data[$v['itemId']]);
|
|
|
+ $unitNum = $data[$v['itemId']]['unitNum']??0;
|
|
|
+ $stockInfo = self::formatStock($v['stock'],$unitNum);
|
|
|
+ $list[$k]['cover'] = $coverInfo['coverUrl'];
|
|
|
+ $list[$k]['stockBundle'] = $stockInfo['stockBundle'];
|
|
|
+ $list[$k]['stockPiece'] = $stockInfo['stockPiece'];
|
|
|
+ $list[$k]['itemName'] = $data[$v['itemId']]['name']??'';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $list;
|
|
|
+ }
|
|
|
+
|
|
|
+ //花材的库存转换: 库存是小数,根据各个花材的unitNum, 计算出多少扎,多少支
|
|
|
+ public static function formatStock($stock,$unitNum)
|
|
|
+ {
|
|
|
+ $stockBundle = floor($stock); // 扎
|
|
|
+ $stockArr = explode('.',$stock);
|
|
|
+ $stockPiece = 0; //支
|
|
|
+ if(count($stockArr)===2){
|
|
|
+ $stockPiece = bcdiv(bcmul($stockArr[1],$unitNum),100);
|
|
|
+ }
|
|
|
+ return [
|
|
|
+ 'stockBundle'=>$stockBundle,
|
|
|
+ 'stockPiece'=>$stockPiece,
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|