/**
  * 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;
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 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;
 }