예제 #1
0
        public static void agregarOrden(orden_compra nuevo)
        {
            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "INSERT INTO orden_de_compra VALUES(@numero_orden_compra,@fecha,"
                + "@observaciones,@subtotal,@iva,@total_pagar,@id_proveedor)";

            cmd.Parameters.Add("@numero_orden_compra", SqlDbType.VarChar).Value = nuevo.numero_orden;
            cmd.Parameters.Add("@fecha", SqlDbType.DateTime).Value = nuevo.fecha;
            cmd.Parameters.Add("@observaciones", SqlDbType.VarChar).Value = nuevo.observacion;
            cmd.Parameters.Add("@subtotal", SqlDbType.VarChar).Value = nuevo.sub_total;
            cmd.Parameters.Add("@iva", SqlDbType.VarChar).Value = nuevo.iva;
            cmd.Parameters.Add("@total_pagar", SqlDbType.VarChar).Value = nuevo.total;
            cmd.Parameters.Add("@id_proveedor", SqlDbType.VarChar).Value = nuevo.id_proveedor;

            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            cnx.Close();
        }
예제 #2
0
        public static List<orden_compra> obtenerTodasReemplazadas()
        {
            List<orden_compra> retorno = new List<orden_compra>();

            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * from orden_de_compra,orden_de_compra_nueva WHERE numero_orden_compra = id_oc_vieja ORDER BY fecha DESC";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                orden_compra O_compra = new orden_compra();
                O_compra.numero_orden = (string)dr["numero_orden_compra"];
                O_compra.fecha = (DateTime)dr["fecha"];
                O_compra.observacion = (string)dr["observaciones"];
                O_compra.sub_total = (string)dr["subtotal"];
                O_compra.iva = (string)dr["iva"];
                O_compra.total = (string)dr["total_pagar"];
                O_compra.id_proveedor = (string)dr["id_proveedor"];

                retorno.Add(O_compra);
            }
            cnx.Close();

            return retorno;
        }
예제 #3
0
        public static List<ordenCompraReporte> convertirEnDatosOrdenCompraReporte(orden_compra ordenCompra)
        {
            List<ordenCompraReporte> retorno = new List<ordenCompraReporte>();

            datosEmpresa DatosEmpresa = datosEmpresa.obtenerDatos();

            List<detalle_ordencompra> detalle = detalle_ordencompra.obtenerTodas(ordenCompra.numero_orden);
            nota notaOrden = nota.obtenerNota(ordenCompra.numero_orden);
            usointerno_oc usoInterno = usointerno_oc.obtenerUsointerno(ordenCompra.numero_orden);

            proveedores proveedor = new proveedores().getProveedor(ordenCompra.id_proveedor);

                //Para cada item del detalle se crea un elemento
            for (int i = 0; i < detalle.Count; i++)
            {
                ordenCompraReporte temp = new ordenCompraReporte();

                temp.numeroOrdenCompra = ordenCompra.numero_orden;
                temp.fecha = ordenCompra.fecha;

                temp.rutEmpresa = DatosEmpresa.rut;
                temp.giroEmpresa = DatosEmpresa.giro;
                temp.direccionEmpresa = DatosEmpresa.direccion;
                temp.telefonoEmpresa = DatosEmpresa.telefono;
                temp.correoEmpresa = DatosEmpresa.correo;

                temp.nombreEmpresaPara = ordenCompra.id_proveedor;
                temp.rutEmpresaPara = proveedor.rut;
                temp.giroEmpresaPara = proveedor.razonsocial;
                temp.direccionEmpresaPara = proveedor.direccion;
                temp.telefonoEmpresaPara = proveedor.telefono;

                temp.cantidad = detalle[i].cantidad_item.ToString();
                temp.unidad = detalle[i].unidad;
                temp.detalle = detalle[i].id_item;
                temp.precio = "$" + new formatearString().valoresPesos(detalle[i].precio_unitario.ToString());
                temp.montoTotal = "$" + new formatearString().valoresPesos((detalle[i].precio_unitario * detalle[i].cantidad_item).ToString());

                temp.subtotal = "$" + new formatearString().valoresPesos(ordenCompra.sub_total);
                temp.iva = "$" + new formatearString().valoresPesos(ordenCompra.iva);
                temp.totalPagar = "$" + new formatearString().valoresPesos(ordenCompra.total);

                //Nota
                temp.sirvaseEntregar = notaOrden.donde;
                temp.direccionEntregar = notaOrden.dir_entrega;
                temp.transporteCuentaEntregar = notaOrden.transporte;
                temp.formaPagoEntregar = notaOrden.cuenta;
                temp.plazoEntregaEntregar = notaOrden.plazo_entrega;

                //Uso Interno
                temp.nombreObraUsoInterno = usoInterno.faena;
                temp.comunaUsoInterno = usoInterno.comuna;
                temp.observacionesUsoInterno = usoInterno.observacion;
                temp.emRevisadoPorUsoInterno = usuarios.obtenerUsuario(usoInterno.revisadoPor).nombreCompleto;

                temp.item = usoInterno.item;
                temp.presupuesto = usoInterno.presupuesto;
                temp.OC = usoInterno.oc;
                temp.saldo = usoInterno.saldo;

                temp.observacion = ordenCompra.observacion;
                if (ordenCompra.esReeemplazada())
                {
                    temp.reemplazada = "true";
                    temp.numeroReemplaza = ordenCompra.obtenerNumeroOrdenQueReemplaza();
                }
                else
                {
                    temp.reemplazada = "false";
                }

                if (ordenCompra.reemplaza())
                {
                    temp.reemplaza = "true";
                    temp.numeroReemplazada = ordenCompra.obtenerNumeroOrdenReemplazada();
                }
                else
                {
                    temp.reemplaza = "false";
                }

                retorno = agregarParaListaSinRepetir(retorno, temp);
            }

            return retorno;
        }
