protected string Grabar(string sSegMesProy, string sAvanceProd) { 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.")); } } SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd)); Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (!bErrorControlado) { sResul = "Error@#@" + Errores.mostrarError("Error al grabar el avance de producción.", ex); } else { sResul = "Error@#@Operación rechazada.\n\n" + ex.Message; } } finally { Conexion.Cerrar(oConn); } return(sResul); }
public string getDatosGF(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2) { StringBuilder sb = new StringBuilder(); //string sModoCoste = ""; try { sLectura = "true"; if (sMonedaProyecto2 != sMonedaImportes2) { sLectura = "true"; } else { if (sEstadoProy == "A" || sEstadoProy == "P")// && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA") { if (sEstadoMes == "A" && SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) { sLectura = "false"; } } else { sLecturaInsMes = "true"; } } SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2); sb.Append(oSegMes.t325_gastosfinancieros.ToString("N")); return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2)); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los gastos financieros.", ex)); } }
public string getDatosPeriod(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2) { StringBuilder sb = new StringBuilder(); try { sLectura = "true"; if (sMonedaProyecto2 != sMonedaImportes2) { sLectura = "true"; } else { if (sEstadoProy == "A" || sEstadoProy == "P") { if (!(bool)Session["MODOLECTURA_PROYECTOSUBNODO"] && (sEstadoMes == "A" || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")) { sLectura = "false"; } } } if (sEstadoProy != "A" && sEstadoProy != "P") { sLecturaInsMes = "true"; } SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2); sb.Append(oSegMes.t325_consperiod.ToString("N")); return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2)); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los consumos de periodificación.", ex)); } }
public string getDatosProfesionales(string sSegMesProy, string sMonedaImportes2) { StringBuilder sb = new StringBuilder(); try { sLectura = "true"; SqlDataReader dr = CONSPERMES.CatalogoProdIngProfesionales(int.Parse(sSegMesProy), sMonedaImportes2); sb.Append("<table class=texto id=tblDatos style='width: 960px;' mantenimiento=1>"); sb.Append("<colgroup>"); sb.Append("<col style='width:10px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:510px;' />"); sb.Append("<col style='width:120px;' />"); sb.Append("<col style='width:120px;' />"); sb.Append("<col style='width:120px;' />"); sb.Append("</colgroup>"); sb.Append("<tbody>"); while (dr.Read()) { sb.Append("<tr id='" + dr["t314_idusuario"].ToString() + "' caso='" + dr["caso"].ToString() + "'"); sb.Append(" tipo='" + dr["TipoRecurso"].ToString() + "' bd='' "); sb.Append("style='height:20px;'>"); sb.Append("<td><img src='../../../images/imgFN.gif'></td>"); sb.Append("<td>"); //switch (dr["caso"].ToString()) //{ // case "1": // sb.Append("<img border='0' src='../../../Images/imgUsuP" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />"); // break; // case "4": // sb.Append("<img border='0' src='../../../Images/imgUsuE" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />"); // break; //} switch (dr["TipoRecurso"].ToString()) { case "I": sb.Append("<img border='0' src='../../../Images/imgUsuP" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />"); break; case "F": sb.Append("<img border='0' src='../../../Images/imgUsuF" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />"); break; default: sb.Append("<img border='0' src='../../../Images/imgUsuE" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />"); break; } sb.Append("</td>"); sb.Append("<td style='text-align:right; padding-right:10px;'>" + dr["t314_idusuario"].ToString() + "</td>"); sb.Append("<td>" + dr["profesional"].ToString() + "</td>"); sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["t378_costeunitariocon"].ToString()).ToString("N") + "</td>"); sb.Append("<td style='text-align:right;'>" + double.Parse(dr["t378_unidades"].ToString()).ToString("N") + "</td>"); sb.Append("<td style='text-align:right;padding-right:2px;'>" + double.Parse(dr["importe"].ToString()).ToString("N") + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2); sModoCoste = oSegMes.t301_modelocoste; return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2)); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos de producción/ingresos", ex)); } }
private string Traspglobal(string sSobreescribir) { string sResul = ""; string sEstadoMes = ""; int nSMPSN = 0; DataSet dsProf = null; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { DataSet ds = CONSPERMES.ObtenerPSNaTraspasarDS((int)Session["UsuarioActual"]); foreach (DataRow oPSN in ds.Tables[0].Rows) { if (PROYECTOSUBNODO.ObtenerUltCierreEcoNodoPSN(tr, (int)oPSN["t305_idproyectosubnodo"]) >= (int)oPSN["annomes_traspaso"]) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("No se ha realizado el traspaso, debido a que el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " '" + oPSN["t303_denominacion"].ToString() + "' se encuentra cerrado en el mes a traspasar."); break; } else { nSMPSN = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"]); if (nSMPSN == 0) { if (oPSN["tiene_consumos"].ToString() == "1") { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"]); if (sEstadoMes == "C") { continue; } nSMPSN = SEGMESPROYECTOSUBNODO.Insert(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"], sEstadoMes, 0, 0, false, 0, 0); } } else { SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(tr, nSMPSN, null); if (oSegMes.t325_estado == "C") { continue; } if (sSobreescribir == "1") { CONSPERMES.DeleteByT325_idsegmesproy(tr, nSMPSN); } } #region Datos Profesionales if (oPSN["tiene_consumos"].ToString() == "1") //si tiene consumos técnicos (IAP) { dsProf = CONSPERMES.ObtenerDatosPSNaTraspasarDS(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"], oPSN["t301_modelocoste"].ToString(), true, (sSobreescribir == "1")? false:true); foreach (DataRow oProf in dsProf.Tables[0].Rows) { double nUnidades = (oPSN["t301_modelocoste"].ToString() == "J") ? double.Parse(oProf["jornadas_adaptadas"].ToString()) : double.Parse(oProf["horas_reportadas_proy"].ToString()); if (nUnidades != 0) { CONSPERMES.Insert(tr, nSMPSN, (int)oProf["t314_idusuario"], (oPSN["t301_modelocoste"].ToString() == "J") ? double.Parse(oProf["jornadas_adaptadas"].ToString()) : double.Parse(oProf["horas_reportadas_proy"].ToString()), decimal.Parse(oProf["t330_costecon"].ToString()), decimal.Parse(oProf["t330_costerep"].ToString()), (oProf["t303_idnodo"] != DBNull.Value)? (int?)oProf["t303_idnodo"]:null, (oProf["t313_idempresa"] != DBNull.Value)? (int?)oProf["t313_idempresa"]:null); } } dsProf.Dispose(); } #endregion SEGMESPROYECTOSUBNODO.UpdateTraspasoIAP(tr, nSMPSN, true); } } ds.Dispose(); Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("Error al realizar el traspaso global.", ex); } finally { Conexion.Cerrar(oConn); } return(sResul); }
private string Grabar(string sPSN, string sAnnomes, string strProfesionales, string sHayDatosProf) { string sResul = ""; string sEstadoMes = ""; int nPSN = int.Parse(sPSN), nAnnomes = int.Parse(sAnnomes), nSMPSN = 0; bool bErrorControlado = false; #region abrir conexión y transacción try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccionSerializable(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion try { if (PROYECTOSUBNODO.ObtenerUltCierreEcoNodoPSN(tr, nPSN) >= nAnnomes) { Conexion.CerrarTransaccion(tr); sResul = "Error@#@" + Errores.mostrarError("No se ha realizado el traspaso, debido a que el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " se encuentra cerrado en el mes a traspasar."); } else { nSMPSN = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN, nAnnomes); if (nSMPSN == 0) { if (sHayDatosProf == "1") { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN, nAnnomes); if (sEstadoMes != "C") { nSMPSN = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN, nAnnomes, sEstadoMes, 0, 0, false, 0, 0); } } } else { if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA") { SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, nSMPSN, null); if (oSMPSN.t325_estado == "C") { bErrorControlado = true; throw (new Exception("No se permite grabar, debido a que el mes en curso está cerrado para el proyecto.")); } } CONSPERMES.DeleteByT325_idsegmesproy(tr, nSMPSN); } #region Datos Profesionales if (strProfesionales != "" && sEstadoMes != "C") { string[] aProfesionales = Regex.Split(strProfesionales, "##"); foreach (string oProf in aProfesionales) { if (oProf == "") { continue; } string[] aProf = Regex.Split(oProf, "//"); ///aProf[0] = idUsuario ///aProf[1] = costecon ///aProf[2] = costerep ///aProf[3] = nodo_usuario ///aProf[4] = empresa_nodo ///aProf[5] = unidades económicas CONSPERMES.Insert(tr, nSMPSN, int.Parse(aProf[0]), double.Parse(aProf[5]), decimal.Parse(aProf[1]), decimal.Parse(aProf[2]), (aProf[3] != "") ? (int?)int.Parse(aProf[3]) : null, (aProf[4] != "") ? (int?)int.Parse(aProf[4]) : null); } } #endregion SEGMESPROYECTOSUBNODO.UpdateTraspasoIAP(tr, nSMPSN, true); Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (!bErrorControlado) { sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos del proyecto.", ex); } else { sResul = "Error@#@Operación rechazada.\n\n" + ex.Message; } } finally { Conexion.Cerrar(oConn); } return(sResul); }
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 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 strDatos) { string sResul = ""; int sSegMesProy = 0; string sEstadoMes = ""; bool bErrorControlado = false; double dUnidades = 0; double?dUnidadesBD = 0; #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 { string[] aConsumo = Regex.Split(strDatos, "///"); foreach (string oConsumo in aConsumo) { if (oConsumo == "") { continue; } string[] aValores = Regex.Split(oConsumo, "##"); //0. Opcion BD. "I", "U", "D" //1. AnnoMes //2. ID usuario //3. Coste //4. Unidades //5. Costerep //6. idempresa_nodomes //7. Nodo nPSN = int.Parse(Request.QueryString["nPSN"].ToString()); sSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN, int.Parse(aValores[1])); if (sSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN, int.Parse(aValores[1])); if (sEstadoMes == "C") { bErrorControlado = true; throw (new Exception("Durante su intervención en la pantalla, otro usuario ha eliminado el año/mes: " + aValores[1])); } sSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN, int.Parse(aValores[1]), sEstadoMes, 0, 0, false, 0, 0); } else { SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(tr, nPSN, int.Parse(aValores[1]), Request.QueryString["sMoneda"].ToString()); if (oSegMes.t325_estado == "C") { bErrorControlado = true; throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el año/mes: " + aValores[1])); } else { sSegMesProy = oSegMes.t325_idsegmesproy; } } dUnidades = double.Parse(aValores[4]); if (dUnidades == 0) { CONSPERMES.Delete(tr, sSegMesProy, int.Parse(aValores[2])); } else { //Si existe en BBDD, updateo, sino, inserto dUnidadesBD = CONSPERMES.GetUnidades(tr, sSegMesProy, int.Parse(aValores[2])); if (dUnidadesBD == null) //No existe registro -> lo insertamos { int?nEmpresa = null; if (aValores[6] != "") { nEmpresa = int.Parse(aValores[6]); } int?nNodo = null; if (aValores[7] != "") { nNodo = int.Parse(aValores[7]); } CONSPERMES.Insert(tr, sSegMesProy, int.Parse(aValores[2]), dUnidades, decimal.Parse(aValores[3]), decimal.Parse(aValores[5]), nNodo, nEmpresa); } else {//El registro ya existe, solo updateamos si el valor es diferente if (dUnidades != dUnidadesBD) { CONSPERMES.UpdateUnidades(tr, sSegMesProy, int.Parse(aValores[2]), dUnidades); } } } } Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (!bErrorControlado) { sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos de los profesionales.", ex); } else { sResul = "Error@#@Operación rechazada.\n\n" + ex.Message; } } finally { Conexion.Cerrar(oConn); } return(sResul); }
protected string Grabar(string sSegMesProy, string strDatos) { string sResul = ""; bool bErrorControlado = false; double dUnidades = 0; double?dUnidadesBD = null; #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.")); } } //CONSPERMES.DeleteByT325_idsegmesproy(tr, int.Parse(sSegMesProy)); string[] aConsumo = Regex.Split(strDatos, "///"); foreach (string oConsumo in aConsumo) { if (oConsumo == "") { continue; } string[] aValores = Regex.Split(oConsumo, "##"); //0. Opcion BD. "I", "U", "D" //1. ID usuario //2. Coste //3. Unidades //4. Costerep //5. idempresa_nodomes //6. Nodo dUnidades = double.Parse(aValores[3]); if (dUnidades == 0) { CONSPERMES.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1])); } else { //Si existe en BBDD, updateo, sino, inserto dUnidadesBD = CONSPERMES.GetUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1])); if (dUnidadesBD == null) //No existe registro -> lo insertamos { int?nEmpresa = null; if (aValores[5] != "") { nEmpresa = int.Parse(aValores[5]); } int?nNodo = null; if (aValores[6] != "") { nNodo = int.Parse(aValores[6]); } CONSPERMES.Insert(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades, decimal.Parse(aValores[2]), decimal.Parse(aValores[4]), nNodo, nEmpresa); } else {//El registro ya existe, solo updateamos si el valor es diferente if (dUnidades != dUnidadesBD) { CONSPERMES.UpdateUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades); } } } } Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (!bErrorControlado) { sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos de los profesionales.", ex); } else { sResul = "Error@#@Operación rechazada.\n\n" + ex.Message; } } finally { Conexion.Cerrar(oConn); } return(sResul); }
protected string Grabar(string sSegMesProy, string sAvanceProd, string strDatos) { string sResul = ""; bool bErrorControlado = false; double dUnidades = 0; double?dUnidadesBD = null; #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.")); } } //PRODUCFACTPERF.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 Tarifa //2. Unidades //3. Importe tarifa dUnidades = double.Parse(aValores[2]); if (dUnidades == 0) { PRODUCFACTPERF.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1])); } else { //Si existe en BBDD, updateo, sino, inserto dUnidadesBD = PRODUCFACTPERF.GetUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1])); if (dUnidadesBD == null) //No existe registro -> lo insertamos { PRODUCFACTPERF.Insert(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), decimal.Parse(aValores[3]), dUnidades); } else {//El registro ya existe, solo updateamos si el valor es diferente if (dUnidades != dUnidadesBD) { PRODUCFACTPERF.UpdateUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades); } } } } SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd)); Conexion.CommitTransaccion(tr); sResul = "OK@#@"; } catch (Exception ex) { Conexion.CerrarTransaccion(tr); if (!bErrorControlado) { sResul = "Error@#@" + Errores.mostrarError("Error al grabar la producción por perfil.", 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)); } }