Esempio n. 1
0
 private void mostrarDatosEnForm()
 {
     this.cmbAnios.SelectedValue = Varios.Left(liqui.AnioMes.ToString(), 4);
     this.cmbMeses.SelectedValue = Varios.Right(liqui.AnioMes.ToString(), 2);
     //        this.cmbTipoLiquidacion.SelectedValue = liqui.IdTipoLiquidacion;
     this.cmbAplicacion.SelectedValue  = liqui.IdAplicacion;
     this.cmbTipoSalario.SelectedValue = liqui.IdTipoSalario;
 }
Esempio n. 2
0
        /// <summary>
        /// Genera archivo con formato credicoop.
        /// </summary>
        /// <param name="idliquidacion"></param>
        /// <param name="archivo"></param>
        /// <param name="esLiquidacionNormal"></param>
        public static void generaArchivo(int idliquidacion, string archivo, List <int> tiposLiquidacionesSeleccionados, DateTime fechaAcreditacion, bool todosLosConveios, int idConvenio)
        {
            string       importe = "";
            DbDataReader rsLegajos;
            StreamWriter sw = new StreamWriter(archivo);

            //recorrer netos por legajo
            //consultar netos por idliquidacion.
            //repoteLiquidacionesNetoPorLegajo. calcular haberes+adicionales-retenciones
            if (todosLosConveios)
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBanco", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 3);
            }
            else
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBancoPorConvenio", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 3, "@idConvenio", idConvenio);
            }

            while (rsLegajos.Read())  //para cada legajo recorro todos los campos definidos en tablas
            {
                if (Varios.Right(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 21).ToString(), 1) == "1")
                {
                    movimiento.tipoCuentaCredito = "2";
                }
                else
                {
                    movimiento.tipoCuentaCredito = "1";
                }
                movimiento.sucursalCuentaCredito = Varios.Left(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 21).ToString(), 2).PadLeft(3, '0');
                movimiento.cuentaCredito         = Varios.Left(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 22).ToString(), 7).PadLeft(7, '0');
                movimiento.controlDeCuenta       = Varios.Right(movimiento.cuentaCredito, 1);
                importe = string.Format("{0:#0.00}", Convert.ToDouble(rsLegajos["Neto"]));
                importe = importe.Replace(".", "");
                movimiento.importeDeCredito = importe.PadLeft(15, '0');
                movimiento.beneficiario     = Varios.Left(rsLegajos["Apellidos y nombres"].ToString().PadRight(40, ' '), 40);
                movimiento.cuil             = Varios.Left(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 18).ToString().Replace("-", ""), 11);
                movimiento.legajo           = Varios.Left(rsLegajos["Legajo"].ToString(), 10).PadLeft(10, '0');
                movimiento.observaciones    = "                                                            ";

                if (movimiento.cuentaCredito.Length == 0 || movimiento.controlDeCuenta.Length == 0)
                {
                    MessageBox.Show("ATENCIÓN: el empleado " + movimiento.beneficiario + " no tiene cuenta o banco asignado. No se exportara la liquidación.");
                }
                else
                {
                    //GRABA DETALLE
                    sw.WriteLine(movimiento.tipoCuentaCredito + movimiento.banco + movimiento.sucursalCuentaCredito + movimiento.cuentaCredito + movimiento.controlDeCuenta + movimiento.importeDeCredito + movimiento.beneficiario + movimiento.cuil + movimiento.legajo + movimiento.observaciones);
                    //actualiza liquidacionesEstados
                    for (int i = 0; i < tiposLiquidacionesSeleccionados.Count; i++)
                    {
                        Model.DB.ejecutarProceso(Model.TipoComando.SP, "liquidacionesEstadosActualizar", "@idLiquidacion", idliquidacion, "@idTipoLiquidacion", tiposLiquidacionesSeleccionados[i], "@legajo", Convert.ToInt32(rsLegajos["legajo"].ToString()), "@acreditada", true, "fechaAcreditacion", fechaAcreditacion);
                    }
                }
            }
            sw.Close();
        }
