javascript generar Archivos para bancos

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript generar Archivos para bancos相关的知识,希望对你有一定的参考价值。

 public ActionResult GeneraArchivoBanco(string GenerarPagoCSV, string Banco)
        {

            TSession _Session = (TSession)System.Web.HttpContext.Current.Session["_TSession"];
            if (_Session == null)
            {
                RedirectToAction("Index", "Login");
            }


            var settings = new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore,
                MissingMemberHandling = MissingMemberHandling.Ignore
            };

            GenerarPagoModel _GeneraPago = JsonConvert.DeserializeObject<GenerarPagoModel>(GenerarPagoCSV, settings);


            var result = "";
            var config = new CsvHelper.Configuration.Configuration();
            config.IgnoreQuotes = true;

            using (var mem = new MemoryStream())
            using (var write = new StreamWriter(mem))
            using (var csvWrite = new CsvWriter(write, config))
            {
                csvWrite.Configuration.Delimiter = " ";
                csvWrite.Configuration.ShouldQuote = (field, context) => false;


                EmpleadoModel empleadoBanco;
                DateTime fechaCrea = DateTime.Now;



                if (Banco == "BSJ")
                {

                    double montoTotal = 0;
                    int lineas = 0;
                    foreach (EmpleadoModel empleado in _GeneraPago.EmpleadoList)
                    {

                        montoTotal += empleado.Monto_Pagar;
                        lineas++;
                    }

                    string numPlan = "";
                    string numEnvio = "";
                    if (_GeneraPago.numPlan.Length < 4)
                    {
                        numPlan = alinear(_GeneraPago.numPlan, (int)Campo_Archivo_BSJ_Cab.NumPlan);
                    }
                    else
                    {
                        numPlan = _GeneraPago.numPlan;
                    }

                    if (_GeneraPago.numEnvio.Length < 5)
                    {
                        numEnvio = alinear(_GeneraPago.numEnvio, (int)Campo_Archivo_BSJ_Cab.numEnvio);
                    }
                    else
                    {
                        numEnvio = _GeneraPago.numEnvio;
                    }

                    
                    string fecha = fechaCrea.Year.ToString() + fechaCrea.Month.ToString().PadLeft(2, '0') + fechaCrea.Day.ToString().PadLeft(2, '0');
                    csvWrite.WriteField("B" + numPlan + numEnvio + "".PadLeft(20, ' ') + (alinear("0", (int)Campo_Archivo_BSJ_Cab.consecutivo)) +
                        fecha + alinear(Math.Truncate(montoTotal*100.00).ToString("###0"), (int)Campo_Archivo_BSJ_Cab.TotalMonto)
                        + alinear(lineas.ToString(), (int)Campo_Archivo_BSJ_Cab.numLineas));
                    csvWrite.NextRecord();

                    int numLinea = 1;
                    string ceduEmpleado = "";
                    string numLienaStr = "";
                    string pagoEmpleado = "";
                    string totalLineas = "";
                    foreach (EmpleadoModel empleado in _GeneraPago.EmpleadoList)
                    {
                        empleadoBanco = new EmpleadoModel();
                        empleadoBanco = empleado.Empleado_ListKey(empleado);

                        if (empleadoBanco.Num_CtaBanco != "")
                        {

                            ceduEmpleado = empleadoBanco.Empleado_Cedula.Trim().PadRight(20, ' ');
                            numLienaStr = numLinea.ToString().PadLeft(5, '0');
                            pagoEmpleado = Math.Truncate(empleado.Monto_Pagar*100.00).ToString("###0").PadLeft(13, '0');
                            totalLineas = lineas.ToString().PadLeft(5, '0');

                            csvWrite.WriteField("T" + numPlan + numEnvio + ceduEmpleado + numLienaStr + fecha + pagoEmpleado + totalLineas + _GeneraPago.Tipo_Pago_Nombre.PadRight(30, ' '));
                            csvWrite.WriteField((empleado.Codigo_Empleado + " " + empleado.Empleado_Nombre.Trim() + " " + empleado.Empleado_Apellido.Trim()).PadRight(30, ' ') + empleadoBanco.Num_CtaBanco.PadRight(9, ' '));
                            numLinea++;
                            csvWrite.NextRecord();

                        }

                        ceduEmpleado = "";
                        numLienaStr = "";
                        pagoEmpleado = "";
                        totalLineas = "";


                    }


                }

                if (Banco == "BPRO")
                {


                    int numLinea = 1;
                    foreach (EmpleadoModel empleado in _GeneraPago.EmpleadoList)
                    {
                        empleadoBanco = new EmpleadoModel();
                        empleadoBanco = empleado.Empleado_ListKey(empleado);

                        if (empleadoBanco.Num_CtaBanco != "")
                        {
                            csvWrite.WriteField(empleadoBanco.Num_CtaBanco.PadLeft(9, '0'));
                            csvWrite.WriteField(_GeneraPago.Tipo_Pago_Nombre + " " + _GeneraPago.Fecha_Periodo_Inicio.ToString("dd/MM/yyyy") + " " + _GeneraPago.Fecha_Periodo_Fin.ToString("dd/MM/yyyy"));
                            csvWrite.WriteField(Math.Round(empleado.Monto_Pagar, 2));
                            numLinea++;
                            csvWrite.NextRecord();

                        }


                    }
                }

                if (Banco == "BIND")
                {

                    csvWrite.Configuration.Delimiter = ",";
                    int numLinea = 1;
                    foreach (EmpleadoModel empleado in _GeneraPago.EmpleadoList)
                    {
                        empleadoBanco = new EmpleadoModel();
                        empleadoBanco = empleado.Empleado_ListKey(empleado);

                        if (empleadoBanco.Num_CtaBanco != "")
                        {
                            csvWrite.WriteField(empleadoBanco.Ofic_CtaBanco);
                            csvWrite.WriteField(empleadoBanco.Num_CtaBanco.Trim());
                            csvWrite.WriteField(_GeneraPago.Tipo_Pago_Nombre + " " + _GeneraPago.Fecha_Periodo_Inicio.ToString("dd/MM/yyyy") + " " + _GeneraPago.Fecha_Periodo_Fin.ToString("dd/MM/yyyy"));
                            csvWrite.WriteField(Math.Round(empleado.Monto_Pagar, 2));
                            csvWrite.WriteField(1);
                            csvWrite.NextRecord();

                        }


                    }
                }





                write.Flush();
                result = Encoding.UTF8.GetString(mem.ToArray());



            }



            byte[] bytes = Encoding.ASCII.GetBytes(result);
            return File(new UTF8Encoding().GetBytes(result), "application/csv", "Report123.csv");


        }

以上是关于javascript generar Archivos para bancos的主要内容,如果未能解决你的问题,请参考以下文章

text Generar crear小部件

text Generar框架

sh Generar miniaturas

csharp generar pdf en wpfaplication

PHP Php generar密码

PHP Generar与1相反