protected function saveItemExpire($item_expire_date, $receiving_id, $item_id, $employee_id, $quantity, $trans_date, $remarks) { if (!empty($item_expire_date)) { $item_expire = ItemExpire::model()->find('item_id=:item_id and expire_date=:expire_date', array(':item_id' => (int) $item_id, ':expire_date' => $item_expire_date)); if (!$item_expire) { $item_expire = new ItemExpire(); $qty_in_stock = 0; } else { $qty_in_stock = $item_expire->quantity; } $stock_quantity = $this->stockQuantiy($qty_in_stock, $quantity); //Update Item expiry date & quantity $item_expire->item_id = $item_id; $item_expire->expire_date = $item_expire_date; $item_expire->quantity = $stock_quantity[0]; $item_expire->save(); $item_expire_dt = new ItemExpireDt(); $item_expire_dt->item_expire_id = $item_expire->id; $item_expire_dt->trans_id = $receiving_id; $item_expire_dt->trans_qty = $stock_quantity[0]; $item_expire_dt->trans_comment = $remarks; $item_expire_dt->modified_date = $trans_date; $item_expire_dt->employee_id = $employee_id; $item_expire_dt->save(); } }
public function updateStockExpire($item_id, $quantity, $sale_id) { $sql = "SELECT `id`,`item_id`,`expire_date`,`quantity`\n FROM `item_expire`\n WHERE item_id=:item_id\n AND quantity>0\n ORDER BY expire_date"; $result = Yii::app()->db->createCommand($sql)->queryAll(true, array(':item_id' => $item_id)); if ($result) { foreach ($result as $record) { $item_expire = ItemExpire::model()->find('id=:id', array(':id' => $record["id"])); if ($quantity <= $record["quantity"]) { $item_expire->quantity = $item_expire->quantity - $quantity; $item_expire->save(); $item_expire_dt = new ItemExpireDt(); $item_expire_dt->item_expire_id = $item_expire->id; $item_expire_dt->trans_id = $sale_id; $item_expire_dt->trans_qty = -$quantity; $item_expire_dt->trans_comment = 'POS ' . $sale_id; $item_expire_dt->modified_date = date('Y-m-d H:s:i'); $item_expire_dt->save(); break; } else { $deducted_qty = $item_expire->quantity; $item_expire->quantity = $item_expire->quantity - $deducted_qty; $item_expire->save(); $item_expire_dt = new ItemExpireDt(); $item_expire_dt->item_expire_id = $item_expire->id; $item_expire_dt->trans_id = $sale_id; $item_expire_dt->trans_qty = -$quantity; $item_expire_dt->trans_comment = 'POS ' . $sale_id; $item_expire_dt->modified_date = date('Y-m-d H:s:i'); $item_expire_dt->save(); $quantity = $quantity - $deducted_qty; } } } }