Esempio n. 3
0
        public static void generaArchivoDesdeAnticipos(int anioMes, int idTipoAnticipo, string archivo, bool todosLosConveios, int idConvenio)
        {
            /*0082 para sueldo del mes - 0096 para cualquier otra acreditacion (sac/vac/etc)*/
            movimiento.codigoDeOperacion = "0096";
            string       cuenta        = "";
            string       importe       = "";
            int          cantRegistros = 0;
            double       importeTotal  = 0;
            StreamWriter sw            = new StreamWriter(archivo);

            //grabar cabecera.
            cabecera.fechaEmision = System.DateTime.Now.Day.ToString().PadLeft(2, '0') + System.DateTime.Now.Month.ToString().PadLeft(2, '0') + Varios.Right(System.DateTime.Now.Year.ToString(), 2);
            cabecera.horaEmision  = System.DateTime.Now.Hour.ToString().PadLeft(2, '0') + System.DateTime.Now.Minute.ToString().PadLeft(2, '0');
            sw.WriteLine(cabecera.ceros + cabecera.rotuloArchivo + cabecera.numeroCPD + cabecera.fechaEmision + cabecera.horaEmision + cabecera.numeroBanco + cabecera.filler + cabecera.marca);
            //recorrer netos por legajo
            //consultar netos por idliquidacion.
            //repoteLiquidacionesNetoPorLegajo. calcular haberes+adicionales-retenciones
            DbDataReader rsLegajos;

            if (todosLosConveios)
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "anticiposConsultarParaAcreditarPorBanco", "@anioMes", anioMes, "@idTipoAnticipo", idTipoAnticipo, "@idBanco", 1);
            }
            else
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "anticiposConsultarParaAcreditarPorBancoPorConvenio", "@anioMes", anioMes, "@idTipoAnticipo", idTipoAnticipo, "@idBanco", 1, "@idConvenio", idConvenio);
            }

            while (rsLegajos.Read())  //para cada legajo recorro todos los campos definidos en tablas
            {
                cantRegistros++;
                movimiento.legajo        = rsLegajos["Legajo"].ToString().PadLeft(8, '0');
                movimiento.nombreTitular = Varios.Left(rsLegajos["Apellidos y nombres"].ToString(), 22).PadRight(22, ' ');
                importe            = string.Format("{0:#0.00}", Convert.ToDouble(rsLegajos["Neto"]));
                importeTotal       = importeTotal + Convert.ToDouble(importe);
                importe            = importe.Replace(".", "");
                movimiento.importe = importe.PadLeft(11, '0');
                movimiento.numeroCasaBeneficiaria = Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["Legajo"]), "codigo", 21).ToString();
                movimiento.numeroCasaReceptora    = movimiento.numeroCasaBeneficiaria;
                cuenta = Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["Legajo"]), "codigo", 22).ToString();
                if (cuenta.Length == 0 || movimiento.numeroCasaBeneficiaria == "0")
                {
                    MessageBox.Show("ATENCI�N: el legajo " + movimiento.legajo + " no tiene cuenta o banco asignado. No se exportara la liquidaci�n.");
                }
                else
                {
                    movimiento.numeroCuentaBeneficiaria = Varios.Left(cuenta, cuenta.Length - 1).PadLeft(6, '0');
                    movimiento.digitoVerificador        = Varios.Right(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["Legajo"]), "codigo", 22).ToString(), 1);
                    sw.WriteLine(movimiento.numeroCasaBeneficiaria + movimiento.numeroCasaReceptora + movimiento.codigoDeOperacion + movimiento.indicativoTipoCuenta + movimiento.numeroCuentaBeneficiaria + movimiento.digitoVerificador + movimiento.filler01 + movimiento.importe + movimiento.legajo + movimiento.nombreTitular + movimiento.filler02 + movimiento.marca);
                }
            }
            //grabar final.
            sw.WriteLine(final.finArchivo + cantRegistros.ToString().PadLeft(6, '0') + string.Format("{0:#0.00}", importeTotal).Replace(".", "").PadLeft(14, '0') + final.filler + final.marca);
            sw.Close();
        }
