Esempio n. 1
0
        public JsonResult guardar_recibo_inventario(string id, string item, string po, string style, string mill, string po_r, string locacion, string country, string customer, string caja, string cantidad, string packing_number)
        {
            //SEPARAR INFORMACIÓN
            //Session["id_usuario"] = 2;
            string[] ids = id.Split('*'), items = item.Split('*'), pos = po.Split('*'), styles = style.Split('*'), locaciones = locacion.Split('*');
            string[] countries = country.Split('*'), customers = customer.Split('*'), cajas_item = caja.Split('*'), cantidades_item = cantidad.Split('*');
            string   qty_item = "", ids_inventario = "", trims_inventario = "", trims_cantidades = "", trims_item = "", ids_summary = "";
            int      existencia = 0, summary = 0;
            //POR CADA ITEM
            int total_item = 0, total_recibo = 0;

            for (int i = 1; i < ids.Length; i++)
            {
                di.id_tipo = consultas.buscar_tipo_inventario_item(ids[i]);
                di.mill_po = mill; di.po_referencia = po_r;
                summary    = 0;
                switch (di.id_tipo)
                {
                case 2:
                    //int id_usuario, string estilo, string tipo, string po, string mill_po, string amt, string unit, string company, string cantidad, string descripcion_trim, string familia, string minimo,string referencia
                    consultas.buscar_informacion_trim_item(ids[i]);
                    total_item    = obtener_cantidad_item(cajas_item[i], cantidades_item[i]);
                    qty_item     += "*" + total_item.ToString();
                    total_recibo += total_item;
                    di.cantidad   = total_item;
                    di.obtener_datos_trim(Convert.ToInt32(ids[i]), Convert.ToInt32(Session["id_usuario"]), styles[i], "Trims", pos[i], consultas.unit, customers[i], total_item.ToString(), consultas.descripcion, consultas.family, "0");

                    existencia   = di.buscar_existencia_trim_inventario();
                    summary      = consultas.obtener_po_summary(di.id_pedido, di.id_estilo);
                    ids_summary += "*" + summary.ToString();
                    if (existencia == 0)
                    {
                        di.guardar_trim_po();
                        di.id_inventario = di.obtener_ultimo_inventario();
                        ids_inventario  += "*" + di.id_inventario.ToString();
                    }
                    else
                    {
                        di.sumar_existencia_trim(existencia);
                        ids_inventario += "*" + existencia.ToString();
                    }
                    trims_inventario += "*" + consultas.obtener_po_summary(di.id_pedido, di.id_estilo);
                    trims_cantidades += "*" + total_item.ToString();
                    trims_item       += "*" + ids[i];
                    break;

                case 1:
                    consultas.buscar_informacion_blank_item(ids[i]);
                    int customer_final = consultas.buscar_cliente_final_po(pos[i]);
                    di.obtener_datos_blank(Convert.ToInt32(ids[i]), Convert.ToInt32(Session["id_usuario"]), styles[i], "Blanks", pos[i], countries[i], consultas.fabricante, consultas.color, consultas.body_type, consultas.size, consultas.gender, consultas.fabric_type, consultas.fabric_percent, customers[i], locaciones[i], customer_final, "N/A", "N/A", "N/A", cajas_item[i], cantidades_item[i]);
                    qty_item     += "*" + di.quantity.ToString();
                    total_recibo += di.quantity;

                    existencia   = di.buscar_existencia_blank_inventario();
                    summary      = consultas.obtener_po_summary(di.id_pedido, di.id_estilo);
                    ids_summary += "*" + summary.ToString();
                    if (existencia == 0)
                    {
                        di.guardar_blank();
                        di.id_inventario = di.obtener_ultimo_inventario();
                        ids_inventario  += "*" + di.id_inventario.ToString();
                    }
                    else
                    {
                        di.sumar_existencia_blank(existencia);
                        ids_inventario += "*" + existencia.ToString();
                    }
                    break;
                } //switch
            }     //FOR
            di.guardar_recibo(total_recibo, 0, mill, po_r, packing_number);
            di.id_recibo = di.obtener_ultimo_recibo();
            GenerateMyQCCode("recibo_" + di.id_recibo.ToString());
            string[] trimsInventario = trims_inventario.Split('*'), trimsCantidad = trims_cantidades.Split('*'), trimsItem = trims_item.Split('*');
            //REVISAR TRIMS

            /*for (int tr = 1; tr < trimsInventario.Length; tr++){
             *  di.buscar_item_trim_request(Convert.ToInt32(trimsInventario[tr]), Convert.ToInt32(trimsCantidad[tr]), Convert.ToInt32(trimsItem[tr]), di.id_recibo);
             * }*/
            //TRIMS
            string[] inventarios = ids_inventario.Split('*'), totales_items = qty_item.Split('*'), summarys = ids_summary.Split('*');
            for (int j = 1; j < inventarios.Length; j++)
            {
                di.guardar_recibo_item(di.id_recibo, inventarios[j], totales_items[j], summarys[j]);
                di.id_recibo_item = di.obtener_ultimo_recibo_item();
                string[] cajas = cajas_item[j].Split('&'), cantidades = cantidades_item[j].Split('&');
                for (int k = 1; k < cajas.Length; k++)
                {
                    for (int h = 0; h < Convert.ToInt32(cajas[k]); h++)
                    {
                        di.guardar_caja(di.id_recibo_item, inventarios[j], cantidades[k], cantidades[k]);
                        di.id_caja = di.obtener_id_ultima_caja();
                        GenerateMyQCCode("caja_" + Convert.ToString(di.id_caja));
                    }
                }
            }
            Session["id_recibo_nuevo"] = di.id_recibo;
            return(Json("0", JsonRequestBehavior.AllowGet));
        }