Пример #1
0
        //Guarda el giro
        private void btnRegistrar_Click(object sender, System.EventArgs e)
        {
            //Guardar giro
            string agenciaO = ddlAgenciaO.SelectedValue, agenciaD = ddlAgenciaD.SelectedValue, tipo = ddlTipo.SelectedValue;
            string nitEmisor = txtNITEmisor.Text.Trim(), nombreEmisor = txtNITEmisora.Text.Trim(), apellidoEmisor = txtNITEmisorb.Text.Trim(), tnitEmisor = txtNITEmisorc.SelectedValue, telefonoEmisor = txtNITEmisord.Text.Trim(), direccionEmisor = txtNITEmisore.Text.Trim();
            string nitReceptor = txtNITReceptor.Text.Trim(), nombreReceptor = txtNITReceptora.Text.Trim(), apellidoReceptor = txtNITReceptorb.Text.Trim(), tnitReceptor = txtNITReceptorc.SelectedValue, telefonoReceptor = txtNITReceptord.Text.Trim(), direccionReceptor = txtNITReceptore.Text.Trim();
            string planilla = ddlPlanilla.SelectedValue;
            //Responsable
            string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';");

            if (nitResponsable.Length == 0)
            {
                Response.Write("<script language='javascript'>alert('El usuario actual (responsable) no tiene un NIT asociado.');</script>");
                return;
            }
            //Conseguir papeleria
            string numDocumento = Giros.TraerSiguienteGiroVirtual();
            string numLineaS, ruta = "";

            //Validar ruta si el giro es real(debe existir una ruta entre las cioudades de las agencias
            if (tipo.Equals("M"))
            {
                ruta = DBFunctions.SingleData("select mr.mrut_codigo from dbxschema.mrutas mr, dbxschema.magencia mo, dbxschema.magencia md " +
                                              "where mr.pciu_cod=mo.pciu_codigo and mr.pciu_coddes=md.pciu_codigo and mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " " +
                                              "order by mr.mrut_codigo;");
                if (ruta.Length == 0)
                {
                    Response.Write("<script language='javascript'>alert('No existe una ruta entre las agencias seleccionadas.');</script>");
                    return;
                }
                if (planilla.Length > 0)
                {
                    numLineaS = DBFunctions.SingleData("SELECT NUMERO_LINEAS+1 FROM DBXSCHEMA.MPLANILLAVIAJE WHERE MPLA_CODIGO=" + planilla);
                    if (numLineaS.Length == 0)
                    {
                        numLineaS = "1";
                    }
                }
                else
                {
                    numLineaS = "NULL";
                }
                ruta = "'" + ruta + "'";
            }
            else
            {
                numLineaS = "NULL";
                planilla  = "NULL";
                ruta      = "NULL";
            }
            if (planilla.Length == 0)
            {
                planilla = "NULL";
            }
            ArrayList sqlStrings = new ArrayList();
            string    ciudadO    = DBFunctions.SingleData("SELECT PCIU_CODIGO FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agenciaO + ";");
            string    ciudadD    = DBFunctions.SingleData("SELECT PCIU_CODIGO FROM DBXSCHEMA.MAGENCIA WHERE MAG_CODIGO=" + agenciaD + ";");

            string strPorcentajeIVA = lblPorcentajeIVA.Text.Replace(",", "");

            if (strPorcentajeIVA.Length == 0)
            {
                strPorcentajeIVA = "0";
            }
            string strPorcentajeGiro = lblPorcentajeGiro.Text.Replace(",", "");

            if (strPorcentajeGiro.Length == 0)
            {
                strPorcentajeGiro = "0";
            }
            string strValorIVA = lblValorIVA.Text.Replace(",", "");

            if (strValorIVA.Length == 0)
            {
                strValorIVA = "0";
            }
            string strCostoGiro = lblCostoGiro.Text.Replace(",", "");

            if (strCostoGiro.Length == 0)
            {
                strCostoGiro = "0";
            }
            string strValorGiro = lblValorGiro.Text.Replace(",", "");

            if (strValorGiro.Length == 0)
            {
                strValorGiro = "0";
            }

            //Guardar NITs si no existen
            string NitComodin   = "NS";
            string nitEmisor1   = nitEmisor;
            string nitReceptor1 = nitReceptor;

            //Guardar NITs si no existen
            //Emisor
            if (nitEmisor == NitComodin)
            {
                nitEmisor1 = "GIRENV" + numDocumento;
                if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitEmisor1 + "';"))
                {
                    sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitEmisor1 + "',NULL,'" + nombreEmisor + "',NULL,'" + apellidoEmisor + "',NULL,'" + tnitEmisor + "','" + ciudadO + "','N','" + direccionEmisor + "','" + ciudadO + "','" + telefonoEmisor + "','ND','ND','ND','V','S','N','T');");
                }
            }
            else
            if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitEmisor + "';"))
            {
                sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitEmisor + "',NULL,'" + nombreEmisor + "',NULL,'" + apellidoEmisor + "',NULL,'" + tnitEmisor + "','" + ciudadO + "','N','" + direccionEmisor + "','" + ciudadO + "','" + telefonoEmisor + "','ND','ND','ND','V','N','N','T');");
            }
            //Receptor

            if (nitReceptor == NitComodin)
            {
                nitReceptor1 = "GIRREC" + numDocumento;
                if (!DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitReceptor1 + "';"))
                {
                    sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitReceptor1 + "',NULL,'" + nombreReceptor + "',NULL,'" + apellidoReceptor + "',NULL,'" + tnitReceptor + "','" + ciudadD + "','N','" + direccionReceptor + "','" + ciudadD + "','" + telefonoReceptor + "','ND','ND','ND','V','S','N','T');");
                }
            }
            else
            if (nitEmisor != nitReceptor && !DBFunctions.RecordExist("SELECT MNIT_NIT FROM MNIT WHERE MNIT_NIT='" + nitReceptor + "';"))
            {
                sqlStrings.Add("INSERT INTO DBXSCHEMA.MNIT VALUES('" + nitReceptor + "',NULL,'" + nombreReceptor + "',NULL,'" + apellidoReceptor + "',NULL,'" + tnitReceptor + "','" + ciudadD + "','N','" + direccionReceptor + "','" + ciudadD + "','" + telefonoReceptor + "','ND','ND','ND','V','N','N','T');");
            }


            //Actualizar papeleria
            sqlStrings.Add("INSERT INTO DBXSCHEMA.MCONTROL_PAPELERIA  VALUES('GIR'," + numDocumento + ",'V',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',0," + agenciaO + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + nitResponsable + "',0,'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,NULL,NULL,NULL,NULL,NULL,NULL," + planilla + ",NULL,NULL,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');");
            //Insertar giro
            sqlStrings.Add("INSERT INTO DBXSCHEMA.MGIROS VALUES('GIR'," + numDocumento + ",'V'," + agenciaO + ",'" + nitResponsable + "'," + agenciaD + ",null," + planilla + "," + numLineaS + "," + ruta + ",'" + nitEmisor1 + "','" + direccionEmisor + "','" + telefonoEmisor + "','" + nitReceptor1 + "','" + direccionReceptor + "','" + telefonoReceptor + "'," + strPorcentajeIVA + "," + strPorcentajeGiro + "," + strValorIVA + "," + strCostoGiro + "," + strValorGiro + ",'" + DateTime.Now.ToString("yyyy-MM-dd") + "',NULL,'A');");

            //Actualizar planilla->num linea si es Real
            if (tipo.Equals("M") && !planilla.Equals("NULL"))
            {
                sqlStrings.Add("UPDATE DBXSCHEMA.MPLANILLAVIAJE SET NUMERO_LINEAS=NUMERO_LINEAS+1 WHERE MPLA_CODIGO=" + planilla + ";");
            }

            if (DBFunctions.Transaction(sqlStrings))
            {
                lblNumDocumento.Text = numDocumento;
                pnlImprimir.Visible  = true;
                pnlCrear.Visible     = false;
                ViewState["Giro"]    = numDocumento;
            }
            else
            {
                lblError.Text += "Error: " + DBFunctions.exceptions + "<br><br>";
            }
        }
