示例#1
0
        public bool ContabilizarPeriodo(ro_rol_Info info)
        {
            try
            {
                ro_parametro = new ro_Parametros_Data();
                ro_Comprobantes_Contables_Info info_comprobanteID = new ro_Comprobantes_Contables_Info();
                ct_cbtecble_Info info_ctb = null;
                info_parametro = ro_parametro.get_info(info.IdEmpresa);
                if (info.lst_sueldo_x_pagar.Count() > 0)
                {
                    info_ctb = get_armar_diario_sueldo(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar));
                }
                info_ctb.IdSucursal = Convert.ToInt32(info.IdSucursal);
                if (info_ctb != null)
                {
                    if (odata_comprobante.guardarDB(info_ctb))
                    {
                        // grabando los ID del asiento sueldo por pagar
                        info_comprobanteID.IdEmpresa    = info.IdEmpresa;
                        info_comprobanteID.IdNomina     = info.IdNomina_Tipo;
                        info_comprobanteID.IdNominaTipo = info.IdNomina_TipoLiqui;
                        info_comprobanteID.IdPeriodo    = info.IdPeriodo;
                        info_comprobanteID.IdTipoCbte   = info_ctb.IdTipoCbte;
                        info_comprobanteID.IdCbteCble   = info_ctb.IdCbteCble;
                        info_comprobanteID.IdSucursal   = info_ctb.IdSucursal;
                        ro_comprobante.grabarDB(info_comprobanteID);
                        info_ctb = null;
                        if (info.lst_provisiones.Count() > 0)
                        {
                            info_ctb            = get_armar_diario_provisiones(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar));
                            info_ctb.IdSucursal = Convert.ToInt32(info.IdSucursal);
                        }
                        if (info_ctb != null)
                        {
                            if (odata_comprobante.guardarDB(info_ctb))
                            {
                                // grabando los ID del asiento sueldo por pagar
                                info_comprobanteID              = new ro_Comprobantes_Contables_Info();
                                info_comprobanteID.IdEmpresa    = info.IdEmpresa;
                                info_comprobanteID.IdNomina     = info.IdNomina_Tipo;
                                info_comprobanteID.IdNominaTipo = info.IdNomina_TipoLiqui;
                                info_comprobanteID.IdPeriodo    = info.IdPeriodo;
                                info_comprobanteID.IdTipoCbte   = info_ctb.IdTipoCbte;
                                info_comprobanteID.IdCbteCble   = info_ctb.IdCbteCble;
                                info_comprobanteID.IdSucursal   = info_ctb.IdSucursal;
                                ro_comprobante.grabarDB(info_comprobanteID);
                            }
                        }
                    }
                }
                odata.ContabilizarPeriodo(info);

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#2
0
        public List <ROL_030_Info> get_list(int IdEmpresa, int IdSucursal, int IdNominaTipo, int IdNominaTipoLiqui, int IdPeriodo)
        {
            try
            {
                ro_Parametros_Data odata = new ro_Parametros_Data();
                var para = odata.get_info(IdEmpresa);
                List <ROL_030_Info> Lista;
                using (Entities_reportes Context = new Entities_reportes())
                {
                    Lista = (from q in Context.VWROL_030
                             where (q.IdEmpresa == IdEmpresa &&
                                    q.IdNominaTipo == para.IdNomina_General &&
                                    q.IdNominaTipoLiqui == para.IdNomina_TipoLiqui_PagoUtilidad &&
                                    q.IdPeriodo == IdPeriodo
                                    )
                             select new ROL_030_Info
                    {
                        IdEmpresa = q.IdEmpresa,
                        IdRol = q.IdRol,
                        IdSucursal = q.IdSucursal,
                        IdNominaTipo = q.IdNominaTipo,
                        IdNominaTipoLiqui = q.IdNominaTipoLiqui,
                        IdPeriodo = q.IdPeriodo,
                        IdEmpleado = q.IdEmpleado,
                        IdRubro = q.IdRubro,
                        ca_descripcion = q.ca_descripcion,
                        pe_cedulaRuc = q.pe_cedulaRuc,
                        pe_nombreCompleto = q.pe_nombreCompleto,
                        rub_codigo = q.rub_codigo,
                        ru_codRolGen = q.ru_codRolGen,
                        ru_orden = q.ru_orden,
                        ru_descripcion = q.ru_descripcion,
                        Orden = q.Orden,
                        Valor = q.Valor
                    }).ToList();
                }

                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        public bool ContabilizarPeriodo(ro_rol_Info info)
        {
            try
            {
                ro_parametro = new ro_Parametros_Data();
                ro_Comprobantes_Contables_Info info_comprobanteID = new ro_Comprobantes_Contables_Info();
                ct_cbtecble_Info info_ctb = null;
                info_parametro = ro_parametro.get_info(info.IdEmpresa);

                var lstSucursal = info.lst_sueldo_x_pagar.GroupBy(q => new { q.IdSucursal, q.Su_Descripcion }).Select(q => new { IdSucursal = q.Key.IdSucursal, Su_Descripcion = q.Key.Su_Descripcion });
                foreach (var item in lstSucursal)
                {
                    info_ctb = get_armar_diario_sueldo(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar), item.IdSucursal ?? 0);
                    if (info_ctb == null)
                    {
                        return(false);
                    }

                    info_ctb.IdSucursal = item.IdSucursal ?? 0;

                    if (info_ctb != null)
                    {
                        if (odata_comprobante.guardarDB(info_ctb))
                        {
                            // grabando los ID del asiento sueldo por pagar
                            info_comprobanteID.IdEmpresa     = info.IdEmpresa;
                            info_comprobanteID.IdNomina      = info.IdNomina_Tipo;
                            info_comprobanteID.IdNominaTipo  = info.IdNomina_TipoLiqui;
                            info_comprobanteID.IdPeriodo     = info.IdPeriodo;
                            info_comprobanteID.IdTipoCbte    = info_ctb.IdTipoCbte;
                            info_comprobanteID.IdCbteCble    = info_ctb.IdCbteCble;
                            info_comprobanteID.IdRol         = info.IdRol;
                            info_comprobanteID.IdEmpresa_rol = info.IdEmpresa;
                            ro_comprobante.grabarDB(info_comprobanteID);
                            info_ctb = null;
                            if (info.lst_provisiones.Count() > 0)
                            {
                                info_ctb = get_armar_diario_provisiones(info, Convert.ToInt32(info_parametro.IdTipoCbte_AsientoSueldoXPagar), item.IdSucursal ?? 0);
                                if (info_ctb == null)
                                {
                                    return(false);
                                }
                                info_ctb.IdSucursal = item.IdSucursal ?? 0;
                            }
                            if (info_ctb != null)
                            {
                                if (odata_comprobante.guardarDB(info_ctb))
                                {
                                    // grabando los ID del asiento sueldo por pagar
                                    info_comprobanteID               = new ro_Comprobantes_Contables_Info();
                                    info_comprobanteID.IdEmpresa     = info.IdEmpresa;
                                    info_comprobanteID.IdNomina      = info.IdNomina_Tipo;
                                    info_comprobanteID.IdNominaTipo  = info.IdNomina_TipoLiqui;
                                    info_comprobanteID.IdPeriodo     = info.IdPeriodo;
                                    info_comprobanteID.IdTipoCbte    = info_ctb.IdTipoCbte;
                                    info_comprobanteID.IdCbteCble    = info_ctb.IdCbteCble;
                                    info_comprobanteID.IdRol         = info.IdRol;
                                    info_comprobanteID.IdEmpresa_rol = info.IdEmpresa;
                                    ro_comprobante.grabarDB(info_comprobanteID);
                                }
                            }
                        }
                    }
                }
                odata.ContabilizarPeriodo(info);

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        // generar ordenes de pagos
        public ro_NominasPagosCheques_Info get_op_x_empleados(ro_NominasPagosCheques_Info info)
        {
            try
            {
                ro_Parametros_Data data_param = new ro_Parametros_Data();
                var parametro = data_param.get_info(info.IdEmpresa);
                cp_orden_pago_Info info_orden  = new cp_orden_pago_Info();
                ro_periodo_Bus     bus_periodo = new ro_periodo_Bus();
                var periodo = bus_periodo.get_info(info.IdEmpresa, info.IdPeriodo);
                cp_orden_pago_tipo_x_empresa_Bus  bus_tipo_op  = new cp_orden_pago_tipo_x_empresa_Bus();
                cp_orden_pago_tipo_x_empresa_Info info_tipo_op = new cp_orden_pago_tipo_x_empresa_Info();
                info_tipo_op = bus_tipo_op.get_info(info.IdEmpresa, cl_enumeradores.eTipoOrdenPago.ANTI_EMPLE.ToString());
                info.detalle.ForEach(item =>

                {
                    info_orden = new cp_orden_pago_Info
                    {
                        IdEmpresa          = item.IdEmpresa,
                        Observacion        = "Cancelacion sueldo y salarios de " + item.pe_nombreCompleto,
                        IdTipo_op          = cl_enumeradores.eTipoOrdenPago.ANTI_EMPLE.ToString(),
                        IdTipo_Persona     = cl_enumeradores.eTipoPersona.EMPLEA.ToString(),
                        IdPersona          = item.IdPersona,
                        IdEntidad          = Convert.ToDecimal(item.IdEmpleado),
                        Fecha              = DateTime.Now,
                        IdEstadoAprobacion = cl_enumeradores.eEstadoAprobacionOrdenPago.APRO.ToString(),
                        IdFormaPago        = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(),
                        Estado             = "A",
                        Fecha_Transac      = DateTime.Now,
                        IdSucursal         = item.IdSucursal,
                        detalle            = new List <cp_orden_pago_det_Info>
                        {
                            new cp_orden_pago_det_Info
                            {
                                IdEmpresa          = item.IdEmpresa,
                                Secuencia          = 1,
                                Valor_a_pagar      = item.Valor,
                                Referencia         = "Periodo " + info.IdPeriodo,
                                Fecha_Pago         = periodo.pe_FechaFin,
                                IdEstadoAprobacion = info_tipo_op.IdEstadoAprobacion,
                                IdFormaPago        = cl_enumeradores.eFormaPagoOrdenPago.CHEQUE.ToString(),
                            }
                        },
                        info_comprobante = new ct_cbtecble_Info
                        {
                            IdEmpresa = info.IdEmpresa,
                            cb_Fecha  = DateTime.Now,

                            //REVISA CARLOS FALTA IDSUCURSAL

                            IdTipoCbte          = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                            cb_Estado           = "A",
                            IdPeriodo           = Convert.ToInt32(periodo.pe_FechaFin.Year.ToString() + periodo.pe_FechaFin.Month.ToString().PadLeft(2, '0')),
                            cb_Observacion      = "Cancelación de sueldo del " + info.IdPeriodo + " a " + item.pe_nombreCompleto,
                            lst_ct_cbtecble_det = new List <ct_cbtecble_det_Info>
                            {
                                new ct_cbtecble_det_Info
                                {
                                    IdEmpresa      = item.IdEmpresa,
                                    IdTipoCbte     = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                                    IdCtaCble      = item.IdCtaCble_Emplea,
                                    dc_Valor       = item.Valor,
                                    dc_Observacion = "Cancelación de sueldo del " + periodo.IdPeriodo + " a " + item.pe_nombreCompleto,
                                    secuencia      = 1,
                                },
                                new ct_cbtecble_det_Info
                                {
                                    IdEmpresa      = item.IdEmpresa,
                                    IdTipoCbte     = Convert.ToInt32(info_tipo_op.IdTipoCbte_OP),
                                    IdCtaCble      = item.IdCtaCble_x_pagar_empleado,
                                    dc_Valor       = item.Valor * -1,
                                    dc_Observacion = "Cancelación de sueldo del " + info.IdPeriodo + " a " + item.pe_nombreCompleto,
                                    secuencia      = 2,
                                }
                            }
                        }
                    };
                    item.info_orden_pago = info_orden;
                });
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }