예제 #1
0
        private static CuerpoDatos GetDatosPersonales(int IdEmpleado)
        {
            Empleados   e              = new Empleados();
            var         empleado       = e.GetEmpleadoById(IdEmpleado);
            var         contrato       = e.GetUltimoContrato(IdEmpleado);
            var         datosbancarios = e.GetDatosBancoEmpleado(IdEmpleado);
            Clientes    c              = new Clientes();
            var         cliente        = c.GetClienteBySucursal(empleado.IdSucursal);
            var         idCliente      = c.GetIdClienteBySucursal(empleado.IdSucursal);
            CuerpoDatos cd             = new CuerpoDatos()
            {
                IdEmpleado              = empleado.IdEmpleado,
                Nombres                 = empleado.Nombres,
                Paterno                 = empleado.APaterno,
                Materno                 = empleado.AMaterno,
                NSS                     = empleado.NSS,
                RFC                     = empleado.RFC,
                CURP                    = empleado.CURP,
                Nacionalidad            = empleado.Nacionalidad,
                Direccion               = empleado.Direccion,
                SDI                     = contrato.SDI,
                Cliente                 = cliente,
                IdCliente               = idCliente,
                Cuenta_Bancaria         = datosbancarios != null ? datosbancarios.CuentaBancaria:"0",
                No_Tarjeta              = datosbancarios != null ?  datosbancarios.NumeroTarjeta : "0",
                Beneficiario_Nombre     = datosbancarios != null ? datosbancarios.NombreBeneficiario:"-",
                Beneficiario_Parentezco = datosbancarios != null ? datosbancarios.ParentezcoBeneficiario : "-",
                Beneficiario_Domicilio  = datosbancarios != null ? datosbancarios.DomicilioBeneficiario : "-",
                Beneficiario_Curp       = datosbancarios != null ? datosbancarios.CURPBeneficiario : "-",
                Beneficiario_Rfc        = datosbancarios != null ? datosbancarios.RFCBeneficiario : "-",
                IdSucursal              = contrato.IdSucursal
            };

            if (contrato.FechaIMSS != null)
            {
                cd.Fecha_IMSS = contrato.FechaIMSS.Value.ToString("dd/MM/yyyy");
            }

            Puestos p      = new Puestos();
            var     puesto = p.GetPuesto(contrato.IdPuesto);

            cd.Puesto = puesto != null ? puesto.Descripcion : "n/a";

            Empresas empresas = new Empresas();

            cd.Empresa = empresas.GetRazonSocialById(contrato.IdEmpresaFiscal);

            return(cd);
        }
예제 #2
0
        private IXLRange getEmpresas(IXLWorksheet ws, int IdSucursal, int esquema, string titulo, int columna)
        {
            Empresas bll_empresas = new Empresas();
            var      empresas     = bll_empresas.GetEmpresasBySucursal(IdSucursal, esquema);

            if (empresas.Count > 0)
            {
                ws.Cell(1, columna).Value = titulo;
                var range = ws.Cell(2, columna).InsertData(empresas);
                return(range);
            }
            else
            {
                return(null);
            }
        }
