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)); } }
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); }
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)); } }