Beispiel #1
0
        private bool Validaciones()
        {
            if (gvConsulta.RowCount == 0 || gvDetalleImp.RowCount == 0)
            {
                XtraMessageBox.Show("No hay información requerimientos, verifique", "Atención", MessageBoxButtons.OK,
                                    MessageBoxIcon.Exclamation);
                return(false);
            }

            int cantidadItemsSeleccionados = VwRequerimientodetList.Count(x => x.Itemseleccionado);

            if (cantidadItemsSeleccionados == 0)
            {
                XtraMessageBox.Show("Debe seleccionar los items a importar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            VwRequerimiento           vwRequerimiento = (VwRequerimiento)gvConsulta.GetFocusedRow();
            List <VwRequerimientodet> vwRequerimientodetListValidacionOt = VwRequerimientodetACopiarList.Where(x => x.DataEntityState != DataEntityState.Deleted).ToList();

            if (vwRequerimientodetListValidacionOt.Count > 0 && vwRequerimiento.Numerordendetrabajo.Trim() != NumerordendetrabajoImportado.Trim())
            {
                XtraMessageBox.Show("Ya seleccionar la OT " + NumerordendetrabajoImportado, "Atención", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            switch (cboBuscarPor.SelectedIndex)
            {
            case 0:    //Todos
                return(true);

            case 1:     //Requerimiento
                if (string.IsNullOrEmpty(iNumeroreq.Text))
                {
                    XtraMessageBox.Show("Ingrese el numero de requerimiento.", "Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);
                    iNumeroreq.Focus();
                    return(false);
                }
                break;
            }


            return(true);
        }
Beispiel #2
0
        private void SumarTotales()
        {
            gvDetalle.BeginDataUpdate();
            gvDetalle.RefreshData();


            decimal totalbruto = VwRequerimientodetList.Where(w => w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Cantidad * s.Preciounitario);

            rTotalbruto.EditValue = totalbruto;
            decimal totalgravado   = VwRequerimientodetList.Where(w => w.Gravado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal);
            decimal totalinafecto  = VwRequerimientodetList.Where(w => w.Inafecto && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal);
            decimal totalexonerado = VwRequerimientodetList.Where(w => w.Exonerado && w.DataEntityState != DataEntityState.Deleted && w.Calcularitem).Sum(s => s.Importetotal);

            //Impuesto impuestoSel = ImpuestoList.FirstOrDefault(x => x.Idimpuesto == (int)iIdimpuesto.EditValue);
            if (VwRequerimientoSel != null)
            {
                decimal porcentajeImpuesto = VwRequerimientoSel.Porcentajeimpuesto;
                decimal factorImpuesto     = 1 + (porcentajeImpuesto / 100);

                //sumart total percepcion gravados de impuesto
                decimal totalValorPercepcion = VwRequerimientodetList.Where(
                    w => w.DataEntityState != DataEntityState.Deleted &&
                    w.Porcentajepercepcion > 0 &&
                    w.Gravado &&
                    w.Calcularitem).Sum(s => s.Importetotal * (s.Porcentajepercepcion / 100));

                rPorcentajepercepcion.EditValue = totalValorPercepcion > 0 ? SessionApp.EmpresaSel.Porcentajepercepcion : 0m;

                rImportetotalpercepcion.EditValue = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalValorPercepcion : totalValorPercepcion * factorImpuesto, 2);
                rTotalgravado.EditValue           = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado / factorImpuesto : totalgravado, 2);
                rTotalinafecto.EditValue          = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalinafecto / factorImpuesto : totalinafecto, 2);
                rtotalexonerado.EditValue         = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalexonerado / factorImpuesto : totalexonerado, 2);

                rTotalimpuesto.EditValue  = decimal.Round(VwRequerimientoSel.Incluyeimpuestoitems ? totalgravado - (decimal)rTotalgravado.EditValue : totalgravado * porcentajeImpuesto / 100, 2);
                rImportetotal.EditValue   = (decimal)rTotalgravado.EditValue + (decimal)rTotalinafecto.EditValue + (decimal)rtotalexonerado.EditValue + +(decimal)rTotalimpuesto.EditValue;
                rTotaldocumento.EditValue = (decimal)rImportetotal.EditValue + (decimal)rImportetotalpercepcion.EditValue;
            }

            gvDetalle.EndDataUpdate();
            gvDetalle.BestFitColumns(true);
        }
Beispiel #3
0
        private void btnActualizarEstado_Click(object sender, EventArgs e)
        {
            switch (Parametros.TipoConsultaReq)
            {
            case 0:     //Pendiente de aprobacion
                break;

            case 1:     //Req Aproados
                if (Service.RequerimientoTieneReferenciasOrdenDeCompra(VwRequerimientoSel.Idrequerimiento))
                {
                    XtraMessageBox.Show("Requerimiento ya tiene referencia en ordenes de compra.", "Atención",
                                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                break;
            }
            if (gvConsulta.RowCount == 0)
            {
                XtraMessageBox.Show("No hay requerimientos pendientes de aprobación.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }


            if (gvDetalle.RowCount == 0)
            {
                XtraMessageBox.Show("El requerimiento no tiene items.", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            int totalItemsSeleccionados = VwRequerimientodetList.Count(x => x.Aprobado);

            if (totalItemsSeleccionados == 0)
            {
                XtraMessageBox.Show("Debe seleccionar items a aprobar", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            var idEstadoSel = iIdestadoreq.EditValue;

            if (idEstadoSel == null)
            {
                XtraMessageBox.Show("Seleccione el estado", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }


            switch (Parametros.IdEstadoReq)
            {
            case 0:     // Pendientes de Aprobacion

                if (Service.RequerimientoAprobado(VwRequerimientoSel.Idrequerimiento))
                {
                    XtraMessageBox.Show("Requerimiento ya esta aprobado.", "Atención", MessageBoxButtons.OK,
                                        MessageBoxIcon.Exclamation);

                    CargarRequerimientos();
                    return;
                }
                break;

            case 1:     // Aprobados

                break;
            }

            if (DialogResult.Yes == XtraMessageBox.Show("Desea actualizar el estado del requerimiento",
                                                        "Atención", MessageBoxButtons.YesNo,
                                                        MessageBoxIcon.Question, MessageBoxDefaultButton.Button1))
            {
                Requerimiento requerimiento = Service.GetRequerimiento(x => x.Idrequerimiento == VwRequerimientoSel.Idrequerimiento);

                if (requerimiento != null)
                {
                    int idRequerimientoSel = requerimiento.Idrequerimiento;
                    requerimiento.Totalbruto             = (decimal)rTotalbruto.EditValue;
                    requerimiento.Totalgravado           = (decimal)rTotalgravado.EditValue;
                    requerimiento.Totalinafecto          = (decimal)rTotalinafecto.EditValue;
                    requerimiento.Totalexonerado         = (decimal)rtotalexonerado.EditValue;
                    requerimiento.Totalimpuesto          = (decimal)rTotalimpuesto.EditValue;
                    requerimiento.Importetotal           = (decimal)rImportetotal.EditValue;
                    requerimiento.Porcentajepercepcion   = (decimal)rPorcentajepercepcion.EditValue;
                    requerimiento.Importetotalpercepcion = (decimal)rImportetotalpercepcion.EditValue;
                    requerimiento.Totaldocumento         = (decimal)rTotaldocumento.EditValue;

                    requerimiento.Idestadoreq = (int)iIdestadoreq.EditValue;

                    //IdEstadoreq: 3 (Aprobado)

                    requerimiento.Fechaaprobacion = (int)idEstadoSel == 3 ? (DateTime?)DateTime.Now : null;

                    requerimiento.Idempleadoaprueba     = SessionApp.UsuarioSel.Idusuario;
                    requerimiento.Observacionaprobacion = iObservacionReq.Text.Trim();

                    Service.UpdateRequerimiento(requerimiento);

                    foreach (var item in VwRequerimientodetList)
                    {
                        ////Eliminar los desaprobado
                        //if (!item.Itemseleccionado)
                        //{
                        //    Service.DeleteRequerimientodet(item.Idrequerimientodet);
                        //}

                        //Si se modifico la cantidad
                        if (item.DataEntityState == DataEntityState.Modified && item.Itemseleccionado)
                        {
                            Requerimientodet itemRedDet = Service.GetRequerimientodet(item.Idrequerimientodet);
                            itemRedDet.Cantidad     = item.Cantidad;
                            itemRedDet.Importetotal = item.Importetotal;
                            itemRedDet.Aprobado     = item.Aprobado;
                            Service.UpdateRequerimientodet(itemRedDet);
                        }
                    }

                    if ((int)idEstadoSel == 3 || (int)idEstadoSel == 5) //Cuando este aprobado o desaprobado
                    {
                        Tipocp tipocpReq = Service.GetTipocp(x => x.Idtipocp == requerimiento.Idtipocp);
                        if (tipocpReq != null)
                        {
                            //Insertar informacion de aprobacion de documento
                            Documentoaprobacion documentoaprobacionReq = new Documentoaprobacion
                            {
                                Idtipodocmov    = tipocpReq.Idtipodocmov,
                                Iddocumentomov  = requerimiento.Idrequerimiento,
                                Empleadoaprueba = SessionApp.EmpleadoSel.Idempleado,
                                Fechaaprobacion = DateTime.Now,
                                Aprobado        = true,
                                Comentario      = iObservacionReq.Text.Trim()
                            };
                            int iddocumentoaprobacion = Service.SaveDocumentoaprobacion(documentoaprobacionReq);
                            if (iddocumentoaprobacion > 0)
                            {
                            }
                        }
                    }


                    //Si se cambia a registrado o desaprobado eliminar registros de documentoaprobacion
                    if ((int)idEstadoSel == 1 || (int)idEstadoSel == 4 && idRequerimientoSel > 0)
                    {
                        //3:REQUERIMIENTO
                        Service.EliminarReferenciasDocumentoAprobacion(3, idRequerimientoSel);
                    }
                    CargarRequerimientos();
                }
            }
        }
Beispiel #4
0
        private void bmMntItems_ItemClick(object sender, ItemClickEventArgs e)
        {
            var subMenu = e.Item as BarSubItem;

            if (subMenu != null)
            {
                return;
            }


            switch (e.Item.Name)
            {
            case "btnGrabarItem":

                if (!Validaciones())
                {
                    return;
                }


                VwRequerimientodet.Numeroitem               = (int)iNumeroitem.EditValue;
                VwRequerimientodet.Codigoarticulo           = iCodigoarticulo.Text.Trim();
                VwRequerimientodet.Codigoproveedor          = iCodigoproveedor.Text.Trim();
                VwRequerimientodet.Nombrearticulo           = beArticulo.Text.Trim();
                VwRequerimientodet.Nombremarca              = iMarcaarticulo.Text.Trim();
                VwRequerimientodet.Cantidad                 = (decimal)iCantidad.EditValue;
                VwRequerimientodet.Preciounitario           = (decimal)iPreciounitario.EditValue;
                VwRequerimientodet.Importetotal             = (decimal)iImportetotal.EditValue;
                VwRequerimientodet.Descripcioncentrodecosto = iIdcentrodecosto.Text.Trim();
                VwRequerimientodet.Especificacion           = iEspecificacion.Text.Trim();
                VwRequerimientodet.Idarticulo               = (int?)iIdarticulo.EditValue;
                VwRequerimientodet.Idimpuesto               = (int?)iIdimpuesto.EditValue;
                VwRequerimientodet.Idunidadmedida           = (int)iIdunidadmedida.EditValue;
                VwRequerimientodet.Abrunidadmedida          = iAbrunidadmedida.Text.Trim();
                VwRequerimientodet.Idcentrodecosto          = (int)iIdcentrodecosto.EditValue;
                Centrodecosto centroDeCostoSel = CentrodecostoList.FirstOrDefault(x => x.Idcentrodecosto == VwRequerimientodet.Idcentrodecosto);
                VwRequerimientodet.Codigocentrodecosto = centroDeCostoSel == null ? string.Empty : centroDeCostoSel.Codigocentrodecosto;
                VwRequerimientodet.Cantidadinicial     = VwRequerimientodet.Cantidad;
                VwRequerimientodet.Idtipoafectacionigv = (int)iIdtipoafectacionigv.EditValue;
                VwRequerimientodet.Gravado             = (bool)iGravado.EditValue;
                VwRequerimientodet.Exonerado           = (bool)iExonerado.EditValue;
                VwRequerimientodet.Inafecto            = (bool)iInafecto.EditValue;
                VwRequerimientodet.Exportacion         = (bool)iExportacion.EditValue;
                VwRequerimientodet.Aprobado            = true;
                VwRequerimientodet.Stock = (decimal)iStock.EditValue;
                VwRequerimientodet.Porcentajepercepcion = (decimal)nPorcentajepercepcion.EditValue;


                //Los items por defecto se calculan
                VwRequerimientodet.Calcularitem = (bool)iCalcularitem.EditValue;

                //Si es un articulo compuesto agregar detalle
                if ((bool)iCalcularitem.EditValue)
                {
                    AsignarDetalleDeArticulosCompuestos(VwRequerimientodet.Idarticulo);
                }

                switch (TipoMnt)
                {
                case TipoMantenimiento.Nuevo:
                    VwRequerimientodet.Createdby    = SessionApp.UsuarioSel.Idusuario;
                    VwRequerimientodet.Creationdate = DateTime.Now;
                    break;

                case TipoMantenimiento.Modificar:
                    VwRequerimientodet.Modifiedby   = SessionApp.UsuarioSel.Idusuario;
                    VwRequerimientodet.Lastmodified = DateTime.Now;
                    break;
                }

                if (TipoMnt == TipoMantenimiento.Nuevo)
                {
                    int cantReferenciasItem = VwRequerimientodetList.Count(x => x.Idarticulo == VwRequerimientodet.Idarticulo &&
                                                                           x.Idunidadmedida == VwRequerimientodet.Idunidadmedida &&
                                                                           x.DataEntityState != DataEntityState.Deleted);

                    if (cantReferenciasItem > 0)
                    {
                        string mensaje = string.Format("El articulo {0} ya fue agregado ¿Desea continuar?",
                                                       VwRequerimientodet.Nombrearticulo);
                        if (DialogResult.No == XtraMessageBox.Show(mensaje,
                                                                   Resources.titPregunta, MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                                                   MessageBoxDefaultButton.Button2))
                        {
                            return;
                        }
                    }
                }

                switch (TipoMnt)
                {
                case  TipoMantenimiento.Nuevo:
                    VwRequerimientodet.DataEntityState = DataEntityState.Added;
                    break;

                case TipoMantenimiento.Modificar:
                    VwRequerimientodet.DataEntityState = DataEntityState.Modified;
                    break;
                }

                DialogResult = DialogResult.OK;

                break;

            case "btnCancelarItem":
                DialogResult = DialogResult.Cancel;
                break;
            }
        }
Beispiel #5
0
        private void bmMntItems_ItemClick(object sender, ItemClickEventArgs e)
        {
            var subMenu = e.Item as BarSubItem;

            if (subMenu != null)
            {
                return;
            }



            switch (e.Item.Name)
            {
            case "btnImportar":

                if (!Validaciones())
                {
                    return;
                }

                VwRequerimientoSel = (VwRequerimiento)gvConsulta.GetFocusedRow();

                foreach (var item in VwRequerimientodetList.Where(x => x.Itemseleccionado))
                {
                    VwRequerimientodet vwRequerimientodet = new VwRequerimientodet();
                    vwRequerimientodet.Idrequerimiento = 0;
                    vwRequerimientodet.Numeroitem      = 0;
                    vwRequerimientodet.Idarticulo      = item.Idarticulo;
                    vwRequerimientodet.Codigoarticulo  = item.Codigoarticulo;
                    vwRequerimientodet.Codigoproveedor = item.Codigoproveedor;
                    vwRequerimientodet.Idunidadmedida  = item.Idunidadmedida;
                    vwRequerimientodet.Nombremarca     = item.Nombremarca;
                    vwRequerimientodet.Nombrearticulo  = item.Nombrearticulo;
                    vwRequerimientodet.Cantidad        = item.Cantidadaimportar;
                    vwRequerimientodet.Cantidadinicial = item.Cantidadaimportar;
                    vwRequerimientodet.Idunidadmedida  = item.Idunidadmedida;
                    vwRequerimientodet.Abrunidadmedida = item.Abrunidadmedida;
                    vwRequerimientodet.Preciounitario  = item.Preciounitario;
                    vwRequerimientodet.Especificacion  = item.Especificacion;
                    vwRequerimientodet.Importetotal    = 0m;
                    vwRequerimientodet.Idimpuesto      = item.Idimpuesto;

                    vwRequerimientodet.Idtipoafectacionigv = item.Idtipoafectacionigv;
                    vwRequerimientodet.Gravado             = item.Gravado;
                    vwRequerimientodet.Exonerado           = item.Exonerado;
                    vwRequerimientodet.Inafecto            = item.Inafecto;
                    vwRequerimientodet.Exportacion         = item.Exportacion;

                    vwRequerimientodet.Idcentrodecosto          = item.Idcentrodecosto;
                    vwRequerimientodet.Codigocentrodecosto      = item.Codigocentrodecosto;
                    vwRequerimientodet.Descripcioncentrodecosto = item.Descripcioncentrodecosto;
                    vwRequerimientodet.Porcentajepercepcion     = 0m;
                    vwRequerimientodet.Idrequerimientodet       = 0;
                    vwRequerimientodet.DataEntityState          = DataEntityState.Added;

                    vwRequerimientodet.NumerordendetrabajoImportado = VwRequerimientoSel.Numerordendetrabajo;
                    TipoMnt = vwRequerimientodet.Idrequerimientodet <= 0 ? TipoMantenimiento.Nuevo : TipoMantenimiento.Modificar;

                    //Los items por defecto se calculan
                    vwRequerimientodet.Calcularitem = item.Calcularitem;

                    //Si es un articulo compuesto agregar detalle
                    if (vwRequerimientodet.Calcularitem)
                    {
                        AsignarDetalleDeArticulosCompuestos(item);
                    }

                    switch (TipoMnt)
                    {
                    case TipoMantenimiento.Nuevo:
                        vwRequerimientodet.Createdby    = SessionApp.UsuarioSel.Idusuario;
                        vwRequerimientodet.Creationdate = DateTime.Now;
                        break;

                    case TipoMantenimiento.Modificar:
                        vwRequerimientodet.Modifiedby   = SessionApp.UsuarioSel.Idusuario;
                        vwRequerimientodet.Lastmodified = DateTime.Now;
                        break;
                    }



                    //sgtItem++;
                    VwRequerimientodetACopiarList.Add(vwRequerimientodet);
                }


                DialogResult = DialogResult.OK;

                break;

            case "btnCancelarItem":
                DialogResult = DialogResult.Cancel;
                break;

            case "btnConsultar":
                if (!ValidacionDatosConsulta())
                {
                    return;
                }
                CargarRequerimientos();
                break;

            case "btnCerrar":
                DialogResult = DialogResult.Cancel;
                break;
            }
        }