Exemple #1
0
 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");
 }