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; }
/// <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(); }
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(); }
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"); } }
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)); } }
/// <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(); }