コード例 #1
0
        public bool aprobarHE(ro_nomina_x_horas_extras_Info info)
        {
            try
            {
                odata = new ro_nomina_x_horas_extras_det_Data();
                ro_periodo_Bus  bus_periodo  = new ro_periodo_Bus();
                ro_periodo_Info info_periodo = new ro_periodo_Info();
                info_periodo = bus_periodo.get_info(info.IdEmpresa, info.IdPeriodo);

                odata.Modificar_estado_aprobacion(info.IdHorasExtras, 1);
                lst_horas_extras_aprobar = odata.get_lst_horas_extras_aprobar(info.IdEmpresa, info.IdNomina_Tipo, info.IdNomina_TipoLiqui, info.IdPeriodo);
                foreach (var item in lst_horas_extras_aprobar)
                {
                    if (item.Valor25 > 0)
                    {
                        ro_empleado_novedad_Info info_novedad = new ro_empleado_novedad_Info();
                        info_novedad.IdEmpresa          = info.IdEmpresa;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.IdNomina_Tipo      = info.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = info.IdNomina_TipoLiqui;
                        info_novedad.IdPeriodo          = info.IdPeriodo;
                        info_novedad.TotalValor         = item.Valor25;
                        info_novedad.Observacion        = "Hora extra al 25 % corrspondiente al periodo " + info.IdPeriodo.ToString();
                        info_novedad.Fecha_Transac      = DateTime.Now;
                        info_novedad.IdUsuario          = info.IdUsuario;
                        info_novedad.Fecha            = info_periodo.pe_FechaFin;
                        info_novedad.Fecha_PrimerPago = info_periodo.pe_FechaFin;
                        info_novedad.Estado           = "A";
                        info_novedad.lst_novedad_det  = new List <ro_empleado_novedad_det_Info>();
                        ro_empleado_novedad_det_Info info_det = new ro_empleado_novedad_det_Info();
                        info_det.IdEmpresa         = info.IdEmpresa;
                        info_det.IdEmpleado        = item.IdEmpleado;
                        info_det.IdNomina_tipo     = info.IdNomina_Tipo;
                        info_det.IdNomina_Tipo_Liq = info.IdNomina_TipoLiqui;
                        info_det.IdPeriodo         = info.IdPeriodo;
                        info_det.Valor             = item.Valor25;
                        info_det.FechaPago         = info_periodo.pe_FechaFin;
                        info_det.Estado            = "A";
                        info_det.IdRubro           = "7";
                        info_det.Observacion       = "Hora extra al 25 % corrspondiente al periodo " + info.IdPeriodo.ToString();

                        info_novedad.lst_novedad_det.Add(info_det);
                        bus_novedad.guardarDB(info_novedad);
                    }
                    if (item.Valor50 > 0)
                    {
                        ro_empleado_novedad_Info info_novedad = new ro_empleado_novedad_Info();
                        info_novedad.IdEmpresa          = info.IdEmpresa;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.IdNomina_Tipo      = info.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = info.IdNomina_TipoLiqui;
                        info_novedad.IdPeriodo          = info.IdPeriodo;
                        info_novedad.TotalValor         = item.Valor50;
                        info_novedad.Observacion        = "Hora extra al 50 % corrspondiente al periodo " + info.IdPeriodo.ToString();
                        info_novedad.Fecha_Transac      = DateTime.Now;
                        info_novedad.IdUsuario          = info.IdUsuario;
                        info_novedad.Fecha            = info_periodo.pe_FechaFin;
                        info_novedad.Fecha_PrimerPago = info_periodo.pe_FechaFin;
                        info_novedad.Estado           = "A";
                        info_novedad.lst_novedad_det  = new List <ro_empleado_novedad_det_Info>();
                        ro_empleado_novedad_det_Info info_det = new ro_empleado_novedad_det_Info();
                        info_det.IdEmpresa         = info.IdEmpresa;
                        info_det.IdEmpleado        = item.IdEmpleado;
                        info_det.IdNomina_tipo     = info.IdNomina_Tipo;
                        info_det.IdNomina_Tipo_Liq = info.IdNomina_TipoLiqui;
                        info_det.IdPeriodo         = info.IdPeriodo;
                        info_det.Valor             = item.Valor50;
                        info_det.FechaPago         = info_periodo.pe_FechaFin;
                        info_det.Estado            = "A";
                        info_det.IdRubro           = "8";
                        info_det.Observacion       = "Hora extra al 50 % corrspondiente al periodo " + info.IdPeriodo.ToString();

                        info_novedad.lst_novedad_det.Add(info_det);

                        bus_novedad.guardarDB(info_novedad);
                    }
                    if (item.Valor100 > 0)
                    {
                        ro_empleado_novedad_Info info_novedad = new ro_empleado_novedad_Info();
                        info_novedad.IdEmpresa          = info.IdEmpresa;
                        info_novedad.IdEmpleado         = item.IdEmpleado;
                        info_novedad.IdNomina_Tipo      = info.IdNomina_Tipo;
                        info_novedad.IdNomina_TipoLiqui = info.IdNomina_TipoLiqui;
                        info_novedad.IdPeriodo          = info.IdPeriodo;
                        info_novedad.TotalValor         = item.Valor100;
                        info_novedad.Observacion        = "Hora extra al 100 % corrspondiente al periodo " + info.IdPeriodo.ToString();
                        info_novedad.Fecha_Transac      = DateTime.Now;
                        info_novedad.IdUsuario          = info.IdUsuario;
                        info_novedad.Fecha            = info_periodo.pe_FechaFin;
                        info_novedad.Fecha_PrimerPago = info_periodo.pe_FechaFin;
                        info_novedad.Estado           = "A";
                        info_novedad.lst_novedad_det  = new List <ro_empleado_novedad_det_Info>();
                        ro_empleado_novedad_det_Info info_det = new ro_empleado_novedad_det_Info();
                        info_det.IdEmpresa         = info.IdEmpresa;
                        info_det.IdEmpleado        = item.IdEmpleado;
                        info_det.IdNomina_tipo     = info.IdNomina_Tipo;
                        info_det.IdNomina_Tipo_Liq = info.IdNomina_TipoLiqui;
                        info_det.IdPeriodo         = info.IdPeriodo;
                        info_det.Valor             = item.Valor100;
                        info_det.FechaPago         = info_periodo.pe_FechaFin;
                        info_det.Estado            = "A";
                        info_det.IdRubro           = "9";
                        info_det.Observacion       = "Hora extra al 100 % corrspondiente al periodo " + info.IdPeriodo.ToString();

                        info_novedad.lst_novedad_det.Add(info_det);

                        bus_novedad.guardarDB(info_novedad);
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        // 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;
            }
        }