Esempio n. 4
0
        private void actualizarCombos()
        {
            //Parseo a double por equivalencias en el match entre el combo y el objeto tabla
            if (liquidacionDetalle.AnioMes > 0)
            {
                this.cmbAnios.SelectedValue = double.Parse(Varios.Left(liquidacionDetalle.AnioMes.ToString(), 4));
                this.cmbMeses.SelectedValue = double.Parse(Varios.Right(liquidacionDetalle.AnioMes.ToString(), 2));

                this.cmbEstado.SelectedValue = double.Parse(liquidacionDetalle.Estado ? "1" : "0");
            }
        }
Esempio n. 5
0
 public TarjetaFichadaEntity(string stringTarjeta)
 {
     this.StringTarjeta = stringTarjeta;
     this.Empresa       = byte.Parse(Varios.Left(stringTarjeta, 2));
     this.CentroDeCosto = byte.Parse(Varios.Right(Varios.Left(stringTarjeta, 4), 2));
     if (this.StringTarjeta.Length == 10) //tarjetas con legajo de 6 digitos
     {
         this.Legajo = int.Parse(Varios.Right(stringTarjeta, 6));
     }
     if (this.StringTarjeta.Length == 9) //tarjetas con legajo de 5 digitos
     {
         this.Legajo = int.Parse(Varios.Right(stringTarjeta, 5));
     }
 }
