| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace app\modules\admin\models\erp;
- use app\models\ErpInventory;
- use app\models\ErpSupplier;
- use app\models\Goods;
- class GoodsForm extends Model
- {
- public $goods_no;
- public $store_id;
- public function rules()
- {
- return [
- [['goods_no', 'store_id'], 'string']
- ];
- }
- public function getGoodsList() {
- $store_id = $this->store_id;
- $goods_no = $this->goods_no;
- try {
- if (empty($goods_no)) {
- return [
- 'code' => 0,
- 'msg' => '货号不能为空',
- 'data' => [
- 'list' => []
- ]
- ];
- }
- $goods_id = Goods::find()->where(['store_id' => $store_id, 'is_delete' => 0])
- ->andWhere(['LIKE', 'goods_no', $goods_no])->select('id')->column();
- $query = ErpInventory::find()->alias('ei')->where(['ei.is_delete' => 0, 'ei.store_id' => $store_id]);
- $query->leftJoin(['g' => Goods::tableName()], 'g.id = ei.goods_id');
- if ($goods_id) {
- $query->andWhere(['OR', ['ei.goods_no' => $goods_no], ['LIKE', 'ei.sku_id', $goods_no], ['ei.goods_id' => $goods_id]]);
- } else {
- $query->andWhere(['OR', ['ei.goods_no' => $goods_no], ['LIKE', 'ei.sku_id', $goods_no]]);
- }
- $query->orderBy('ei.goods_id DESC');
- $query->select('ei.*, g.name goods_name, g.cover_pic');
- $pagination = pagination_make($query);
- foreach ($pagination['list'] as &$item) {
- // $item['created_at'] = date("Y-m-d H:i:s", $item['created_at']);
- $attr_info = json_decode($item['attr_info'], true);
- $item['attr_names'] = implode(',', array_column($attr_info['attr_list'], 'attr_name'));
- $item['price'] = $attr_info['price'];
- if($attr_info['pic']){
- $item['cover_pic'] = $attr_info['pic'];
- }
- $item['num'] = 0;
- }
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'data' => $pagination,
- // 'q' => $query->createCommand()->getRawSql(),
- ];
- } catch (\Exception $e) {
- \Yii::error($e);
- return [
- 'code' => 1,
- 'msg' => $e->getMessage()
- ];
- }
- }
- }
|