/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params, $static_params) { $query = TrxTransactionDetails::find()->where($static_params); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'transaction_id' => $this->transaction_id, 'batch' => $this->batch, 'net_weight' => $this->net_weight, 'total_weight' => $this->total_weight, 'pallet_weight' => $this->pallet_weight, 'kitted_unit' => $this->kitted_unit, 'manufacturing_date' => $this->manufacturing_date, 'expiry_date' => $this->expiry_date, 'creator_id' => $this->creator_id, 'updater_id' => $this->updater_id, 'updated_date' => $this->updated_date]); $query->andFilterWhere(['like', 'material_code', $this->material_code])->andFilterWhere(['like', 'pallet_no', $this->pallet_no])->andFilterWhere(['like', 'pallet_type', $this->pallet_type])->andFilterWhere(['like', 'status', $this->status]); // start date range filter if (isset($this->start_date) && $this->start_date != null) { $startDate = explode(' - ', $this->start_date); $startDateFrom = Yii::$app->dateFormatter->convert($startDate[0]); $startDateTo = Yii::$app->dateFormatter->convert($startDate[1]); $query->andFilterWhere(['between', 'start_date', $startDateFrom, $startDateTo]); } // created date range filter if (isset($this->created_date) && $this->created_date != null) { $createdDate = explode(' - ', $this->created_date); $createdDateFrom = Yii::$app->dateFormatter->convert($createdDate[0]); $createdDateTo = Yii::$app->dateFormatter->convert($createdDate[1]); $query->andFilterWhere(['between', 'created_date', $createdDateFrom, $createdDateTo]); } return $dataProvider; }
public function actionGetPalletDetails($id) { if (!$id) { $transactionDetailsModel = new TrxTransactionDetails(); $transactionDetailsFields = array_keys($transactionDetailsModel->attributeLabels()); $additionalFields = array('inbound_no', 'transfer_order', 'customer_name', 'pallet_count'); $transactionDetailsFields = array_merge($transactionDetailsFields, $additionalFields); foreach ($transactionDetailsFields as $fieldName) { $palletDetails[$fieldName] = ''; } echo json_encode($palletDetails); exit; } $status = [Yii::$app->params['STATUS_PROCESS'], Yii::$app->params['STATUS_CLOSED'], Yii::$app->params['STATUS_REJECTED']]; $transactionDetailsModel = Yii::$app->modelFinder->getTransactionDetailList(null, null, null, ['pallet_no' => $id, 'status' => $status]); if ($transactionDetailsModel == null || count($transactionDetailsModel) == 0) { $transactionDetailsModel = Yii::$app->modelFinder->getTransactionDetailList(null, null, null, ['kitted_unit' => $id, 'status' => $status]); } if ($transactionDetailsModel != null && count($transactionDetailsModel) > 0) { $palletDetails['transaction_id'] = $transactionDetailsModel[0]['transaction_id']; // Transaction model $transactionModel = Yii::$app->modelFinder->findTransactionModel($palletDetails['transaction_id']); if ($transactionModel) { $palletDetails['inbound_no'] = $transactionModel['sap_no']; } else { $palletDetails['inbound_no'] = ""; } $palletDetails['customer_code'] = $transactionDetailsModel[0]['customer_code']; $customer = Yii::$app->modelFinder->findCustomerModel($palletDetails['customer_code']); if ($customer != null) { $palletDetails['customer_name'] = $customer->name; } else { $palletDetails['customer_name'] = ""; } $palletDetails['material_code'] = $transactionDetailsModel[0]['material_code']; $palletDetails['batch'] = $transactionDetailsModel[0]['batch']; $palletDetails['pallet_count'] = count($transactionDetailsModel); $palletDetails['net_weight'] = $transactionDetailsModel[0]['net_weight']; $palletDetails['total_weight'] = $transactionDetailsModel[0]['total_weight']; $palletDetails['pallet_weight'] = $transactionDetailsModel[0]['pallet_weight']; $palletDetails['kitted_unit'] = $transactionDetailsModel[0]['kitted_unit']; $palletDetails['manufacturing_date'] = $transactionDetailsModel[0]['manufacturing_date']; $palletDetails['expiry_date'] = $transactionDetailsModel[0]['expiry_date']; $palletDetails['pallet_type'] = $transactionDetailsModel[0]['pallet_type']; // Handling unit $handlingUnit = Yii::$app->modelFinder->getHandlingUnit(['transaction_id' => $palletDetails['transaction_id'], 'customer_code' => $palletDetails['customer_code'], 'pallet_no' => $id]); if ($handlingUnit) { $palletDetails['transfer_order'] = $handlingUnit['transfer_order']; } else { $palletDetails['transfer_order'] = ""; } $palletDetails['status'] = $transactionDetailsModel[0]['status']; // Creator details $creatorAccountModel = Yii::$app->modelFinder->findAccountModel($transactionDetailsModel[0]['creator_id']); $palletDetails['creator'] = $creatorAccountModel->first_name . ' ' . $creatorAccountModel->last_name; $palletDetails['created_date'] = date('m/d/Y', strtotime($transactionDetailsModel[0]['created_date'])); // Updater details $updaterAccountModel = Yii::$app->modelFinder->findAccountModel($transactionDetailsModel[0]['updater_id']); $palletDetails['updater'] = $updaterAccountModel->first_name . ' ' . $updaterAccountModel->last_name; $palletDetails['updated_date'] = date('m/d/Y', strtotime($transactionDetailsModel[0]['updated_date'])); } echo json_encode($palletDetails); }
public function getTransactionDetails($conditions = null) { // to retrieve all *active* material conversions by their index and order them by their ID: $model = TrxTransactionDetails::find()->where($conditions)->one(); return $model; }