Esempio n. 6
0
        /// <summary>
        /// Genera archivo con formato galica.
        /// </summary>
        /// <param name="idliquidacion"></param>
        /// <param name="archivo"></param>
        /// <param name="esLiquidacionNormal"></param>
        public static void generaArchivo(int idliquidacion, string archivo, List <int> tiposLiquidacionesSeleccionados, DateTime fechaAcreditacion, bool todosLosConveios, int idConvenio)
        {
            //00 si la empresa no manda nada //01 HABERES - 04 SAC - 02 HS EXTRAS - 05 VACACIONES
            /*si el indice 0 es 1, se seleccionó la liquidacion normal.*/
            if (tiposLiquidacionesSeleccionados[0] == 4) //SAC
            {
                movimiento.concepto = "04";
            }
            else
            if (tiposLiquidacionesSeleccionados[0] == 3)     // VACACIONES
            {
                movimiento.concepto = "05";
            }
            else
            {
                movimiento.concepto = "01";     //HABERES
            }
            string       cuenta        = "";
            string       importe       = "";
            int          cantRegistros = 0;
            double       importeTotal  = 0;
            DbDataReader rsLegajos;
            StreamWriter sw = new StreamWriter(archivo);

            //recorro netos para obtener total del archivo. este dato va en cabecera
            if (todosLosConveios)
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBanco", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 2);
            }
            else
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBancoPorConvenio", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 2, "@idConvenio", idConvenio);
            }

            while (rsLegajos.Read())  //para cada legajo recorro todos los campos definidos en tablas
            {
                importe      = string.Format("{0:#0.00}", Convert.ToDouble(rsLegajos["Neto"]));
                importeTotal = importeTotal + Convert.ToDouble(importe);
            }
            cabecera.importe  = string.Format("{0:#0.00}", importeTotal).Replace(".", "").PadLeft(14, '0');
            cabecera.fecAcred = Varios.Right(fechaAcreditacion.Year.ToString(), 4) + fechaAcreditacion.Month.ToString().PadLeft(2, '0') + fechaAcreditacion.Day.ToString().PadLeft(2, '0');
            //GRABA CABECERA.
            sw.WriteLine(cabecera.tipoRegistro + cabecera.empresas + cabecera.tipoCuenta + cabecera.folio + cabecera.digito1 + cabecera.sucursal + cabecera.digito2 + cabecera.importe + cabecera.fecAcred + cabecera.filler);

            //recorrer netos por legajo
            //consultar netos por idliquidacion.
            //repoteLiquidacionesNetoPorLegajo. calcular haberes+adicionales-retenciones
            //rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBanco", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 2);
            if (todosLosConveios)
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBanco", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 2);
            }
            else
            {
                rsLegajos = Model.DB.ejecutarDataReader(Model.TipoComando.SP, "liquidacionesNetosPorLegajoPorBancoPorConvenio", "@idLiquidacion", idliquidacion, "@idFormaDePago", 2, "@idBanco", 2, "@idConvenio", idConvenio);
            }
            while (rsLegajos.Read())  //para cada legajo recorro todos los campos definidos en tablas
            {
                cantRegistros++;
                movimiento.nombre   = Varios.Left(rsLegajos["Apellidos y nombres"].ToString(), 20).PadRight(20, ' ');
                importe             = string.Format("{0:#0.00}", Convert.ToDouble(rsLegajos["Neto"]));
                importe             = importe.Replace(".", "");
                movimiento.importe  = importe.PadLeft(14, '0');
                movimiento.sucursal = Varios.Right(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 22).ToString(), 4);
                movimiento.digito2  = Varios.Right(movimiento.sucursal, 1);
                movimiento.sucursal = Varios.Left(movimiento.sucursal, 3);
                //movimiento.sucursal = Varios.Right(movimiento.sucursal, 3);
                movimiento.folio      = Varios.Left(Model.DB.ejecutarScalar(Model.TipoComando.SP, "empleadosSueldosConsultarValorLegajo", "legajo", Convert.ToInt32(rsLegajos["legajo"]), "codigo", 22).ToString(), 8);
                movimiento.digito1    = Varios.Right(movimiento.folio, 1);
                movimiento.tipoCuenta = Varios.Left(movimiento.folio, 1);
                movimiento.folio      = Varios.Right(Varios.Left(movimiento.folio, 7), 6);
                //movimiento.folio = Varios.Right(movimiento.folio, 6);
                //movimiento.digito1 = Varios.Left(movimiento.folio, 1);
                //movimiento.digito2 = Varios.Right( Varios.Left(movimiento.folio, 2),1);
                if (movimiento.folio.Length == 0 || movimiento.sucursal == "0")
                {
                    MessageBox.Show("ATENCIÓN: el empleado " + movimiento.nombre + " no tiene cuenta o banco asignado. No se exportara la liquidación.");
                }
                else
                {
                    //GRABA DETALLE
                    sw.WriteLine(movimiento.tipoRegistro + movimiento.empresas + movimiento.tipoCuenta + movimiento.folio + movimiento.digito1 + movimiento.sucursal + movimiento.digito2 + movimiento.nombre + movimiento.importe + movimiento.concepto + movimiento.filler);
                    //actualiza liquidacionesEstados
                    for (int i = 0; i < tiposLiquidacionesSeleccionados.Count; i++)
                    {
                        Model.DB.ejecutarProceso(Model.TipoComando.SP, "liquidacionesEstadosActualizar", "@idLiquidacion", idliquidacion, "@idTipoLiquidacion", tiposLiquidacionesSeleccionados[i], "@legajo", Convert.ToInt32(rsLegajos["legajo"].ToString()), "@acreditada", true, "fechaAcreditacion", fechaAcreditacion);
                    }
                }
            }
            final.cantRegistros = cantRegistros.ToString().PadLeft(7, '0');
            //grabar final.
            sw.WriteLine(final.tipoRegistro + final.empresas + final.cantRegistros + final.filler);
            sw.Close();
        }