예제 #3
0
        public void UploadRecords(DataTable data, int idSucursal, int idCliente, int idUsuario)
        {
            int       columnas = data.Columns.Count;
            Empleados ctx      = new Empleados();

            DataView dv = data.DefaultView;

            dv.Sort = "Paterno asc";//desc
            DataTable sortedDT = dv.ToTable();

            foreach (DataRow row in sortedDT.Rows)
            {
                if (validateRow(row))
                {
                    //Datos Personales
                    Empleado empleado = new Empleado();
                    empleado.Nombres         = row["Nombres"].ToString();
                    empleado.APaterno        = row["Paterno"].ToString();
                    empleado.AMaterno        = row["Materno"].ToString();
                    empleado.FechaNacimiento = Convert.ToDateTime(row["Fecha de Nacimiento"].ToString());
                    empleado.Sexo            = row["Sexo"].ToString().Equals("Hombre") ? "H" : "M";
                    empleado.RFC             = row["RFC"].ToString().Trim();
                    empleado.CURP            = row["CURP"].ToString().Trim();
                    empleado.NSS             = row["NSS"].ToString();
                    empleado.Nacionalidad    = row["Nacionalidad"].ToString();
                    empleado.Estado          = row["Estado de Origen"].ToString();
                    empleado.Telefono        = row["Teléfono"].ToString();
                    empleado.Celular         = row["Celular"].ToString();
                    empleado.Email           = row["Email"].ToString();
                    //Se guarda la dirección del empleado
                    empleado.Direccion = row["Dirección"].ToString();
                    //si la direccion es null se coloca en la celda de dirección "No proporcionada"
                    if (row["Dirección"] == DBNull.Value)
                    {
                        empleado.Direccion = "Dirección no proporcionada";
                    }
                    else
                    {
                        empleado.Direccion = row["Dirección"].ToString();
                    }
                    empleado.IdSucursal     = idSucursal;
                    empleado.EstadoCivil    = row["Edo Civil"].ToString();
                    empleado.Status         = true;
                    empleado.RFCValidadoSAT = 2;

                    var idEmpleado = ctx.CrearEmpleado(empleado, idUsuario);

                    if (idEmpleado > 0)
                    {
                        //Datos de Contratación
                        Empleado_Contrato contrato = new Empleado_Contrato();
                        contrato.IdEmpleado = idEmpleado;
                        contrato.FechaAlta  = Convert.ToDateTime(row["Fecha Alta"].ToString());
                        contrato.FechaReal  = Convert.ToDateTime(row["Fecha Real"].ToString());
                        if (row["Fecha IMSS"] != DBNull.Value)
                        {
                            contrato.FechaIMSS = Convert.ToDateTime(row["Fecha IMSS"].ToString());
                        }
                        if (row["UMF"] != DBNull.Value)
                        {
                            contrato.UMF = row["UMF"].ToString();
                        }
                        contrato.TipoContrato = row["Tipo Contrato"].ToString().Equals("Temporal") ? 2 : 1;
                        if (contrato.TipoContrato == 2)
                        {
                            contrato.Vigencia     = Convert.ToDateTime(row["Vigencia"].ToString());
                            contrato.DiasContrato = Convert.ToInt32(row["Días Contrato"]);
                        }
                        Puestos ctxPuestos = new Puestos();
                        contrato.IdPuesto           = ctxPuestos.ObtenerPuestoPorDescripcion(row["Puesto"].ToString());
                        contrato.Turno              = UtilsEmpleados.SeleccionarTurno(row["Turno"].ToString());
                        contrato.DiaDescanso        = UtilsEmpleados.selectDay(row["Descanso"].ToString());
                        contrato.IdPeriodicidadPago = UtilsEmpleados.SeleccionarPeriodicidadDePago(row["Periodicidad de pago"].ToString());
                        contrato.FormaPago          = UtilsEmpleados.SeleccionarFormaPago(row["Método Pago"].ToString());
                        contrato.PagoElectronico    = (contrato.FormaPago == 3 || contrato.FormaPago == 4 || contrato.FormaPago == 5 || contrato.FormaPago == 6 || contrato.FormaPago == 7) ? true : false;
                        contrato.SD                = Convert.ToDecimal(row["SD"].ToString());
                        contrato.SDI               = Convert.ToDecimal(row["SDI"].ToString());
                        contrato.SBC               = Convert.ToDecimal(row["SBC"].ToString());
                        contrato.SalarioReal       = Convert.ToDecimal(row["Salario Real"].ToString());
                        contrato.IdTipoJornada     = UtilsEmpleados.SeleccionarTipoNomina(row["Tipo de Jornada"].ToString());
                        contrato.TipoSalario       = UtilsEmpleados.SeleccionarTipoSalario(row["Tipo Salario"].ToString());
                        contrato.EntidadDeServicio = (row["Entidad de Servicio"].ToString());
                        contrato.Sindicalizado     = (row["Sindicalizado"].ToString().ToUpper().Equals("SI")) ? true : false;
                        contrato.Status            = true;
                        contrato.IdSucursal        = idSucursal;



                        Empresas ctxRP              = new Empresas();
                        int      idEmpresaFiscal    = 0;
                        int      idEmpresaAsimilado = 0;

                        if (row["Empresa Fiscal"] != DBNull.Value)
                        {
                            idEmpresaFiscal = ctxRP.GetIdByRazonSocial(row["Empresa Fiscal"].ToString(), idCliente);

                            contrato.IdEmpresaFiscal = idEmpresaFiscal;
                        }

                        if (row["Empresa Complemento"] != DBNull.Value)
                        {
                            contrato.IdEmpresaComplemento = ctxRP.GetIdByRazonSocial(row["Empresa Complemento"].ToString(), idCliente);
                        }

                        if (row["Empresa Sindicato"] != DBNull.Value)
                        {
                            contrato.IdEmpresaSindicato = ctxRP.GetIdByRazonSocial(row["Empresa Sindicato"].ToString(), idCliente);
                        }

                        if (row["Empresa Asimilado"] != DBNull.Value)
                        {
                            idEmpresaAsimilado          = ctxRP.GetIdByRazonSocial(row["Empresa Asimilado"].ToString(), idCliente);
                            contrato.IdEmpresaAsimilado = idEmpresaAsimilado;
                        }

                        //Tipo Regimen
                        contrato.IdTipoRegimen = idEmpresaAsimilado > 0 ? 8 : 1;//Asimilado Honorarios sino Sueldo

                        //Tipo Jornada
                        contrato.IdTipoJornada = 3;

                        //Crea el contrato en la base de datos
                        //factorfx
                        ctx.CrearContrato(contrato, idUsuario);

                        DatosBancarios bancarios = new DatosBancarios();
                        bancarios.IdEmpleado = idEmpleado;
                        Bancos bllBancos = new Bancos();

                        if (row["Banco"].ToString().Trim() != "")
                        {
                            bancarios.IdBanco = bllBancos.ObtenerIdBancoPorDescripcion(row["Banco"].ToString());
                        }

                        int numDatosBancarios = 0;
                        if (row["No Siga Fiscal"] != DBNull.Value)
                        {
                            if (row["No Siga Fiscal"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaF = Convert.ToInt32(row["No Siga Fiscal"]);
                                numDatosBancarios++;
                            }
                        }
                        if (row["No Siga Complemento"] != DBNull.Value)
                        {
                            if (row["No Siga Complemento"].ToString().Trim() != "")
                            {
                                bancarios.NoSigaC = Convert.ToInt32(row["No Siga Complemento"]);
                                numDatosBancarios++;
                            }
                        }


                        if (row["Cuenta Bancaria"] != DBNull.Value)
                        {
                            bancarios.CuentaBancaria = row["Cuenta Bancaria"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["# Tarjeta"] != DBNull.Value)
                        {
                            bancarios.NumeroTarjeta = row["# Tarjeta"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Clabe"] != DBNull.Value)
                        {
                            bancarios.Clabe = row["Clabe"].ToString();
                            numDatosBancarios++;
                        }


                        #region BENEFICIARIOS

                        if (row["Nombre Beneficiario"] != DBNull.Value)
                        {
                            bancarios.NombreBeneficiario = row["Nombre Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["RFC Beneficiario"] != DBNull.Value)
                        {
                            bancarios.RFCBeneficiario = row["RFC Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["CURP Beneficiario"] != DBNull.Value)
                        {
                            bancarios.CURPBeneficiario = row["CURP Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Parentezco Beneficiario"] != DBNull.Value)
                        {
                            bancarios.ParentezcoBeneficiario = row["Parentezco Beneficiario"].ToString();
                            numDatosBancarios++;
                        }

                        if (row["Domicilio Beneficiario"] != DBNull.Value)
                        {
                            bancarios.DomicilioBeneficiario = row["Domicilio Beneficiario"].ToString();
                            numDatosBancarios++;
                        }
                        #endregion



                        bancarios.Status = true;

                        if (numDatosBancarios > 0)
                        {
                            ctx.NewDatosBancarios(bancarios, idUsuario, false);
                        }

                        var noti = new Notificaciones();
                        noti.Alta(idEmpleado);

                        //Asignar conceptos Default
                        ConceptosNomina.AsignarConceptosDefaultByEmpleado(idSucursal, idEmpleado);
                    }
                }
            }
        }
예제 #4
0
        public int IDSEReingreso(int[] empleados, int IdEmpresa, string nombreArchivo)
        {
            Empleados     emp     = new Empleados();
            Empresas      empr    = new Empresas();
            List <string> datos   = new List <string>();
            var           empresa = empr.GetEmpresaById(IdEmpresa);

            foreach (var item in empleados)
            {
                var empleado = emp.GetEmpleadoById(item);
                var contrato = emp.ObtenerContratoEmpleadoPorId(item);
                //var nomina = emp.ObtenerEmpleadoNominaPorId(item);
                var rp = FormarCampo(empresa.RegistroPatronal, 11, '0', 1);

                var linea = rp;

                var nss = FormarCampo(empleado.NSS, 11, '0', 1);
                linea += empleado.NSS;

                var paterno = FormarCampo(empleado.APaterno, 27, ' ', 1);
                linea += paterno;

                var materno = FormarCampo(empleado.AMaterno, 27, ' ', 1);
                linea += materno;

                var nombre = FormarCampo(empleado.Nombres, 27, ' ', 1);
                linea += nombre;

                //string sdi = nomina.SDI.ToString();
                //remueve el punto
                //sdi = sdi.Replace(".", string.Empty);
                //sdi = FormarCampo(sdi, 6, '0', 2);
                //linea += sdi;

                var SalarioInfonavit = "000000";
                linea += SalarioInfonavit;

                var TipoTrabajador = contrato.TipoContrato.ToString();
                linea += TipoTrabajador;


                var TipoSalario = "0";
                linea += TipoSalario;

                var semana = "0";
                linea += semana;

                var fecha = contrato.FechaIMSS.Value.ToString("ddMMyyyy");
                linea += fecha;

                var umf = FormarCampo(contrato.UMF, 3, '0', 1);
                linea += umf;

                linea += "  ";

                linea += "08";

                linea += FormarCampo(empresa.Guia, 5, '0', 1);

                linea += FormarCampo("", 11, ' ', 1);

                var curp = FormarCampo(empleado.CURP, 18, '0', 1);
                linea += curp;

                linea += "9";
                if (linea.Length == 168)
                {
                    datos.Add(linea);
                }
            }


            if (datos.Count > 0)
            {
                string lineaFinal = LineaFinal(datos.Count, empresa.Guia);

                if (lineaFinal.Length == 168)
                {
                    datos.Add(lineaFinal);
                }

                var status = Write(datos.ToArray(), nombreArchivo);

                if (!status)
                {
                    return(-1);
                }
            }

            return(datos.Count - 1);
        }