コード例 #1
0
    public string getDatosProfesionales(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sConConsumos, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();
        SqlDataReader dr;
        int           i = 0;

        try
        {
            sLectura = "false";

            if (sEstadoMes == "A")
            {
                dr = PRODUCFACTPROF.CatalogoMesAbierto(int.Parse(sSegMesProy), (sConConsumos == "1") ? true : false, sMonedaImportes2);
            }
            else
            {
                dr = PRODUCFACTPROF.CatalogoMesCerrado(int.Parse(sSegMesProy), (sConConsumos == "1") ? true : false, sMonedaImportes2);
            }

            sb.Append("<table id=tblDatos style='width: 980px;' mantenimiento=1>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:15px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:250px;' />");
            sb.Append("<col style='width:130px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:95px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C" || (bool)Session["MODOLECTURA_PROYECTOSUBNODO"] || sEstadoMes == "C")
                {
                    sLecturaInsMes = "true";
                    sLectura       = "true";
                }
                if ((sEstadoProy == "A" || sEstadoProy == "P") && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")
                {
                    sLectura = "false";
                }
            }


            while (dr.Read())
            {
                //sModoTarifa = dr["t301_modelotarif"].ToString();
                //sAvanceProd = double.Parse(dr["t325_avanceprod"].ToString()).ToString("N");
                sb.Append("<tr id='" + i.ToString() + "' bd='' ");
                sb.Append("tipo=" + dr["tipo"].ToString() + " ");
                sb.Append("nPT=" + dr["t331_idpt"].ToString() + " ");
                sb.Append("nF='" + dr["t334_idfase"].ToString() + "' ");
                sb.Append("nA='" + dr["t335_idactividad"].ToString() + "' ");
                sb.Append("nT='" + dr["t332_idtarea"].ToString() + "' ");
                sb.Append("nProf='" + dr["t314_idusuario"].ToString() + "' ");
                sb.Append("nPerfil='" + dr["t333_idperfilproy"].ToString() + "' ");
                sb.Append("unidades='" + dr["consumosfacturar"].ToString().Replace(",", ".") + "' ");
                sb.Append("unidfact='" + dr["consumosF"].ToString().Replace(",", ".") + "'");
                sb.Append("sexo='" + dr["sexo"].ToString() + "' ");
                sb.Append("nivel=" + dr["nivel"].ToString() + " ");
                sb.Append("importe='" + dr["totalfacturar"].ToString().Replace(",", ".") + "' ");

                //if (sLectura != "true" && dr["tipo"].ToString() == "U") sb.Append(" onclick='msse(this)' ");
                switch (dr["tipo"].ToString())
                {
                case "PT": sb.Append("bgcolor='#A6C7D7'"); break;

                case "F": sb.Append("bgcolor='#BCD5E1'"); break;

                case "A": sb.Append("bgcolor='#D1E2EA'"); break;

                case "T": sb.Append("bgcolor='#E6EEF2'"); break;
                }
                sb.Append(" style='height:20px' nivel='" + ((int)dr["nivel"]).ToString() + "'>");

                sb.Append("<td></td>");//icono bd

                //sb.Append("<td class='N" + ((int)dr["nivel"]).ToString() + "'>");
                switch ((int)dr["nivel"])
                {
                case 1:
                    sb.Append("<td align=right></td><td colspan='5' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W310'");
                    break;

                case 2:
                    sb.Append("<td align=right colspan='2'></td><td colspan='4' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W290'");
                    break;

                case 3:
                    sb.Append("<td align=right colspan='3'></td><td colspan='3' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W270'");
                    break;

                case 4:
                    sb.Append("<td align=right colspan='4'></td><td colspan='2' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W250'");
                    break;

                case 5:
                    sb.Append("<td align=right colspan='5'></td><td><nobr class='NBR W230'");
                    break;
                }

                if (dr["tipo"].ToString() == "U")
                {
                    //sb.Append(" style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + dr["desItem"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + int.Parse(dr["t314_idusuario"].ToString()).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Empresa:</label>" + dr["EMPRESA"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" ");
                    sb.Append(" style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + dr["desItem"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + int.Parse(dr["t314_idusuario"].ToString()).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" ");
                }
                sb.Append(">");

                if (dr["tipo"].ToString() == "T")
                {
                    sb.Append(int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + " - ");
                }
                sb.Append(dr["desItem"].ToString() + "</nobr></td>");


                if (dr["tipo"].ToString() == "U")
                {
                    sb.Append("<td><nobr class='NBR W130'>" + dr["t333_denominacion"].ToString() + "</nobr></td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["tarifa"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumos"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumosNF"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;' title='" + dr["consumosF"].ToString().Replace(",", ".") + "'>" + double.Parse(dr["consumosF"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["importeF"].ToString()).ToString("N") + "</td>");

                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumosfacturar"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["totalfacturar"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'></td>");
                }

                sb.Append("</tr>");
                i++;
            }
            dr.Close();
            dr.Dispose();

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);
            sAvanceProd = oSegMes.t325_avanceprod.ToString("N");
            sModoTarifa = oSegMes.t301_modelotarif;

            this.txtAvanProd.Value = sAvanceProd;
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + sModoTarifa + "@#@" + sAvanceProd + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la producción de los profesionales (linea=" + i.ToString() + ")", ex));
        }
    }
