Exemplo n.º 1
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType     = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;
            string operation = context.Request["op"].ToString();
            Entrada_inventario_cambios oEIC = null;
            Usuario_cancelacion        oUC  = null;

            try
            {
                switch (operation)
                {
                case "arribo":
                    bool exixteFondeo = false;
                    referencia = context.Request["ref"];
                    //Verificacion en tabla de Entrada_fondeo
                    List <Entrada_fondeo> lstEntFo = EntradaCtrl.FondeoGetByReferencia(referencia.Trim());
                    exixteFondeo = lstEntFo.Count > 0;
                    if (!exixteFondeo)
                    {
                        throw new Exception("El pedimento proporcionado no ha sido dado de alta en los fondeos");
                    }

                    //EntradaCtrl.ReferenciaCompartidaValida(referencia.Trim(), 1);

                    //Verifica que sea un nuevo arribo o un arribo parcial
                    if (!EntradaCtrl.EsReferenciaParcial(referencia.Trim(), 1))
                    {
                        EntradaCtrl.ReferenciaNuevaValida(referencia.Trim(), 1);
                    }

                    response = JsonConvert.SerializeObject(exixteFondeo);    // exixteFondeo.ToString();
                    break;

                case "stockcode":
                    int.TryParse(context.Request["key"].ToString(), out id);
                    response = JsonConvert.SerializeObject(EntradaCtrl.FondeoGetById(id));
                    break;

                case "inventoryCodigo":
                    jsonData        = new StreamReader(context.Request.InputStream).ReadToEnd();
                    oEIC            = JsonConvert.DeserializeObject <Entrada_inventario_cambios>(jsonData);
                    oEIC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    oEIC.Codigo     = oEIC.Codigo.Trim();
                    if (EntradaCtrl.InventarioCambiosChangeCodigo(oEIC) > -1)
                    {
                        response = JsonConvert.SerializeObject(CatalogCtrl.Cliente_mercanciafillByCliente(1, oEIC.Codigo));
                    }
                    else
                    {
                        response = JsonConvert.SerializeObject("El código NO ha sido cambiado");
                    }
                    break;

                case "inventoryOrden":
                    jsonData        = new StreamReader(context.Request.InputStream).ReadToEnd();
                    oEIC            = JsonConvert.DeserializeObject <Entrada_inventario_cambios>(jsonData);
                    oEIC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    oEIC.Codigo     = oEIC.Codigo.Trim();
                    response        = JsonConvert.SerializeObject(EntradaCtrl.InventarioCambiosChangeOrden(oEIC));
                    break;

                case "inventoryVendor":
                    jsonData        = new StreamReader(context.Request.InputStream).ReadToEnd();
                    oEIC            = JsonConvert.DeserializeObject <Entrada_inventario_cambios>(jsonData);
                    oEIC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    oEIC.Vendor     = oEIC.Vendor.Trim();
                    if (EntradaCtrl.InventarioCambiosChangeVendor(oEIC) > -1)
                    {
                        response = JsonConvert.SerializeObject(CatalogCtrl.Cliente_vendorfillByCliente(1, oEIC.Vendor));
                    }
                    else
                    {
                        response = JsonConvert.SerializeObject("El Vendor NO ha sido cambiado");
                    }
                    break;

                case "maquilaGet":
                    int.TryParse(context.Request["key"].ToString(), out id);
                    response = JsonConvert.SerializeObject(EntradaCtrl.MaquilaSelById(id));
                    break;

                case "remDetail":
                    int.TryParse(context.Request["key"].ToString(), out id);
                    response = JsonConvert.SerializeObject(SalidaCtrl.RemDetailGetLstByParent(id));
                    break;

                case "changeMaqPar":
                    jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
                    Entrada_estatus oEE = JsonConvert.DeserializeObject <Entrada_estatus>(jsonData);
                    oEE.Id_estatus_proceso = Globals.EST_MAQ_PAR_CERRADA;
                    EntradaCtrl.EntradaEstatusAdd(oEE.Id_entrada_inventario, oEE.Id_estatus_proceso, oEE.Id_usuario, oEE.Id_entrada_maquila);
                    response = JsonConvert.SerializeObject("La maquila ha sido cerrada correctamente");    // exixteFondeo.ToString();
                    break;

                case "MciaDescChange":
                    jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
                    Cliente_mercancia oCM = JsonConvert.DeserializeObject <Cliente_mercancia>(jsonData);
                    EntradaCtrl.InventarioUdtMercancia(oCM);
                    response = JsonConvert.SerializeObject("La descripción ha sido actualizada correctamente");
                    break;

                case "MqStateChange":
                    jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
                    id       = JsonConvert.DeserializeObject <Int32>(jsonData);
                    EntradaCtrl.InventarioUdtMaqAbierta(id, true);
                    response = JsonConvert.SerializeObject("La maquila ha sido abierta correctamente");
                    break;

                case "MqDelete":
                    jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
                    id       = JsonConvert.DeserializeObject <Int32>(jsonData);
                    EntradaCtrl.MaquilaDlt(id);
                    response = JsonConvert.SerializeObject("La maquila ha sido eliminada correctamente");
                    break;

                case "embarque":
                    response = embarque(context);
                    break;

                case "cita":
                    response = Citas(context);
                    break;

                case "fondeoCodigoOrden":
                    response = JsonConvert.SerializeObject(EntradaCtrl.InventarioGetByReferencia(context.Request["key"].ToString()));
                    break;

                case "AddOrdenCarga":
                    jsonData = new StreamReader(context.Request.InputStream).ReadToEnd();
                    Salida_orden_carga oSOC = JsonConvert.DeserializeObject <Salida_orden_carga>(jsonData);
                    oSOC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    SalidaCtrl.OrdenCargaAdd(oSOC);
                    response = JsonConvert.SerializeObject(oSOC);
                    break;

                case "dltOrdenCarga":
                    int.TryParse(context.Request["id_orden_carga"].ToString(), out id);
                    jsonData       = new StreamReader(context.Request.InputStream).ReadToEnd();
                    oUC            = JsonConvert.DeserializeObject <Usuario_cancelacion>(jsonData);
                    oUC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    SalidaCtrl.OrdenCargaDlt(id, oUC);
                    response = JsonConvert.SerializeObject("Se eliminó correctamente el registro");
                    break;

                case "ordenCarga":
                    response = ordenCarga(context);
                    break;

                case "ordenCargaRem":
                    id = 0;
                    int.TryParse(context.Request["id_salida_remision"], out id);
                    response = JsonConvert.SerializeObject(SalidaCtrl.OrdenCargaRemGetRemision(id));
                    break;

                case "salidaRemDev":
                    id = 0;
                    int.TryParse(context.Request["id_salida_remision"], out id);
                    jsonData       = new StreamReader(context.Request.InputStream).ReadToEnd();
                    oUC            = JsonConvert.DeserializeObject <Usuario_cancelacion>(jsonData);
                    oUC.Id_usuario = ((Usuario)context.Session["userCasc"]).Id;
                    SalidaCtrl.RemisionDevolucion(new Salida_remision()
                    {
                        Id = id, Es_devolucion = true
                    }, oUC);
                    response = JsonConvert.SerializeObject("La operación se realizó correctamente");
                    break;

                case "tarimaAlm":
                    response = tarimaAlmacen(context);
                    break;

                case "transCond":
                    response = transporteCondicion(context);
                    break;

                case "orden_trabajo":
                    response = Orden_trabajo(context);
                    break;

                default:
                    break;
                }
                context.Response.Write(response);
            }
            catch (Exception e)
            {
                context.Response.Write(JsonConvert.SerializeObject(e.Message));
            }
        }