Пример #2
0
        //Validar, confirmar
        private void btnGuardar_Click(object sender, System.EventArgs e)
        {
            string agenciaO = ddlAgenciaO.SelectedValue, agenciaD = ddlAgenciaD.SelectedValue, tipo = ddlTipo.SelectedValue;
            string nitEmisor = txtNITEmisor.Text.Trim(), nombreEmisor = txtNITEmisora.Text.Trim(), apellidoEmisor = txtNITEmisorb.Text.Trim(), tnitEmisor = txtNITEmisorc.SelectedValue, telefonoEmisor = txtNITEmisord.Text.Trim(), direccionEmisor = txtNITEmisore.Text.Trim();
            string nitReceptor = txtNITReceptor.Text.Trim(), nombreReceptor = txtNITReceptora.Text.Trim(), apellidoReceptor = txtNITReceptorb.Text.Trim(), tnitReceptor = txtNITReceptorc.SelectedValue, telefonoReceptor = txtNITReceptord.Text.Trim(), direccionReceptor = txtNITReceptore.Text.Trim();

            //Validaciones
            //Agencias
            if (agenciaO == agenciaD)
            {
                Response.Write("<script language='javascript'>alert('La agencia de origen es igual a la agencia de destino.');</script>");
                return;
            }
            //Emisor
            if (nitEmisor.Length == 0 || nombreEmisor.Length == 0 || apellidoEmisor.Length == 0 || tnitEmisor.Length == 0 || txtNITEmisorc.SelectedValue.Length == 0 || telefonoEmisor.Length == 0 || direccionEmisor.Length == 0)
            {
                Response.Write("<script language='javascript'>alert('Debe ingresar todos los datos del emisor.');</script>");
                return;
            }
            //Receptor
            if (nitReceptor.Length == 0 || nombreReceptor.Length == 0 || apellidoReceptor.Length == 0 || tnitReceptor.Length == 0 || txtNITReceptorc.SelectedValue.Length == 0 || telefonoReceptor.Length == 0 || direccionReceptor.Length == 0)
            {
                Response.Write("<script language='javascript'>alert('Debe ingresar todos los datos del receptor.');</script>");
                return;
            }
            //Valor del giro y costo
            double valorGiro, costoGiro;

            try{
                valorGiro = double.Parse(txtValor.Text.Trim());
                if (valorGiro <= 1)
                {
                    throw(new Exception());
                }
            }
            catch {
                Response.Write("<script language='javascript'>alert('Valor del giro no válido.');</script>");
                return;
            }
            try{
                costoGiro = double.Parse(txtCosto.Text.Trim());
                if (costoGiro < 0)
                {
                    throw(new Exception());
                }
            }
            catch
            {
                Response.Write("<script language='javascript'>alert('Costo del giro no válido.');</script>");
                return;
            }
            string ruta     = "";
            string planilla = ddlPlanilla.SelectedValue;

            //Validar ruta si el giro es real(debe existir una ruta entre las cioudades de las agencias
            if (tipo.Equals("M"))
            {
                ruta = DBFunctions.SingleData("select mr.mrut_codigo from dbxschema.mrutas mr, dbxschema.magencia mo, dbxschema.magencia md " +
                                              "where mr.pciu_cod=mo.pciu_codigo and mr.pciu_coddes=md.pciu_codigo and mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " " +
                                              "order by mr.mrut_codigo;");
                if (ruta.Length == 0)
                {
                    Response.Write("<script language='javascript'>alert('No existe una ruta entre las agencias seleccionadas.');</script>");
                    return;
                }
            }
            //Validar que la ciudad de las agencias no sea la misma
            if (DBFunctions.RecordExist("SELECT mo.mag_codigo from dbxschema.magencia mo, dbxschema.magencia md where mo.mag_codigo=" + agenciaO + " and md.mag_codigo=" + agenciaD + " and mo.pciu_codigo=md.pciu_codigo;"))
            {
                Response.Write("<script language='javascript'>alert('Las agencias estan ubicadas en la misma ciudad.');</script>");
                return;
            }

            //Consultar numero documento
            string nitResponsable = DBFunctions.SingleData("select mnit_nit from DBXSCHEMA.susuario where susu_login='******';");

            if (nitResponsable.Length == 0)
            {
                Response.Write("<script language='javascript'>alert('El usuario actual (responsable) no tiene un NIT asociado.');</script>");
                return;
            }
            string numDocumento = Giros.TraerSiguienteGiroVirtual();

            //Desabilitar controles y mostrar panel confirmacion
            ddlAgenciaD.Enabled     = false;
            ddlAgenciaO.Enabled     = false;
            ddlTipo.Enabled         = false;
            ddlPlanilla.Enabled     = false;
            txtNITEmisor.Enabled    = false;
            txtNITEmisora.Enabled   = false;
            txtNITEmisorb.Enabled   = false;
            txtNITEmisorc.Enabled   = false;
            txtNITEmisord.Enabled   = false;
            txtNITEmisore.Enabled   = false;
            txtNITReceptor.Enabled  = false;
            txtNITReceptora.Enabled = false;
            txtNITReceptorb.Enabled = false;
            txtNITReceptorc.Enabled = false;
            txtNITReceptord.Enabled = false;
            txtNITReceptore.Enabled = false;
            pnlInicial.Visible      = false;
            pnlConfirmar.Visible    = true;

            //Calcular valores
            double porcentajeIva;

            try{ porcentajeIva = Convert.ToDouble(DBFunctions.SingleData("SELECT IVA_GIROS FROM DBXSCHEMA.CTRANSPORTES;")); }
            catch { porcentajeIva = 0; }
            double porcentajeGiro;

            try{
                porcentajeGiro = Convert.ToDouble(DBFunctions.SingleData("SELECT VALOR_PORCENTAJE FROM DBXSCHEMA.TPORCENTAJESTRANSPORTES WHERE CLAVE='GIRO';"));
            }
            catch {
                Response.Write("<script language='javascript'>alert('Parámetro de porcentaje giro no válido.');</script>");
                return;
            }
            double valorIVA   = ((valorGiro + costoGiro) * porcentajeIva) / 100;
            double costoTotal = valorGiro + costoGiro + valorIVA;

            lblValorGiro.Text      = valorGiro.ToString("#,###,###");
            lblPorcentajeGiro.Text = porcentajeGiro.ToString();
            lblCostoGiro.Text      = costoGiro.ToString("#,###,###");
            lblPorcentajeIVA.Text  = (porcentajeIva > 0)?porcentajeIva.ToString():"0";
            lblValorIVA.Text       = (valorIVA > 0)?valorIVA.ToString("#,###,###"):"0";
            lblTotal.Text          = costoTotal.ToString("#,###,###");
            lblFecha.Text          = DateTime.Now.ToString("dd/MM/yyyy");
            lblNumDocumento.Text   = numDocumento;
        }