コード例 #2
0
    protected string Grabar(string sSegMesProy, string sAvanceProd, string strDatos)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }
            //PRODUCFACTPROF.DeleteByT325_idsegmesproy(tr, int.Parse(sSegMesProy));

            string[] aProd = Regex.Split(strDatos, "///");
            foreach (string oProd in aProd)
            {
                if (oProd == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oProd, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Tarea
                //2. ID usuario
                //3. ID Perfil
                //4. Unidades

                if (aValores[0] == "D")
                {
                    PRODUCFACTPROF.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), int.Parse(aValores[2]));
                }
                else
                {
                    if (aValores[3] != "")
                    {
                        PRODUCFACTPROF.UpdateInsertSiNoExiste(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]),
                                                              int.Parse(aValores[2]), int.Parse(aValores[3]), double.Parse(aValores[4]));
                    }
                }
            }

            SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd));

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                string sAux = "Error al grabar la producción de los profesionales.\nsSegMesProy=" + sSegMesProy + "\nsAvanceProd=" + sAvanceProd + "\nstrDatos=" + strDatos;
                sResul = "Error@#@" + Errores.mostrarError(sAux, ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
コード例 #3
0
    public string getDatosProduccion(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();
        DataSet       ds;
        string        sModoCoste = "";

        try
        {
            sLectura = "false";

            sb.Append("<TABLE id=tblDatos style='width: 700px;' mantenimiento=1>");
            sb.Append("<COLGROUP>");
            sb.Append("<COL style='width:15px;' />");
            sb.Append("<COL style='width:325px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("</COLGROUP>");
            sb.Append("<tbody>");
            ds = PRODUCFACTPROF.ObtenerProduccionPerfilAgrupado(int.Parse(sSegMesProy), sMonedaImportes2);

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C" || (bool)Session["MODOLECTURA_PROYECTOSUBNODO"] || sEstadoMes == "C")
                {
                    sLecturaInsMes = "true";
                    sLectura       = "true";
                }
                if ((sEstadoProy == "A" || sEstadoProy == "P") && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")
                {
                    sLectura = "false";
                }
            }

            if (ds.Tables[0].Rows.Count > 0)
            {
                sAgrupado = "true";
                sLectura  = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C")
                {
                    ds = PRODUCFACTPERF.CatalogoMesCerrado(int.Parse(sSegMesProy), sMonedaImportes2);
                }
                else if (sEstadoMes == "A")
                {
                    ds = PRODUCFACTPERF.CatalogoMesAbierto(int.Parse(sSegMesProy), sMonedaImportes2);
                }
                //else if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA") ds = PRODUCFACTPERF.CatalogoMesCerradoSA(int.Parse(sSegMesProy));
                else
                {
                    ds = PRODUCFACTPERF.CatalogoMesCerrado(int.Parse(sSegMesProy), sMonedaImportes2);
                }
            }

            foreach (DataRow oFila in ds.Tables[0].Rows)
            {
                //sModoCoste = oFila["t301_modelocoste"].ToString();
                //sAvanceProd = double.Parse(oFila["t325_avanceprod"].ToString()).ToString("N");

                sb.Append("<tr id='" + oFila["t333_idperfilproy"].ToString() + "' bd='' unidades='" + oFila["unidades"].ToString().Replace(",", ".") + "' ");

                if (sLectura != "true")
                {
                    sb.Append(" onclick='ms(this)' ");
                }

                sb.Append("style='height:20px;'>");

                sb.Append("<td><img src='../../../images/imgFN.gif'></td>");
                sb.Append("<td>" + oFila["t333_denominacion"].ToString() + "</td>");
                sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["tarifa"].ToString()).ToString("N") + "</td>");

                if (sLectura == "true" || sAgrupado == "true")
                {
                    sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["unidades"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(oFila["importe"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'><input type='text' class='txtNumL' style='width:90px; cursor:pointer' value='" + double.Parse(oFila["unidades"].ToString()).ToString("N") + "' onkeyup='fm(event);setUnidades(this);' onfocus='fn(this);' onchange='calcularTotal()' title='" + oFila["unidades"].ToString().Replace(",", ".") + "' /></td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'><input type='text' class='txtNumL' style='width:90px; cursor:pointer' value='" + double.Parse(oFila["importe"].ToString()).ToString("N") + "' onkeyup='fm(event);setImporte(this);' onfocus='fn(this);' onchange='calcularTotal()' /></td>");
                }
                sb.Append("</tr>");
            }

            ds.Dispose();

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);
            sAvanceProd = oSegMes.t325_avanceprod.ToString("N");
            sModoCoste  = oSegMes.t301_modelocoste;

            this.txtAvanProd.Value = sAvanceProd;
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + sModoCoste + "@#@" + sAvanceProd + "@#@" + sAgrupado + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la producción por perfil.", ex));
        }
    }