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; } }
// 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; } }