Exemplo n.º 2
0
        private static void fillEntradaAlm(string FilePath, string rptPath, Entrada oE, DataSet ds)
        {
            try
            {
                CultureInfo    ci      = new CultureInfo("es-MX");
                ReportDocument reporte = new ReportDocument();
                reporte.Load(rptPath);

                List <Entrada_transporte_condicion> lstETC = AlmacenCtrl.entradaTransporteCondicionGet(oE.PLstEntTrans.First().Id);
                foreach (Entrada_transporte_condicion itemETC in lstETC)
                {
                    DataRow dr = ds.Tables["entrada_transporte_condicion"].NewRow();
                    dr["condicion"] = itemETC.Condicion;
                    dr["si_no"]     = itemETC.Si_no;
                    ds.Tables["entrada_transporte_condicion"].Rows.Add(dr);
                }

                List <Tarima_almacen> lstTA = AlmacenCtrl.tarimaAlacenFillByEntrada(oE.Id);
                foreach (Tarima_almacen itemTA in lstTA)
                {
                    DataRow drTA = ds.Tables["entrada_tarima"].NewRow();
                    drTA["tarima"]   = itemTA.Tarimas;
                    drTA["estandar"] = itemTA.Estandar;
                    drTA["cajas"]    = itemTA.Bultos;
                    drTA["piezas"]   = itemTA.Piezas;
                    ds.Tables["entrada_tarima"].Rows.Add(drTA);
                }

                reporte.Subreports[0].SetDataSource(ds.Tables["entrada_transporte_condicion"]);
                reporte.SetDataSource(ds.Tables["entrada_tarima"]);

                reporte.SetParameterValue("direccion_bodega", oE.PBodega.Direccion);
                reporte.SetParameterValue("bodega", oE.PBodega.Nombre);
                reporte.SetParameterValue("cortina", oE.PCortina.Nombre);
                reporte.SetParameterValue("cliente", oE.PCliente.Razon);
                reporte.SetParameterValue("folio", oE.Folio);
                reporte.SetParameterValue("fecha", oE.Fecha.ToString("dd \\de MMM \\de yyyy", ci));
                reporte.SetParameterValue("hora", oE.Hora.ToString());
                reporte.SetParameterValue("proveedor", CatalogCtrl.Cliente_vendorfillByCliente(1, oE.Origen).First().Nombre);
                reporte.SetParameterValue("mercancia_codigo", oE.PCliente.PClienteMercancia.Codigo);
                reporte.SetParameterValue("mercancia_descripcion", oE.PCliente.PClienteMercancia.Nombre);
                reporte.SetParameterValue("mercancia_tipo", oE.PCliente.PClienteMercancia.Negocio);

                reporte.SetParameterValue("caja_declarada", oE.No_bulto_declarado);
                reporte.SetParameterValue("caja_recibida", oE.No_bulto_recibido);

                int diferenciaBulto = oE.No_bulto_declarado - oE.No_bulto_recibido;
                reporte.SetParameterValue("caja_faltante", 0);
                reporte.SetParameterValue("caja_sobrante", 0);

                if (diferenciaBulto > 0)
                {
                    reporte.SetParameterValue("caja_faltante", diferenciaBulto);
                }
                if (diferenciaBulto < 0)
                {
                    reporte.SetParameterValue("caja_sobrante", Math.Abs(diferenciaBulto));
                }

                reporte.SetParameterValue("pieza_declarada", oE.No_pieza_declarada);
                reporte.SetParameterValue("pieza_recibida", oE.No_pieza_recibida);
                int diferenciaCaja = oE.No_pieza_declarada - oE.No_pieza_recibida;
                reporte.SetParameterValue("pieza_faltante", 0);
                reporte.SetParameterValue("pieza_sobrante", 0);

                if (diferenciaCaja > 0)
                {
                    reporte.SetParameterValue("pieza_faltante", diferenciaCaja);
                }
                if (diferenciaCaja < 0)
                {
                    reporte.SetParameterValue("pieza_sobrante", Math.Abs(diferenciaCaja));
                }



                reporte.SetParameterValue("caja_danada", oE.PLstTarAlm.Count(p => p.Resto > 0));
                reporte.SetParameterValue("caja_abierta", oE.PLstTarAlm.Sum(p => p.Resto));
                reporte.SetParameterValue("rr", oE.Referencia);

                reporte.SetParameterValue("piezaxcaja", oE.PTarAlmEstd.Piezasxcaja);
                reporte.SetParameterValue("cajaxtarima", oE.PTarAlmEstd.Cajasxtarima);


                #region Transporte
                reporte.SetParameterValue("operador", oE.Operador);
                StringBuilder sbET = new StringBuilder();
                foreach (Entrada_transporte oET in oE.PLstEntTrans)
                {
                    sbET.Append("Linea: " + oET.Transporte_linea + ", Tipo: " + oET.Transporte_tipo);
                    if (string.Compare(oET.Placa, "N.A.") != 0)
                    {
                        sbET.Append(", Placa: " + oET.Placa);
                    }
                    if (string.Compare(oET.Caja, "N.A.") != 0)
                    {
                        sbET.Append(", Caja: " + oET.Caja);
                    }
                    if (string.Compare(oET.Caja1, "N.A.") != 0)
                    {
                        sbET.Append(", Contenedor 1: " + oET.Caja1);
                    }
                    if (string.Compare(oET.Caja2, "N.A.") != 0)
                    {
                        sbET.Append(", Contenedor 2: " + oET.Caja2);
                    }
                    sbET.AppendLine();
                }
                reporte.SetParameterValue("transporte", sbET.ToString());
                reporte.SetParameterValue("custodia", oE.PCustodia.Nombre);
                reporte.SetParameterValue("sello", oE.Sello);
                reporte.SetParameterValue("carta_porte", oE.Talon);

                #endregion

                reporte.SetParameterValue("hora_descarga", oE.Hora_descarga);
                reporte.SetParameterValue("observaciones", oE.Observaciones);
                reporte.SetParameterValue("usuario", oE.PUsuario.Nombre.ToUpper());
                reporte.SetParameterValue("vigilante", oE.Vigilante);

                reporte.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, FilePath);
            }
            catch
            {
                throw;
            }
            finally
            {
            }
        }