| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\plugins\product_traceability\models\client;
- use app\models\Goods;
- use app\models\SaasUser;
- use app\models\Shop;
- use app\models\Store;
- use app\models\User;
- use app\plugins\food\models\FoodOrderDetail;
- use app\plugins\product_traceability\models\Product;
- use app\plugins\product_traceability\models\ProductBatch;
- use app\plugins\product_traceability\models\ProductBatchProcess;
- use app\plugins\product_traceability\models\ProductBatchProcessLog;
- use app\plugins\product_traceability\models\ProductBatchProcessLogSheet;
- use app\plugins\product_traceability\models\ProductBatchProcessSheet;
- use app\utils\Tools;
- use yii\base\Model;
- use yii\data\Pagination;
- use yii\helpers\Json;
- use yii\helpers\Json as HelpersJson;
- class MyProductBatchProcessSheetForm extends Model
- {
- public $store_id;
- public $user_id;
- public $product_batch_process_id;
- public $page;
- public $limit;
- public function rules()
- {
- return [
- [['store_id', 'user_id', 'product_batch_process_id'], 'required'],
- [['page', 'limit'], 'integer'],
- [['page'], 'default', 'value' => 1],
- [['limit'], 'default', 'value' => 20],
- ];
- }
- public function search()
- {
- if (!$this->validate()) {
- return ['code' => 1, 'msg' => $this->getErrorSummary(false)[0]];
- }
- $query = ProductBatchProcess::find()->alias('pbp')
- ->innerJoin(['pbpl' => ProductBatchProcessLog::tableName()], 'pbp.id=pbpl.product_batch_process_id')
- ->innerJoin(['pbps' => ProductBatchProcessSheet::tableName()], 'pbp.id=pbps.product_batch_process_id')
- ->leftJoin(['pbpls' => ProductBatchProcessLogSheet::tableName()], 'pbps.id=pbpls.process_sheet_id and `pbpls`.`is_delete`=0')
- ->where([
- 'pbpl.is_delete' => 0,
- // 'pbpl.state' => 0,
- 'pbp.is_delete' => 0,
- 'pbp.store_id' => get_store_id(),
- 'pbp.process_user_id' => $this->user_id,
- 'pbp.id' => $this->product_batch_process_id,
- ])
- ->andWhere([
- 'or',
- 'isnull(pbpls.id)',
- ['pbpls.is_delete' => 0],
- ])
- ->select(['pbps.*', 'pbpl.id as process_log_id', 'pbpls.value']);
- $count = $query->count();
- $pagination = new Pagination(['totalCount' => $count, 'page' => $this->page - 1, 'pageSize' => $this->limit]);
- $product_batch_process_sheet = $query->limit($pagination->limit)->offset($pagination->offset)->asArray()->all();
- return [
- 'code' => 0,
- 'msg' => 'success',
- 'product_batch_process_sheet' => $product_batch_process_sheet
- ];
- }
- }
|