예제 #4
0
        public static orden_compra obtenerOrdenCompra( string numeroOrdenCompra)
        {
            orden_compra retorno = new orden_compra();

            SqlConnection cnx = conexion.crearConexion();

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnx;
            cmd.CommandText = "SELECT * from orden_de_compra WHERE numero_orden_compra='" + numeroOrdenCompra +"'";
            cmd.CommandType = CommandType.Text;
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                retorno.numero_orden = (string)dr["numero_orden_compra"];
                retorno.fecha = (DateTime)dr["fecha"];
                retorno.observacion = (string)dr["observaciones"];
                retorno.sub_total = (string)dr["subtotal"];
                retorno.iva = (string)dr["iva"];
                retorno.total = (string)dr["total_pagar"];
                retorno.id_proveedor = (string)dr["id_proveedor"];
            }
            cnx.Close();

            return retorno;
        }
예제 #5
0
        public ActionResult Guardar(FormCollection post)
        {
            if (Session["nombre"] != null && (Session["rol"].ToString().Equals("adquisiciones") || Session["rol"].ToString().Equals("admin")))
            {
                DateTime fecha = DateTime.Now;
                orden_compra nuevo = new orden_compra();
                string id = (string)post["numOrden"];
                nuevo.numero_orden = (string)post["numOrden"];
                nuevo.fecha = fecha;
                nuevo.observacion = (string)post["comment"];
                nuevo.sub_total = (string)post["subtotal"];
                if ((string)post["con_iva"] == "true")
                {
                    nuevo.iva = "no aplica";
                    nuevo.total = (string)post["subtotal"];
                }
                else
                {
                    nuevo.iva = (string)post["iva"];
                    nuevo.total = (string)post["total"];
                }
                nuevo.id_proveedor = (string)post["proveedor"];
                orden_compra.agregarOrden(nuevo);
                string[] item = Request.Form.GetValues("item");
                string[] elementos = new string[item.Length];
                string valor = "";
                //  var elemento;
                for (int i = 0; i < item.Length; i++)
                {
                    var elemento = item[i].Split('|');
                    valor = elemento[1].ToString();
                    elementos[i] = valor;
                }
                string[] cantidad = Request.Form.GetValues("cantidad");
                string[] precio = Request.Form.GetValues("precio");
                for (int i = 0; i < precio.Length; i++)
                {
                    precio[i] = precio[i].Replace(".", "");
                }
                string[] unidad = Request.Form.GetValues("unidad");
                string[] id_partida = Request.Form.GetValues("partida_asociada");
                string[] id_faena = Request.Form.GetValues("id_faena");
                string[] numero_item_partida = Request.Form.GetValues("numero_item");
                string[] nombre_item_partida = Request.Form.GetValues("nombre_item");
                string[] id_partida_asig = Request.Form.GetValues("item_partida");
                string[] idSolicitud = Request.Form.GetValues("solicitud");

                orden_compra.agregardetalle(id, elementos, precio, cantidad, unidad, id_faena, id_partida, numero_item_partida, nombre_item_partida, idSolicitud);

                nota nueva = new nota();
                nueva.donde = (string)post["donde"];
                nueva.dir_entrega = (string)post["entrega"];
                nueva.id_numero_orden = (string)post["numOrden"];
                nueva.transporte = (string)post["transporte"];
                nueva.cuenta = (string)post["pago"];
                if((string)post["plazoentrega"] == "otros"){
                    nueva.plazo_entrega = (string)post["plazoentrega2"];
                }
                else {
                nueva.plazo_entrega = (string)post["plazoentrega"];
                }
                nota.agregarNota(nueva);

                usointerno_oc usointerno = new usointerno_oc();
                usointerno.id_orden = (string)post["numOrden"];
                usointerno.faena = (string)post["nombreobra"];
                usointerno.comuna = (string)post["comuna"];
                usointerno.observacion = (string)post["observacion"];
                usointerno.item = (string)post["item_uso"];
                usointerno.presupuesto = (string)post["presupuesto"];
                usointerno.oc = (string)post["oc"];
                usointerno.saldo = (string)post["saldo"];
                usointerno.revisadoPor = Session["nombre"].ToString();
                usointerno_oc.agregar_usoInterno(usointerno);
                return RedirectToAction("todas", "Ordendecompra");
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }