} ///echo $item_ordered_id; if ($item_ordered_id == $ordered_items->items_id) { ?> <tr style='color: maroon;margin-left:20px;'> <td colspan=7> <small>This item is already added, you can update the quantity or delete it</small> </td> <?php echo "<tr style='color:maroon;margin-left:20px;'>"; } else { echo "<tr>"; } $item_status_code = $ordered_items->item_status; $item_status = ItemOnOrder::model()->getItemStatus($item_status_code); //echo "<td>".$item_status."</td>"; echo "<td>" . $ordered_items->status->name . "</td>"; echo "<td>" . $ordered_items->items->part_number . "</td>"; echo "<td>" . $ordered_items->items->name . "</td>"; echo "<td>" . $ordered_items->quantity_ordered . "</td>"; echo "<td>" . $ordered_items->quantity_recieved . "</td>"; echo "<td>" . $ordered_items->unit_price . "</td>"; echo "<td>" . $ordered_items->total_price . "</td>"; echo "<td>"; if ($model->order_status < 3) { $item_on_order_id = $ordered_items->id; $item_id = $ordered_items->items_id; $po_id = $ordered_items->purchase_order_id; $append_url = $item_on_order_id . '?item_id=' . $item_id . '&po_id=' . $po_id; $update_image_url = Yii::app()->request->baseUrl . '/images/update.png';
public function actionSendOrder($id) { $model = $this->loadModel($id); $setupModel = Setup::model()->findByPk(1); $reciever_email = $model->suppliers->email; $reciever_name = $model->suppliers->contact_person; //$sender_email=Yii::app()->params['adminEmail']; $sender_email = $setupModel->email; //$sender_name=Yii::app()->params['company_name']; $sender_name = $setupModel->company; $message = new YiiMailMessage(); $message->setTo(array($reciever_email => $reciever_name)); $message->setFrom(array($sender_email => $sender_name)); $message->setSubject('Purchase Order: ' . $model->order_number); $message->setBody($this->render('orderPreview', array('model' => $model), true), 'text/html'); $numsent = Yii::app()->mail->send($message); $numsent = 1; if ($numsent == 1) { /*Changing the status of items on order*/ $items_on_order = PurchaseOrder::model()->getItemsOnOrder($id); foreach ($items_on_order as $item) { //echo 'THIS S '.$item->id; ItemOnOrder::model()->updateByPk($item->id, array('item_status' => '2')); } /*changing the po status*/ PurchaseOrder::model()->updateByPk($id, array('order_status' => '2', 'user_id' => Yii::app()->user->id, 'date_of_order' => time())); $message = 'The purchase order has been successfully sent.'; $this->redirect(array('finaliseOrder', 'id' => $model->id)); } else { $this->raiseEvent('Error', 'error'); } //$this->refresh(); }
public function getItemOnOrder($item_on_order_id) { //return "Yeppy;"; return ItemOnOrder::model()->findByPk($item_on_order_id); }
public function actionUpdateStatus($id) { echo 'ID ID ' . $id; if (!empty($_GET['all_recieved'])) { $all_recieved = $_GET['all_recieved']; } if ($id == 0 && $all_recieved == 'true') { $purchase_id = $_GET['purchase_id']; echo $purchase_id; $items_on_order_model = PurchaseOrder::model()->getItemsOnOrder($purchase_id); foreach ($items_on_order_model as $ordered_items) { $item_id = $ordered_items->id; echo '<hr>ITEM IUS IS ' . $item_id; if ($ordered_items->item_status == 2) { ItemOnOrder::model()->updateByPk($item_id, array('item_status' => 3, 'quantity_recieved' => $ordered_items->quantity_ordered)); } //end of if } //end of foreach $this->redirect(array('/purchaseOrder/orderRecieved/', 'id' => $purchase_id)); } else { $model = $this->loadModel($id); $current_quantity_recieved = $model->quantity_recieved; if (isset($_POST['ItemOnOrder'])) { $model->attributes = $_POST['ItemOnOrder']; $status = $model->item_status; $diff = $model->ordered_recieved_difference; $model->quantity_recieved = $model->quantity_recieved + $diff; $quantity_recieved = $model->quantity_recieved; $quantity_ordered = $model->quantity_ordered; echo "<br> QUANTIY RECIEVED " . $quantity_recieved; echo "<br> QUANTIY ORDERED " . $quantity_ordered; echo "<br> DIFF " . $diff; /* * WE have set the flag as 3 for recieved and 6 for damaged * we will do funny calculations based on that * */ if ($status == 3) { $comments = $diff . ' recieved. '; //$comments.=' under the purchase order number '.$model->purchaseOrder->order_number; $comments .= ' Processed by ' . Yii::app()->user->name . " on " . date("d-M-y H:i") . '<br>'; $model->comments .= $comments; if ($quantity_ordered == $quantity_recieved) { $model->item_status = 3; //i.e. all items are recieved } elseif ($quantity_ordered > $quantity_recieved) { $model->item_status = 4; ////i.e. partiually recieved echo "RECIEVD is " . $model->quantity_recieved; } elseif ($quantity_ordered < $quantity_recieved) { $model->item_status = 2; //status reset } else { $this->redirect(array('/purchaseOrder/orderRecieved/', 'id' => $purchase_id)); } //end of else } //end of if of status 50 if ($status == 6) { /*THIS MEANS ALL PARTS WERE DAMAGED*/ if ($quantity_ordered == $quantity_recieved) { $model->item_status = 6; } else { $model->item_status = 7; //this is partially damaged item model } //echo 'QUANTITRY DAMAGED '.$diff; $model->quantity_damaged = $diff; $model->quantity_recieved = $current_quantity_recieved; //$model->quantity_recieved=0.0; /*THIS IS DONE, else the system will store in quantity recieved also*/ //$model->quantity_recieved=$current_quantity_recieved; // echo 'QUANTITRY Recieved'.$model->quantity_recieved; $comments = $diff; $comments .= ' damaged. '; $comments .= ' Processed by: ' . Yii::app()->user->name . " on " . date("d-M-y H:i") . '<br>'; $quantity_recieved = 0.0; $model->comments .= $comments; } ///end of if status 51 /*IF any quantity is recieved it wil be added to inbound and the items details will also be updated*/ if ($quantity_recieved > 0) { echo 'Logic to add in inbound'; $inbound_model = new InboundItemsHistory(); $main_item_id = $model->items_id; $item_model = Items::model()->findByPk($main_item_id); $current_stock = $item_model->current_quantity; $available_stock = $item_model->available_quantity; $quantity_moved = $quantity_recieved; $inbound_model->main_item_id = $model->items_id; $inbound_model->quantity_moved = $quantity_recieved; $inbound_model->items_on_order_id = $model->id; $inbound_model->comments .= $comments . 'Purchase Order Number =' . $model->purchaseOrder->order_number; $inbound_model->available_quantity_in_stock = $quantity_moved + $available_stock; $inbound_model->current_quantity_in_stock = $quantity_moved + $current_stock; if ($inbound_model->save()) { echo 'saved'; Items::model()->updateByPk($main_item_id, array('available_quantity' => $quantity_moved + $available_stock, 'current_quantity' => $quantity_moved + $current_stock)); } else { echo 'NOT SAVING INBOUND ENTRY'; } } //end of logic to make entry in inbound if ($model->save()) { $this->redirect(array('/purchaseOrder/orderRecieved/', 'id' => $model->purchase_order_id)); } ///end of save // $redirect_url='/purchaseOrder/orderRecieved/'.$purchase_id; // $url=$this->createUrl($redirect_url); // $this->redirect($url); } else { $item_status = $_GET['item_status']; $purchase_id = $_GET['purchase_id']; $comments = $_GET['comments']; $comments .= '<br>Status Reset to On Order by: ' . Yii::app()->user->name . " on " . date("d-M-y H:i") . '<br>'; echo 'THIS IHJS CPDE ' . $item_status; ItemOnOrder::model()->updateByPk($id, array('item_status' => $item_status, 'quantity_recieved' => '0.0', 'comments' => $comments)); $this->redirect(array('/purchaseOrder/orderRecieved/', 'id' => $purchase_id)); } //end of else _POST } //end of else id=0 }