function do_add() { global $ttH; $ttH->func->include_js($ttH->dir_temp . 'js/' . $this->modules . '/' . $this->modules . '.js'); $arr_color = $ttH->load_data->data_table('product_color', 'color_id', 'color_id,color,title', "\tlang='" . $ttH->conf['lang_cur'] . "' order by show_order desc, date_create desc"); $arr_size = $ttH->load_data->data_table('product_size', 'size_id', 'size_id,title', "\tlang='" . $ttH->conf['lang_cur'] . "' order by show_order desc, date_create desc"); $data = array(); $err = ""; if (isset($ttH->post['do_submit'])) { /*print_arr($ttH->post); die();*/ $receipt_code = isset($ttH->post["receipt_code"]) ? $ttH->post["receipt_code"] : ''; if (empty($err) && empty($receipt_code)) { $err = $ttH->html->html_alert('Mã số chưa nhập', "error"); } if (empty($err)) { $sql = "select receipt_code from repository_receipt where receipt_code='" . $receipt_code . "'"; $result = $ttH->db->query($sql); if ($check = $ttH->db->fetch_row($result)) { $err = $ttH->html->html_alert('Mã số đã tồn tại', "error"); } } $price = isset($ttH->post["price"]) ? $ttH->post["price"] : array(); $import = isset($ttH->post["import"]) ? $ttH->post["import"] : array(); $import_sub = isset($ttH->post["import_sub"]) ? $ttH->post["import_sub"] : array(); if (empty($err) && count($import) <= 0) { $err = $ttH->html->html_alert('Chưa chọn sản phẩm nhập', "error"); } $has_import = 0; foreach ($import as $k => $v) { if ($v > 0) { $has_import = 1; } } foreach ($import_sub as $k => $v) { if ($v <= 0) { unset($import_sub[$k]); } } if (empty($err) && ($has_import === 0 && count($import_sub) <= 0)) { $err = $ttH->html->html_alert('Chưa nhập số lượng hàng', "error"); } /*print_arr($ttH->post); print_arr($price); print_arr($import); print_arr($import_sub); die();*/ if (empty($err)) { $col = array(); $col["receipt_code"] = $receipt_code; $col["receipt_type"] = $this->receipt_type; $col["repository_id"] = $ttH->post['repository_id']; $col["show_order"] = 0; $col["is_show"] = 0; $col["admin_id"] = $ttH->data['admin']["id"]; $col["date_create"] = time(); $col["date_update"] = time(); $ok = $ttH->db->do_insert("repository_receipt", $col); if ($ok) { $receipt_id = $ttH->db->insertid(); $arr_type_in_stock = array(); foreach ($import_sub as $k => $v) { $arr_tmp = explode('_', $k); $col_l = array(); $col_l["receipt_id"] = $receipt_id; $col_l["is_level"] = 1; $col_l["type"] = 'product'; $col_l["type_id"] = str_replace('p', '', $arr_tmp[0]); $col_l["color_id"] = str_replace('c', '', $arr_tmp[1]); $col_l["size_id"] = str_replace('s', '', $arr_tmp[2]); $col_l["quantity"] = $v; $col_l["date_create"] = time(); $col_l["date_update"] = time(); $arr_type_in_stock[$col_l["type_id"]] = isset($arr_type_in_stock[$col_l["type_id"]]) ? $arr_type_in_stock[$col_l["type_id"]] + $col_l["quantity"] : $col_l["quantity"]; $where = "and type='" . $col_l["type"] . "'\r\r\n\t\t\t\t\t\t\t\t\t\t\tand type_id='" . $col_l["type_id"] . "'\r\r\n\t\t\t\t\t\t\t\t\t\t\tand color_id='" . $col_l["color_id"] . "'\r\r\n\t\t\t\t\t\t\t\t\t\t\tand size_id='" . $col_l["size_id"] . "' "; // if not has repository_receipt_detail, Insert repository_receipt_detail $ttH->db->query("update repository_receipt_detail \r\r\n\t\t\t\t\t\t\t\t\t\t\tset quantity=(quantity+" . $col_l["quantity"] . "), \r\r\n\t\t\t\t\t\t\t\t\t\t\t\tdate_update=" . $col_l["date_update"] . " \r\r\n\t\t\t\t\t\t\t\t\t\t\twhere receipt_id='" . $col_l["receipt_id"] . "'\r\r\n\t\t\t\t\t\t\t\t\t\t\t" . $where); if (!$ttH->db->affected()) { $ttH->db->do_insert("repository_receipt_detail", $col_l); } // End } foreach ($import as $k => $v) { if (isset($arr_type_in_stock[$k]) && $arr_type_in_stock[$k] > 0) { $v = $arr_type_in_stock[$k]; } if ($v > 0) { $col_l = array(); $col_l["receipt_id"] = $receipt_id; $col_l["is_level"] = 0; $col_l["type"] = 'product'; $col_l["type_id"] = $k; $col_l["color_id"] = 0; $col_l["size_id"] = 0; $col_l["price"] = isset($price[$k]) ? $price[$k] : 0; $col_l["quantity"] = $v; $col_l["date_create"] = time(); $col_l["date_update"] = time(); $ttH->db->do_insert("repository_receipt_detail", $col_l); } } $data = array(); $err = $ttH->html->html_alert($ttH->lang["global"]["add_success"], "success"); } else { $data = $ttH->post; $err = $ttH->html->html_alert($ttH->lang["global"]["add_false"], "error"); } } else { $data = $ttH->post; } } $data["err"] = $err; $arr_isset = array('repository_id', 'list_product'); foreach ($arr_isset as $tmp) { $data[$tmp] = isset($data[$tmp]) ? $data[$tmp] : ''; } $data['date_create'] = isset($data['date_create']) ? $data['date_create'] : date('d/m/Y'); $data['date_create_hour'] = isset($data['date_create_hour']) ? $data['date_create_hour'] : date('H'); $data['date_create_minute'] = isset($data['date_create_minute']) ? $data['date_create_minute'] : date('i'); $data['receipt_code'] = isset($data['receipt_code']) ? $data['receipt_code'] : receipt_code_next(); $data["link_action"] = $ttH->admin->get_link_admin($this->modules_call, $this->action, $this->sub); $data["list_product"] = list_product("list_product", $data["list_product"], " class=\"form-control\" id=\"list_product\"", array('title' => $ttH->lang['global']['select_title'])); $data["list_repository"] = list_repository("repository_id", $data["repository_id"], " class=\"form-control\"", array('title' => $ttH->lang['global']['select_title'])); $data["list_hour"] = $ttH->admin->list_number("date_create_hour", 0, 23, $data["date_create_hour"]); $data["list_minute"] = $ttH->admin->list_number("date_create_minute", 0, 59, $data["date_create_minute"]); foreach ($arr_color as $row_color) { foreach ($arr_size as $row_size) { $row_sub['sub_id'] = 'c' . $row_color['color_id'] . '_s' . $row_size['size_id']; $row_sub['color'] = $row_color; $row_sub['size'] = $row_size; $row_sub['in_stock'] = 0; $row_sub['out_stock'] = 0; $row_sub['import'] = 0; $ttH->temp_act->assign('row', $row_sub); $ttH->temp_act->parse("add.row_sub_item"); } } $ttH->temp_act->assign('data', $data); $ttH->temp_act->parse("add"); return $ttH->temp_act->text("add"); }
function do_add() { global $ttH; $ttH->func->include_js($ttH->dir_temp . 'js/' . $this->modules . '/' . $this->modules . '.js'); $data = array(); $err = ""; $dir = create_folder(date("Y_m")); if (isset($ttH->post['do_submit'])) { /*print_arr($ttH->post); die();*/ $receipt_code = isset($ttH->post["receipt_code"]) ? $ttH->post["receipt_code"] : ''; if (empty($err) && empty($receipt_code)) { $err = $ttH->html->html_alert('Mã số chưa nhập', "error"); } $order_id = isset($ttH->post["order_id"]) ? $ttH->post["order_id"] : ''; if (empty($err) && empty($order_id)) { $err = $ttH->html->html_alert('Chưa chọn đơn hàng', "error"); } if (empty($err)) { $sql = "select * from product_order \n\t\t\t\t\t\t\t\twhere order_id='" . $order_id . "'"; $result = $ttH->db->query($sql); if ($order_info = $ttH->db->fetch_row($result)) { } else { $err = $ttH->html->html_alert('Đơn hàng không tồn tại', "error"); } } if (empty($err)) { $sql = "select receipt_code from repository_receipt where receipt_code='" . $receipt_code . "'"; $result = $ttH->db->query($sql); if ($check = $ttH->db->fetch_row($result)) { $err = $ttH->html->html_alert('Mã số đã tồn tại', "error"); } } $import = isset($ttH->post["import"]) ? $ttH->post["import"] : array(); foreach ($import as $k => $v) { if ($v <= 0) { unset($import[$k]); } } if (empty($err) && count($import) <= 0) { $err = $ttH->html->html_alert('Chưa nhập số lượng hàng', "error"); } $tmp = explode('/', $ttH->post['date_create']); $date_create = mktime($ttH->post['date_create_hour'], $ttH->post['date_create_minute'], 0, $tmp[1], $tmp[0], $tmp[2]); /*print_arr($ttH->post); print_arr($import); die();*/ if (empty($err)) { $col = array(); $col["receipt_code"] = $receipt_code; $col["receipt_type"] = 'export'; $col["type_code"] = $order_info['order_code']; $col["show_order"] = 0; $col["is_show"] = 1; $col["date_create"] = $date_create; $col["date_update"] = time(); $ok = $ttH->db->do_insert("repository_receipt", $col); if ($ok) { $receipt_id = $ttH->db->insertid(); $arr_type_in_stock = array(); $sql = "select * from product_order_detail \n\t\t\t\t\t\t\t\t\twhere quantity>out_stock \n\t\t\t\t\t\t\t\t\tand order_id='" . $order_id . "'"; //die($sql); $result = $ttH->db->query($sql); while ($row_detail = $ttH->db->fetch_row($result)) { $max_num = $row_detail['quantity'] - $row_detail['out_stock']; $col_l = array(); $col_l["receipt_id"] = $receipt_id; $col_l["is_level"] = 1; $col_l["type"] = $row_detail['type']; $col_l["type_id"] = $row_detail['type_id']; $col_l["color_id"] = $row_detail['color_id']; $col_l["size_id"] = $row_detail['size_id']; $col_l["quantity"] = $import[$k] > 0 && $import[$k] < $max_num ? $import[$k] : $max_num; $col_l["date_create"] = time(); $col_l["date_update"] = time(); $arr_type_in_stock[$col_l["type_id"]] = isset($arr_type_in_stock[$col_l["type_id"]]) ? $arr_type_in_stock[$col_l["type_id"]] + $col_l["quantity"] : $col_l["quantity"]; $where = "and type='" . $col_l["type"] . "'\n\t\t\t\t\t\t\t\t\t\t\tand type_id='" . $col_l["type_id"] . "'\n\t\t\t\t\t\t\t\t\t\t\tand color_id='" . $col_l["color_id"] . "'\n\t\t\t\t\t\t\t\t\t\t\tand size_id='" . $col_l["size_id"] . "' "; // update product_order_detail $ttH->db->query("update product_order_detail \n\t\t\t\t\t\t\t\t\t\t\tset out_stock=(out_stock+" . $col_l["quantity"] . ")\n\t\t\t\t\t\t\t\t\t\t\twhere detail_id='" . $row_detail['detail_id'] . "'"); // End // if not has product_combine, Insert product_combine $ttH->db->query("update product_combine \n\t\t\t\t\t\t\t\t\t\t\tset out_stock=(out_stock+" . $col_l["quantity"] . "),\n\t\t\t\t\t\t\t\t\t\t\t\tdate_update=" . $col_l["date_update"] . " \n\t\t\t\t\t\t\t\t\t\t\twhere 1 " . $where); // End // if not has repository_receipt_detail, Insert repository_receipt_detail $ttH->db->query("update repository_receipt_detail \n\t\t\t\t\t\t\t\t\t\t\tset quantity=(quantity+" . $col_l["quantity"] . "), \n\t\t\t\t\t\t\t\t\t\t\t\tdate_update=" . $col_l["date_update"] . " \n\t\t\t\t\t\t\t\t\t\t\twhere receipt_id='" . $col_l["receipt_id"] . "'\n\t\t\t\t\t\t\t\t\t\t\t" . $where); if (!$ttH->db->affected()) { $ttH->db->do_insert("repository_receipt_detail", $col_l); } // End } foreach ($arr_type_in_stock as $k => $v) { if ($v > 0) { $col_l = array(); $col_l["receipt_id"] = $receipt_id; $col_l["is_level"] = 0; $col_l["type"] = 'product'; $col_l["type_id"] = $k; $col_l["color_id"] = 0; $col_l["size_id"] = 0; $col_l["quantity"] = $v; $col_l["date_create"] = time(); $col_l["date_update"] = time(); $ok = $ttH->db->do_insert("repository_receipt_detail", $col_l); if ($ok) { $ttH->db->query("update product \n\t\t\t\t\t\t\t\t\t\t\tset out_stock=(out_stock+" . $col_l["quantity"] . "),\n\t\t\t\t\t\t\t\t\t\t\t\tdate_update=" . $col_l["date_update"] . " \n\t\t\t\t\t\t\t\t\t\t\twhere item_id='" . $col_l["type_id"] . "' "); } } } $data = array(); $err = $ttH->html->html_alert($ttH->lang["global"]["add_success"], "success"); } else { $data = $ttH->post; $err = $ttH->html->html_alert($ttH->lang["global"]["add_false"], "error"); } } else { $data = $ttH->post; } } $data["err"] = $err; $arr_isset = array('order_id'); foreach ($arr_isset as $tmp) { $data[$tmp] = isset($data[$tmp]) ? $data[$tmp] : ''; } $data['date_create'] = isset($data['date_create']) ? $data['date_create'] : date('d/m/Y'); $data['date_create_hour'] = isset($data['date_create_hour']) ? $data['date_create_hour'] : date('H'); $data['date_create_minute'] = isset($data['date_create_minute']) ? $data['date_create_minute'] : date('i'); $data['receipt_code'] = isset($data['receipt_code']) ? $data['receipt_code'] : receipt_code_next(); $data["link_action"] = $ttH->admin->get_link_admin($this->modules_call, $this->action, $this->sub); $data["list_ordering"] = list_ordering("order_id", $data["order_id"], " class=\"form-control\" id=\"list_ordering\"", array('title' => $ttH->lang['global']['select_title'])); $data["list_hour"] = $ttH->admin->list_number("date_create_hour", 0, 23, $data["date_create_hour"]); $data["list_minute"] = $ttH->admin->list_number("date_create_minute", 0, 59, $data["date_create_minute"]); $ttH->temp_act->assign('data', $data); $ttH->temp_act->parse("add"); return $ttH->temp_act->text("add"); }