我已经创建了一个ims系统。因为我的库存为负数,我必须停止它,所以我的主要目的是在输入的产品超过可用库存时生成警报(例如,如果用户输入12个数量,而可用库存仅为10个数量,则警报消息应生成,如输入的数量超过可用库存,因此您无法生成警报)以下是我的代码
public function create()
{
$user_id = $this->session->userdata('id');
$query = $this->db->query("SELECT bill_no FROM orders ORDER BY id DESC LIMIT 1");
$result = $query->row()->bill_no;
$result++;
//echo $result;
//end();
//$curYear = date('Y');
$invoice_no = $result;
//$invoice['invoice_no'] = $invoice_no;
$data = array(
'po_no' => $this->input->post('po_no'),
'po_date' => $this->input->post('po_date'),
'challan_no' => $this->input->post('challan_no'),
'challan_date' => $this->input->post('challan_date'),
'bill_no' => $invoice_no,
'bill_date' => $this->input->post('bill_date'),
'terms' => $this->input->post('terms'),
'dispatch' => $this->input->post('dispatch'),
'party_id' => $this->input->post('id'),
'name' => $this->input->post('name_value'),
'address' => $this->input->post('address_value'),
'gstin' => $this->input->post('gstin_value'),
'mobile' => $this->input->post('mobile_value'),
'date_time' => strtotime(date('Y-m-d h:i:s a')),
'qty' => $this->input->post('qty_value'),
'gross_amount' => $this->input->post('gross_amount_value'),
'central_amount' => $this->input->post('central_amount_value'),
'net_amount' => $this->input->post('net_amount_value'),
'round_amount' =>$this->input->post('round_amount_value'),
'round_amount_words' => $this->input->post('round_amount_words'),
'paid_status' => 2,
'user_id' => $user_id
);
$insert = $this->db->insert('orders', $data);
$order_id = $this->db->insert_id();
$this->load->model('model_products');
$count_product = count($this->input->post('product'));
for($x = 0; $x < $count_product; $x++) {
$items = array(
'order_id' => $order_id,
'product_id' => $this->input->post('product')[$x],
'hsn' => $this->input->post('hsn_value')[$x],
'rate' => $this->input->post('rate')[$x],
'qty' => $this->input->post('qty')[$x],
'unit' => $this->input->post('unit_value')[$x],
'amount' => $this->input->post('amount_value')[$x],
'gst' => $this->input->post('gst_value')[$x],
'gst_amount' => $this->input->post('gst_amount_value')[$x],
'last_amount' => $this->input->post('last_amount_value')[$x],
);
$this->db->insert('orders_item', $items);
// now decrease the stock from the product
$product_data = $this->model_products->getProductData($this->input->post('product')[$x]);
$qty = (int) $product_data['qty'] - (int) $this->input->post('qty')[$x];
$update_product = array('qty' => $qty);
$this->model_products->update($update_product, $this->input->post('product')[$x]);
}
return ($order_id) ? $order_id : false;
}
1条答案
按热度按时间col17t5w1#
在你的
product_model
,您可以添加一个方法来返回产品计数。然后在你的
create()
上面,您只需检查订购数量是否小于现有数量。