static void TRG2017_LoadSistemaPastaCT() { string sql = File.ReadAllText(Gerais.Caminho_App() + @"\sql\TRG2017_LoadSistemaPastaCT.sql"); Connection Connection = new Connection(); Connection.Executar(sql); Connection.Dispose(); }
public static void ALM_Defeitos_Aging() { string sql = File.ReadAllText(Gerais.Caminho_App() + @"\sql\ALM_Defeitos_Aging.sql"); Connection Connection = new Connection(); Connection.Executar(sql); Connection.Dispose(); }
public void LoadData() { DateTime Dt_Inicio = DateTime.Now; ALMConnection ALMConn = new ALMConnection(this.database); Connection SGQConn = new Connection(); SqlMaker2 sqlMaker2 = new SqlMaker2() { sqlMaker2Param = this.sqlMaker2Param }; if (typeUpdate == TypeUpdate.Increment || typeUpdate == TypeUpdate.IncrementFullUpdate) { if (typeUpdate == TypeUpdate.IncrementFullUpdate) { SGQConn.Executar($"update SGQ_Parametros set Valor = '0000-00-00 00:00:00' where Nome='ALM_Usuarios_Update'"); } string Sql_Insert = sqlMaker2.Get_Oracle_Insert().Replace("{Esquema}", this.database.scheme); OracleDataReader DataReader_Insert = ALMConn.Get_DataReader(Sql_Insert); if (DataReader_Insert != null && DataReader_Insert.HasRows == true) { SGQConn.Executar(ref DataReader_Insert, 1); } string Sql_Update = sqlMaker2.Get_Oracle_Update().Replace("{Esquema}", this.database.scheme); OracleDataReader DataReader_Update = ALMConn.Get_DataReader(Sql_Update); if (DataReader_Update != null && DataReader_Update.HasRows == true) { SGQConn.Executar(ref DataReader_Update, 1); } } else if (typeUpdate == TypeUpdate.Full) { SGQConn.Executar($"truncate table ALM_Usuarios"); string Sql_Insert = sqlMaker2.Get_Oracle_Insert().Replace("{Esquema}", this.database.scheme); OracleDataReader DataReader_Insert = ALMConn.Get_DataReader(Sql_Insert); if (DataReader_Insert != null && DataReader_Insert.HasRows == true) { SGQConn.Executar(ref DataReader_Insert, 1); } } SGQConn.Executar($"update SGQ_Parametros set Valor = '{Dt_Inicio.ToString("dddd-MM-yy HH:mm:ss")}' where Nome='ALM_Usuarios_Update'"); Gerais.Enviar_Email_Atualizacao_Tabela( Assunto: string.Format($"[SGQLoader]{database.name} - Usuários - {this.typeUpdate}"), Dt_Inicio: Dt_Inicio, Dt_Fim: DateTime.Now ); SGQConn.Dispose(); }
public static void Historico_Valores() { string sql1 = File.ReadAllText(Gerais.Caminho_App() + @"\sql\Insert_SGQ_Historico_Valores_Execucao_Teste.sql"); string sql2 = File.ReadAllText(Gerais.Caminho_App() + @"\sql\Insert_SGQ_Historico_Valores_Riscos.sql"); string sql3 = File.ReadAllText(Gerais.Caminho_App() + @"\sql\Insert_SGQ_Historico_Valores_Status_Projeto_Release.sql"); Connection Connection = new Connection(); Connection.Executar(sql1); Connection.Executar(sql2); Connection.Executar(sql3); Connection.Dispose(); }
/// <summary> /// Método para verificar se o usuário e senha são válidos /// </summary> /// <param name="usuario">Login do Usuário</param> /// <returns>Retorna os atributos do UsuarioModel</returns> public Usuario Usuario_ValidarLogin(Usuario usuario) { try { string ImagePath = new ParametroBLL().Parametro_GetValor("ImagePath"); string physicalPath = System.Web.HttpContext.Current.Server.MapPath(ImagePath + "default.png"); System.Drawing.Image image = System.Drawing.Image.FromFile(physicalPath); using (SqlConnection conn = new SqlConnection(strConn)) { conn.Open(); SqlCommand cmd = new SqlCommand("STP_LOGIN", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@usu_usuario", usuario.usu_usuario)); var senha = new Gerais().Encrypt(usuario.usu_senha); cmd.Parameters.Add(new SqlParameter("@senhacrip", senha)); cmd.Parameters.Add(new SqlParameter("@ip", usuario.usu_ip)); using (SqlDataReader reader = cmd.ExecuteReader()) { Usuario _usuario = new Usuario(); if (reader.HasRows) { while (reader.Read()) { _usuario.usu_id = Convert.ToInt32(reader["usu_id"]); _usuario.usu_usuario = usuario.usu_usuario; _usuario.usu_senha = senha; // senha criptografada _usuario.usu_ip = usuario.usu_ip; _usuario.usu_nome = reader["usu_nome"].ToString(); _usuario.usu_ativo = Convert.ToInt32(reader["usu_ativo"]); // _usuario.usu_foto = reader["usu_foto"].ToString(); // checa antes se existe foto _usuario.usu_foto = reader["usu_foto"].ToString() == "" ? new Gerais().ImageToBase64(image) : reader["usu_foto"].ToString(); _usuario.usu_trocar_senha = Convert.ToInt32(reader["sen_mudar_senha"]); } } return(_usuario); } } } catch (Exception ex) { int id = 0; new LogSistemaDAO().InserirLogErro(new LogErro(ex, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name), out id); throw new Exception(ex.Message); } }
public List <T> GetProjects <T>() { //BD oBD = new BD(Lib.SGQ()); // oBD.Executar(File.ReadAllText(Gerais.Caminho_App() + @"\SQLs\Insert_SGQ_Historico_Valores_Execucao_Teste.sql")); //oBD.Close(); string sql = File.ReadAllText(Gerais.Caminho_App() + $@"\sql\{database.sqlListProjects}", System.Text.Encoding.Default); Connection SGQConn = new Connection(); List <T> projetos = SGQConn.Executar <T>(sql); SGQConn.Dispose(); return(projetos); }
/// <summary> /// Envio de Email /// </summary> /// <param name="login">Login do usuário</param> /// <returns>string vazia se OK, ou mensagem de erro</returns> public string CriaEnviaEmailComSenha(string login) { // gera nova senha var dt = DateTime.Now.ToString("ddmmyyyyhhmmss"); var senha = new Gerais().Encrypt(login + "_" + dt); Usuario usuTemp = new Usuario(); usuTemp.usu_usuario = login; usuTemp.usu_senha = new Gerais().Encrypt(senha); usuTemp.usu_ip = System.Web.HttpContext.Current.Request.UserHostAddress; // reseta a senha Usuario usu = new UsuarioDAO().Usuario_ResetarSenha(usuTemp); // envia email com a senha nova if (usu.usu_id >= 0) { ParamsEmail pEmail = new ParametroBLL().Parametro_ListAllParamsEmail()[0]; pEmail.Para = usu.usu_nome + "<" + usu.usu_email + ">"; pEmail.Assunto = "Envio de Senha"; // substitui parametros pEmail.Texto = pEmail.Texto.Replace("[param_USUARIO_NOME]", usu.usu_nome); pEmail.Texto = pEmail.Texto.Replace("[param_USUARIO]", usu.usu_usuario); pEmail.Texto = pEmail.Texto.Replace("[param_SENHA]", senha); pEmail.Texto = pEmail.Texto.Replace("[param_URL]", pEmail.URL_SISTEMA); // envia o email AlternateView av1 = null; if (pEmail.IsBodyHtml) { av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } string retorno = new Gerais().MandaEmail(av1, pEmail); return(retorno); } else { return("Usuário não cadastrado no sistema"); } }
// *************** Usuario ************************************************************* /// <summary> /// Redimensiona e salva a imagem de Upload /// </summary> /// <param name="model">Variável do tipo UsuarioFoto</param> /// <returns>string</returns> public string Usuario_ImageUpload(UsuarioFoto model) { string base64String = ""; var file = model.ImageFile; if ((file != null) && (model.usu_id > 0)) { //nomeArquivo = model.usu_id.ToString() + "_" + file.FileName.Replace(" ", "_"); var _image = Image.FromStream(file.InputStream); var _thumbImage = new Gerais().imgResize(_image, maxHeight: 160); // string ImagePath = new ParametroBLL().Parametro_GetValor("ImagePath"); base64String = new Gerais().ImageToBase64(_thumbImage); //_thumbImage.Save(System.Web.HttpContext.Current.Server.MapPath(ImagePath + nomeArquivo)); //// apaga a foto anterior //if (!model.FotoAnterior.EndsWith("default.png")) //{ // // string ImagePath = System.Configuration.ConfigurationManager.AppSettings["ImagePath"]; // if (System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath(model.FotoAnterior))) // { // try // { // System.IO.File.Delete(System.Web.HttpContext.Current.Server.MapPath(model.FotoAnterior)); // } // catch (Exception ex) { } // } //} Usuario paramUsuario = (Usuario)System.Web.HttpContext.Current.Session["Usuario"]; if (paramUsuario.usu_id == model.usu_id) { paramUsuario.usu_foto = base64String; // paramUsuario.usu_foto = ImagePath + nomeArquivo; System.Web.HttpContext.Current.Session["Usuario"] = paramUsuario; } int retorno = new UsuarioBLL().Usuario_AlterarFoto(base64String, model.usu_id); } return(base64String); }
public string Get_String_(string sql) { try { OracleCommand oracleCommand = new OracleCommand(sql, this.oracleConnection); OracleDataReader DataReader = oracleCommand.ExecuteReader(); oracleCommand.Dispose(); DataReader.Read(); return(DataReader[0].ToString()); } catch (Exception oEX) { //throw new Exception(oEX.Message); Gerais.Enviar_Email_Para_Administradores("Get_String_", oEX.Message.ToString()); return(null); } }
/// <summary> /// Salva Parâmetro /// </summary> /// <param name="par">Nome do Parâmetro</param> /// <param name="usu_id">Id do Usuário logado</param> /// <param name="ip">IP do Usuário logado</param> /// <returns>int</returns> public int Parametro_Salvar(Parametro par, int usu_id, string ip) { try { var par_valor = par.par_valor; if (par.par_id == "email_Senha") { par_valor = new Gerais().Encrypt(par.par_valor); } using (SqlConnection con = new SqlConnection(strConn)) { con.Open(); SqlCommand com = new SqlCommand(); com.CommandText = "STP_UPD_PARAMETRO"; com.Connection = con; com.CommandType = CommandType.StoredProcedure; com.Parameters.Clear(); System.Data.SqlClient.SqlParameter p_return = new System.Data.SqlClient.SqlParameter(); p_return.Direction = System.Data.ParameterDirection.ReturnValue; com.Parameters.Add(p_return); com.Parameters[0].Size = 32000; com.Parameters.AddWithValue("@par_id", par.par_id); com.Parameters.AddWithValue("@par_valor", par_valor); com.Parameters.AddWithValue("@par_descricao", par.par_descricao); com.Parameters.AddWithValue("@usu_id", usu_id); com.Parameters.AddWithValue("@ip", ip); com.ExecuteScalar(); return(Convert.ToInt32(p_return.Value)); } } catch (Exception ex) { int id = 0; new LogSistemaDAO().InserirLogErro(new LogErro(ex, this.GetType().Name, new StackTrace().GetFrame(0).GetMethod().Name), out id); throw new Exception(ex.Message); } }
public OracleDataReader Get_DataReader(string sql) { try { OracleCommand oracleCommand = new OracleCommand(this.database.prefix + this.storedProcedureName, this.oracleConnection); oracleCommand.CommandType = CommandType.StoredProcedure; oracleCommand.Parameters.Add(new OracleParameter(this.inputParameterName, OracleDbType.Clob)); oracleCommand.Parameters.Add(this.outputParameterName, OracleDbType.RefCursor); oracleCommand.Parameters[0].Value = sql; oracleCommand.Parameters[1].Direction = ParameterDirection.Output; OracleDataReader DataReader = oracleCommand.ExecuteReader(); oracleCommand.Dispose(); return(DataReader); } catch (Exception oEX) { //throw new Exception(oEX.Message); Gerais.Enviar_Email_Para_Administradores(this.database.name + ": " + this.database.prefix + this.storedProcedureName, oEX.Message.ToString() + "<br/><br/>" + sql); // Gerais.Enviar_Email_Para_Administradores("Open GET_QCALM11SQL_V2", oEX.Message.ToString() + "<br/><br/>" + sql); return(null); } }
public void loadDefectsTimes() { DateTime Dt_Inicio_Geral = DateTime.Now; var SGQConn = new Connection(); var List_Nome_Projetos = new List <String>(); List <Projeto_Template_05> projectList = this.GetProjects <Projeto_Template_05>(); foreach (var project in projectList) { DateTime Dt_Inicio = DateTime.Now; Defeitos_Tempos.LoadData(project, typeUpdate, database); DateTime Dt_Fim = DateTime.Now; long Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Second, Dt_Inicio, Dt_Fim); string Nome_Projeto_BITI = SGQConn.Get_String($"select Nome from biti_subprojetos where id = '{project.Subprojeto}'"); List_Nome_Projetos.Add(Tempo.ToString().PadLeft(4, '0') + " seg, " + project.Nome + " - " + Nome_Projeto_BITI); } SGQConn.Dispose(); DateTime Dt_Fim_Geral = DateTime.Now; if (projectList.Count > 0) { List_Nome_Projetos.Sort(); Gerais.Enviar_Email_Atualizacao_Projetos( Assunto: string.Format($"[SGQLoader]{database.name} - Defeitos Tempos - {this.typeUpdate}"), projectList: List_Nome_Projetos, Dt_Inicio: Dt_Inicio_Geral, Dt_Fim: Dt_Fim_Geral ); } }
static private void RunMain() { DateTime Dt_Inicio_Geral = DateTime.Now; String Mensagem = ""; DateTime Dt_Inicio; DateTime Dt_Fim; long Tempo = 0; Connection SGQConn = new Connection(); Dt_Inicio = DateTime.Now; var projetos = new Projetos(TypeUpdate.IncrementFullUpdate); projetos.LoadData(); Dt_Fim = DateTime.Now; Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Projetos.<br/>"; //// Com Chave, Insert + Update //Dt_Inicio = DateTime.Now; // //SGQConn.Executar("truncate table BITI_Sistemas"); // Sistemas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Sistemas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Ideias"); // Ideias.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Ideias.<br/>"; // //Dt_Inicio = DateTime.Now; // //SGQConn.Executar("truncate table BITI_Projetos"); // //Projetos.Atualizar(TypeUpdate.Full); // //Dt_Fim = DateTime.Now; // //Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // //Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Projetos.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Subprojetos"); // Subprojetos.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Subprojetos.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_CRs"); // CRs.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: CRs.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Entregas"); // Entregas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Entregas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Frentes_Trabalho"); // Frentes_Trabalho.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Frentes_Trabalho.<br/>"; //Dt_Inicio = DateTime.Now; //SGQConn.Executar("truncate table BITI_Desenhos"); //Desenhos.Atualizar(TypeUpdate.Full); //Dt_Fim = DateTime.Now; //Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); //Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Desenho.<br/>"; //Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Execucoes"); // Execucoes.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Execucoes.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Aprovacoes_Financeiras"); // Aprovacoes_Financeiras.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Aprovacoes_Financeiras.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Aprovacoes_Financeiras_FT"); // Aprovacoes_Financeiras_FT.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Aprovacoes_Financeiras_FT.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Propostas"); // Propostas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Propostas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Metricas"); // Metricas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Metricas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Fases_Contratadas"); // Fases_Contratadas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Fases_Contratadas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Macro_Estimativas"); // Macro_Estimativas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Macro_Estimativas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Documentos_Controlados"); // Documentos_Controlados.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Documentos_Controlados.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Usuarios"); // Usuarios.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Usuarios.<br/>"; // // Sem Chave, truncate + Insert // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Cronogramas_Subprojetos"); // Cronogramas_Subprojetos.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Cronogramas_Subprojetos.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Cronogramas_Entregas"); // Cronogramas_Entregas.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Cronogramas_Entregas.<br/>"; // Dt_Inicio = DateTime.Now; // SGQConn.Executar("truncate table BITI_Mudancas_Estados"); // Mudancas_Estados.Atualizar(TypeUpdate.Full); // Dt_Fim = DateTime.Now; // Tempo = DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio, Dt_Fim); // Mensagem += Tempo.ToString().PadLeft(4, '0') + " min, Tabela: Mudancas_Estados.<br/>"; // Subprojetos.Atualizar_Classificacao(); // Entregas.Atualizar_Release(); DateTime Dt_Fim_Geral = DateTime.Now; SGQConn.Dispose(); Mensagem = @"<br/>Início: " + Dt_Inicio_Geral.ToString("dd-MM-yyyy HH:mm:ss") + @"<br/>Fim: " + Dt_Fim_Geral.ToString("dd-MM-yyyy HH:mm:ss") + @"<br/>Tempo: " + DataEHora.DateDiff(DataEHora.DateInterval.Minute, Dt_Inicio_Geral, Dt_Fim_Geral).ToString() + " min<br/><br/>" + Mensagem; Gerais.Enviar_Email(Gerais.Get_Lista_To_Aviso_Carga(), Gerais.Get_Lista_CC_Aviso_Carga(), "SGQ-BITI: Atualizou - Tipo Atualização: COMPLETA", Mensagem); }
/// <summary> /// Preenche a Ficha de Inspeção Especial em Excel e disponibiliza para download /// </summary> /// <param name="ord_id">Id da O.S pertinente ao objeto</param> /// <param name="origem">Tela que chamou o evento</param> /// <returns>string</returns> public string FichaInspecaoEspecialAnomalias_ExportarXLS(int ord_id, string origem) { string arquivo_modelo_caminhoFull = System.Web.HttpContext.Current.Server.MapPath("~/Reports/Ficha_Cadastramento_Anomalias.xlsx"); string arquivo_saida = "Ficha_Cadastramento_Anomalias_" + DateTime.Now.ToString().Replace(" ", "").Replace(":", "").Replace("/", "") + ".xlsx"; string arquivo_saida_caminhoFull = System.Web.HttpContext.Current.Server.MapPath("~/temp/") + "/" + arquivo_saida; string arquivo_saida_caminho_virtual = HttpContext.Current.Request.Url.Host + "/temp/" + arquivo_saida; string saida = ""; List <string> Headers = new List <string>(); try { Gerais ger = new Gerais(); limpaArquivosAntigos(); File.Copy(arquivo_modelo_caminhoFull, arquivo_saida_caminhoFull); // faz busca os DADOS no banco List <InspecaoAnomalia> lstDADOS = new InspecaoDAO().InspecaoAnomalias_Valores_ListAll(ord_id); // Abre a planilha para edicao using (SpreadsheetDocument doc = SpreadsheetDocument.Open(arquivo_saida_caminhoFull, true)) { // LEITURA DA PLANILHA Worksheet worksheet = ger.GetWorksheet(doc, "Ficha_Cadastramento_Anomalias"); Worksheet worksheetRodape = ger.GetWorksheet(doc, "Rodape"); // ======= PREENCHE OS DADOS =============================================== if (lstDADOS.Count > 0) { if (origem == "OrdemServico") // remove cabecalho e oculta coluna A { // remove cabecalhos Cell cell_A1 = ger.InsertCellInWorksheet("A", 1, worksheet); string letra = "A"; for (int t = 82; t < 88; t++) { if (t > 82) { letra = ((char)t).ToString(); } for (int m = 5; m <= 7; m++) { ger.copyCell(doc, worksheet, cell_A1, letra, Convert.ToUInt32(m)); } } DocumentFormat.OpenXml.Spreadsheet.Columns columns = worksheet.Elements <DocumentFormat.OpenXml.Spreadsheet.Columns>().FirstOrDefault(); DocumentFormat.OpenXml.Spreadsheet.Column col = columns.GetFirstChild <DocumentFormat.OpenXml.Spreadsheet.Column>(); //col.Width = 0; col.Hidden = DocumentFormat.OpenXml.BooleanValue.FromBoolean(true); } for (int li = 0; li < lstDADOS.Count; li++) { for (int col = 65; col < 87; col++) // VARRE as COLUNAS A até V { if ((origem == "OrdemServico") && (col >= 83)) { break; } Cell cell = ger.InsertCellInWorksheet(((char)col).ToString(), Convert.ToUInt32(li + 9), worksheet); cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell.StyleIndex = cell_estilo(lstDADOS[li].clo_id, false, ref worksheetRodape); switch (col) { case 65: if (origem == "Inspecao") { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].obj_codigo)); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 66: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].item)); break; case 67: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].obj_descricao)); break; } if (lstDADOS[li].ian_id > 0) { cell.StyleIndex = cell_estilo(lstDADOS[li].clo_id, true, ref worksheetRodape); switch (col) { case 68: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ian_localizacao_especifica)); break; case 69: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ian_numero)); break; case 70: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].leg_codigo)); break; case 71: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].atp_codigo)); break; case 72: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ale_codigo)); break; case 73: if (ger.IsNumeric(lstDADOS[li].ian_quantidade)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_quantidade))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 74: if (ger.IsNumeric(lstDADOS[li].ian_espacamento)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_espacamento))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 75: if (ger.IsNumeric(lstDADOS[li].ian_largura)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_largura))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 76: if (ger.IsNumeric(lstDADOS[li].ian_comprimento)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_comprimento))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 77: if (ger.IsNumeric(lstDADOS[li].ian_abertura_minima)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_abertura_minima))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 78: if (ger.IsNumeric(lstDADOS[li].ian_abertura_maxima)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_abertura_maxima))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 79: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].aca_codigo)); break; case 80: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ian_fotografia)); break; case 81: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ian_croqui)); break; case 82: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].ian_observacoes)); break; case 83: if (origem == "Inspecao") { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstDADOS[li].rpt_id_sugerido_codigo)); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 84: if (origem == "Inspecao") { if (lstDADOS[li].ian_quantidade_sugerida > 0) { //cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; //cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_quantidade_sugerida))); cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[li].ian_quantidade_sugerida.ToString() + " " + lstDADOS[li].rpt_id_sugerido_unidade); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 85: if (origem == "Inspecao") { if ((ger.IsNumeric(lstDADOS[li].rpt_id_adotado)) && (Convert.ToDecimal(lstDADOS[li].rpt_id_adotado) > 0)) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].rpt_id_adotado))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 86: if (origem == "Inspecao") { if (lstDADOS[li].ian_quantidade_adotada > 0) { // cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; // cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].ian_quantidade_adotada))); cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[li].ian_quantidade_adotada.ToString() + " " + lstDADOS[li].rpt_id_adotado_unidade); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; case 87: if (origem == "Inspecao") { if (lstDADOS[li].apt_id > 0) { cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstDADOS[li].apt_id))); } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } } else { cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(""); } break; } } } // for col } // for li // ============ coloca o rodape ================================================ uint LinhaDestino = (uint)lstDADOS.Count + 8; for (int li = 1; li <= 3; li++) { for (int col = 65; col < 87; col++) // VARRE as COLUNAS A até V { // copia o Quadro A da planilha "Rodape" para o rodape dos dados Cell cellOrigem = ger.InsertCellInWorksheet(((char)col).ToString(), Convert.ToUInt32(li), worksheetRodape); ger.copyCell(doc, worksheet, cellOrigem, ((char)col).ToString(), Convert.ToUInt32(li + LinhaDestino)); } // mescla as celulas if (li == 1) { ger.MergeCells(worksheet, "B" + (li + LinhaDestino).ToString(), "V" + (li + LinhaDestino).ToString()); } else { ger.MergeCells(worksheet, "A" + (li + LinhaDestino).ToString(), "E" + (li + LinhaDestino).ToString()); ger.MergeCells(worksheet, "F" + (li + LinhaDestino).ToString(), "V" + (li + LinhaDestino).ToString()); } } // preenche os valores Cell cell2 = ger.InsertCellInWorksheet("C", 2, worksheet); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell2.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[0].obj_codigo_TipoOAE); cell2 = ger.InsertCellInWorksheet("R", 2, worksheet); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell2.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[0].ins_anom_data); cell2 = ger.InsertCellInWorksheet("C", 3, worksheet); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell2.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[0].ins_anom_Responsavel); cell2 = ger.InsertCellInWorksheet("G", (LinhaDestino + 2), worksheet); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell2.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[0].ins_anom_quadroA_1); // cell2.StyleIndex = cell_Modelo4.StyleIndex; cell2 = ger.InsertCellInWorksheet("G", (LinhaDestino + 3), worksheet); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cell2.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(lstDADOS[0].ins_anom_quadroA_2); // cell2.StyleIndex = cell_Modelo4.StyleIndex; // ============ coloca o rodape Observacoes ================================================ int li2 = 4; for (int col = 65; col < 87; col++) // VARRE as COLUNAS A até V { // copia Obs da planilha "Rodape" para o rodape dos dados Cell cellOrigem = ger.InsertCellInWorksheet(((char)col).ToString(), Convert.ToUInt32(li2), worksheetRodape); ger.copyCell(doc, worksheet, cellOrigem, ((char)col).ToString(), Convert.ToUInt32(li2 + LinhaDestino)); } // mescla as celulas ger.MergeCells(worksheet, "A" + (li2 + LinhaDestino).ToString(), "V" + (li2 + LinhaDestino + 6).ToString()); // ajusta a altura da linha Row linhaObs = ger.GetRow(worksheet, 4 + LinhaDestino); } // fecha o arquivo e retorna doc.Save(); doc.Close(); } // using return(arquivo_saida); } // try catch (Exception ex) { saida = ex.ToString(); } return(""); }
/// <summary> /// Preenche Orcamento em Excel e disponibiliza para download /// </summary> /// <param name="orc_id">Id do Orçamento</param> /// <returns>string</returns> public string Orcamento_ExportarXLS(int orc_id) { string arquivo_modelo_caminhoFull = System.Web.HttpContext.Current.Server.MapPath("~/Reports/Modelo_Orcamento.xlsx"); string arquivo_saida = "Orcamento_" + DateTime.Now.ToString().Replace(" ", "").Replace(":", "").Replace("/", "") + ".xlsx"; string arquivo_saida_caminhoFull = System.Web.HttpContext.Current.Server.MapPath("~/temp/") + "/" + arquivo_saida; string arquivo_saida_caminho_virtual = HttpContext.Current.Request.Url.Host + "/temp/" + arquivo_saida; string saida = ""; List <string> Headers = new List <string>(); int nLinhaVisivel = 99; int ultimaLinha = 352; int desloc_linha = 131; Gerais ger = new Gerais(); try { // apaga arquivos antigos da pasta temp new ObjetoBLL().limpaArquivosAntigos(); File.Copy(arquivo_modelo_caminhoFull, arquivo_saida_caminhoFull); // faz busca os DADOS no banco List <OrcamentoDetalhes> lstOrcamentoDetalhes = new OrcamentoDAO().OrcamentoDetalhes_ListAll(orc_id, 1); List <ServicosAdicionados> lstOrcamento_Servicos_Adicionados = new OrcamentoDAO().Orcamento_Servicos_Adicionados_ListAll(orc_id, 0); // Abre a planilha para edicao using (SpreadsheetDocument doc = SpreadsheetDocument.Open(arquivo_saida_caminhoFull, true)) { // LEITURA DA PLANILHA Worksheet worksheet = ger.GetWorksheet(doc, "Orcamento"); // ======= PREENCHE OS DADOS =============================================== string valor = ""; decimal qtAdotadaValor = -1; // pega o estilo da planilha estilos: borda direita preta e borda direita +fonte vermelha Worksheet worksheet_estilos = ger.GetWorksheet(doc, "estilos"); Cell cell_BordaDireita = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(1)); Cell cell_BordaDireita_Fonte_Vermelha = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(2)); Cell cell_Fonte_Vermelha_Centralizado = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(3)); Cell cell_BordaDireita_Centralizado = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(4)); Cell cell_BordaDireita_Fonte_Vermelha_Centralizado = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(5)); Cell cell_Fonte_Vermelha_Direita = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(6)); Cell cell_Borda_Superior = ger.GetCell(worksheet_estilos, "B", Convert.ToUInt32(7)); // preenchimento do grid Tabelao for (int li = 0; li < lstOrcamentoDetalhes.Count; li++) { // TABELA HEADER COM OS DADOS DA 1A LINHA if (li == 0) { for (int li2 = 4; li2 <= 11; li2++) { Cell cell = ger.GetCell(worksheet, "B", Convert.ToUInt32(li2)); cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; switch (li2) { case 4: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_cod_orcamento)); break; case 5: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_versao)); break; case 6: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_descricao)); break; case 7: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].ocs_descricao)); break; case 8: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_objetos_associados)); break; case 9: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_data_validade)); break; case 10: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_data_base)); break; case 11: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[0].orc_ativo)); break; } } Cell cellTitulo = ger.GetCell(worksheet, "A", Convert.ToUInt32(2)); cellTitulo.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; cellTitulo.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString("Orçamento " + lstOrcamentoDetalhes[0].orc_cod_orcamento + " versão " + lstOrcamentoDetalhes[0].orc_versao.ToString())); Cell cell1 = ger.GetCell(worksheet, "D", Convert.ToUInt32(124)); cell1.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell1.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[0].valor_total_adotado))); Cell cell2 = ger.GetCell(worksheet, "D", Convert.ToUInt32(126)); cell2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell2.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[0].valor_total_sugerido))); } // VARRE as COLUNAS A até X para preenchimento do tabelao for (int col = 65; col <= 88; col++) { Cell cell = ger.GetCell(worksheet, ((char)col).ToString(), Convert.ToUInt32(li + desloc_linha)); cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; // coloca os valores switch (col) { case 65: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].obj_codigoOAE)); break; case 67: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].obj_codigoElemento)); break; case 69: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].ian_numero)); break; case 70: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].atp_codigo)); break; case 71: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].leg_codigo)); break; case 72: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].ale_codigo)); break; case 73: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].aca_codigo)); break; case 74: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.StyleIndex = cell_BordaDireita_Centralizado.StyleIndex; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade))); break; case 75: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].rpt_id_sugerido_codigo)); break; case 76: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_sugerida))); break; case 77: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamentoDetalhes[li].rpt_id_sugerido_unidade)); break; case 78: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_preco_unitario_sugerido))); break; case 80: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.StyleIndex = cell_BordaDireita.StyleIndex; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_valor_total_linha_sugerido))); break; case 81: cell.StyleIndex = cell_BordaDireita.StyleIndex; break; case 82: valor = lstOrcamentoDetalhes[li].rpt_id_adotado_codigo; qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { valor = lstOrcamentoDetalhes[li].rpt_id_sugerido_codigo; } if (lstOrcamentoDetalhes[li].rpt_id_adotado_codigo != lstOrcamentoDetalhes[li].rpt_id_sugerido_codigo) { cell.StyleIndex = cell_Fonte_Vermelha_Centralizado.StyleIndex; } cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(valor)); break; case 83: decimal valor1 = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { valor1 = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_sugerida); } if (lstOrcamentoDetalhes[li].ian_quantidade_adotada != lstOrcamentoDetalhes[li].ian_quantidade_sugerida) { cell.StyleIndex = cell_Fonte_Vermelha_Centralizado.StyleIndex; } cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(valor1))); break; case 84: valor = lstOrcamentoDetalhes[li].rpt_id_adotado_unidade; qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { valor = lstOrcamentoDetalhes[li].rpt_id_sugerido_unidade; } if (lstOrcamentoDetalhes[li].rpt_id_adotado_unidade != lstOrcamentoDetalhes[li].rpt_id_sugerido_unidade) { cell.StyleIndex = cell_Fonte_Vermelha_Centralizado.StyleIndex; } cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(valor)); break; case 85: decimal valor2 = Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_preco_unitario_adotado); qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { valor2 = Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_preco_unitario_sugerido); } if (lstOrcamentoDetalhes[li].rtu_preco_unitario_adotado != lstOrcamentoDetalhes[li].rtu_preco_unitario_sugerido) { cell.StyleIndex = cell_Fonte_Vermelha_Direita.StyleIndex; } cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(valor2))); break; case 87: decimal valor3 = Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_valor_total_linha_adotado); qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { valor3 = Convert.ToDecimal(lstOrcamentoDetalhes[li].rtu_valor_total_linha_sugerido); } if (lstOrcamentoDetalhes[li].rtu_valor_total_linha_adotado != lstOrcamentoDetalhes[li].rtu_valor_total_linha_sugerido) { cell.StyleIndex = cell_Fonte_Vermelha_Direita.StyleIndex; } cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(valor3))); break; case 88: qtAdotadaValor = Convert.ToDecimal(lstOrcamentoDetalhes[li].ian_quantidade_adotada); if (qtAdotadaValor == 0) { cell.StyleIndex = cell_Fonte_Vermelha_Direita.StyleIndex; } break; } } } // coloca borda inferior na ultima linha for (int col = 65; col <= 88; col++) { Cell cell = ger.GetCell(worksheet, ((char)col).ToString(), Convert.ToUInt32(lstOrcamentoDetalhes.Count + desloc_linha)); cell.StyleIndex = cell_Borda_Superior.StyleIndex; } // **** PREENCHIMENTO DO GRID SERVICOS ADICIONADOS ********************************************* desloc_linha = 19; for (int li = 0; li < lstOrcamento_Servicos_Adicionados.Count; li++) { for (int col = 65; col <= 78; col++) // VARRE as COLUNAS A até N { Cell cell = ger.GetCell(worksheet, ((char)col).ToString(), Convert.ToUInt32(li + desloc_linha)); cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.String; // coloca os valores switch (col) { case 65: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].obj_codigo)); break; case 67: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].ose_quantidade)); break; case 68: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].UnidMed)); break; case 69: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].CodSubItem)); break; case 70: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].NomeSubItem)); break; case 74: cell.CellValue = new DocumentFormat.OpenXml.Spreadsheet.CellValue(Convert.ToString(lstOrcamento_Servicos_Adicionados[li].ose_fase)); break; case 75: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamento_Servicos_Adicionados[li].PrecoUnit))); break; case 77: cell.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cell.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamento_Servicos_Adicionados[li].valor_total_linha))); break; } } } // coloca borda inferior na ultima linha for (int col = 65; col <= 78; col++) { Cell cell = ger.GetCell(worksheet, ((char)col).ToString(), Convert.ToUInt32(lstOrcamento_Servicos_Adicionados.Count + desloc_linha)); cell.StyleIndex = cell_Borda_Superior.StyleIndex; } // oculta as linhas em branco a mais for (int k = lstOrcamento_Servicos_Adicionados.Count + desloc_linha + 1; k < 123; k++) { Row refRow = ger.GetRow(worksheet, Convert.ToUInt16(k)); refRow.Hidden = new BooleanValue(true); // oculta a linha } // prenche os totais dos servicos adicionados if (lstOrcamento_Servicos_Adicionados.Count > 0) { decimal valorGeral = Convert.ToDecimal(lstOrcamento_Servicos_Adicionados[0].valor_total) + Convert.ToDecimal(lstOrcamentoDetalhes[0].valor_total_adotado); Cell cellTitulo1 = ger.GetCell(worksheet, "B", Convert.ToUInt32(13)); cellTitulo1.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cellTitulo1.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(valorGeral))); Cell cellTitulo2 = ger.GetCell(worksheet, "D", Convert.ToUInt32(15)); cellTitulo2.DataType = DocumentFormat.OpenXml.Spreadsheet.CellValues.Number; cellTitulo2.CellValue = new CellValue(DocumentFormat.OpenXml.DecimalValue.FromDecimal(Convert.ToDecimal(lstOrcamento_Servicos_Adicionados[0].valor_total))); } // fecha o arquivo e retorna doc.Save(); doc.Close(); } return(arquivo_saida); } catch (Exception ex) { saida = "erro:" + ex.ToString(); } return(""); }
/// <summary> /// Copia o estilo de uma celula modelo /// </summary> /// <param name="clo_id">Id da classe do objeto</param> /// <param name="ehCentralizado">Centralizar?</param> /// <param name="worksheetRodape">Planilha modelo</param> /// <returns></returns> public DocumentFormat.OpenXml.UInt32Value cell_estilo(int clo_id, bool ehCentralizado, ref Worksheet worksheetRodape) { Gerais ger = new Gerais(); DocumentFormat.OpenXml.UInt32Value retorno; if (!ehCentralizado) { Cell cell_Modelo1 = ger.InsertCellInWorksheet("A", 5, worksheetRodape); Cell cell_Modelo2 = ger.InsertCellInWorksheet("A", 6, worksheetRodape); Cell cell_Modelo3 = ger.InsertCellInWorksheet("A", 7, worksheetRodape); Cell cell_Modelo4 = ger.InsertCellInWorksheet("A", 8, worksheetRodape); if (clo_id == 6) { retorno = cell_Modelo1.StyleIndex; } else if ((clo_id == 7) || (clo_id == 8)) { retorno = cell_Modelo2.StyleIndex; } else if (clo_id == 9) { retorno = cell_Modelo3.StyleIndex; } else { retorno = cell_Modelo4.StyleIndex; } } else { Cell cell_Modelo1_centralizado = ger.InsertCellInWorksheet("B", 5, worksheetRodape); Cell cell_Modelo2_centralizado = ger.InsertCellInWorksheet("B", 6, worksheetRodape); Cell cell_Modelo3_centralizado = ger.InsertCellInWorksheet("B", 7, worksheetRodape); Cell cell_Modelo4_centralizado = ger.InsertCellInWorksheet("B", 8, worksheetRodape); if (clo_id == 6) { retorno = cell_Modelo1_centralizado.StyleIndex; } else if ((clo_id == 7) || (clo_id == 8)) { retorno = cell_Modelo2_centralizado.StyleIndex; } else if (clo_id == 9) { retorno = cell_Modelo3_centralizado.StyleIndex; } else { retorno = cell_Modelo4_centralizado.StyleIndex; } } return(retorno); }
/// <summary> /// Altera os dados da Ordem de Servico no Banco /// </summary> /// <param name="ord">Ordem de Servico</param> /// <returns>string</returns> public string OrdemServico_Salvar(OrdemServico ord) { int sos_id_anterior = new OrdemServicoDAO().StatusOS(ord.ord_id); Usuario paramUsuario = (Usuario)System.Web.HttpContext.Current.Session["Usuario"]; int retorno = new OrdemServicoDAO().OrdemServico_Salvar(ord, paramUsuario.usu_id, paramUsuario.usu_ip); string sretorno = ""; List <OSEmail> email = null; int email_Enviar_Emails = Convert.ToInt16(new ParametroDAO().Parametro_GetValor("email_Enviar_Emails")); if (sos_id_anterior != ord.sos_id) { // se O.S. Orcamento for de "Em Revisao" para "Encerrada", o sistema informa que a OAE com dados em revisão será excluída da OS de Orçamento através de mensagem na tela e no e-mail if ((sos_id_anterior == 18) && (ord.sos_id == 14) && (ord.tos_id == 11)) { // busca a mensagem de tela para retornar email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 24); // id da mensagem sretorno = email[0].mensagem; // enviar email if (retorno > 0) { if (email_Enviar_Emails != 0) { ParamsEmail pEmail = new ParametroBLL().Parametro_ListAllParamsEmail()[0]; string retornoEmail = ""; email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 25); // id da mensagem // envia o email pEmail.Para = email[0].destinatarios; pEmail.Assunto = email[0].assunto; pEmail.Texto = email[0].mensagem; AlternateView av2 = null; if (pEmail.IsBodyHtml) { av2 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } if (pEmail.Para.Trim() != "") { retornoEmail = new Gerais().MandaEmail(av2, pEmail); } } } } else { // se retorno > 0 entao verifica se tem que mandar email if (email_Enviar_Emails != 0) { if (retorno > 0) // salvou com sucesso { // checa sincronizacao OAEs e Regionais por conta dos emails das Regionais List <OAE> oaes = new IntegracaoDAO().get_OAEs(); List <Regional> regionais = new IntegracaoDAO().get_Regionais(); ParamsEmail pEmail = new ParametroBLL().Parametro_ListAllParamsEmail()[0]; AlternateView av1 = null; string retornoEmail = ""; // "E" = 14 = encerrada if ((ord.sos_codigo == "E") || (ord.sos_id == 14)) { // cadastral(7), rotineira(8) : email para Regional id mensagem #1 if ((ord.tos_id == 7) || (ord.tos_id == 8)) { // verifica se tem apontamentos de serviços e quantitativos na OS int qt = new OrdemServicoDAO().OrdemServico_ChecaApontamentoServicos(ord.ord_id); // se tem, entao manda o email if (qt > 0) { email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 1); // id da mensagem = 1 // envia o email pEmail.Para = email[0].destinatarios; pEmail.Assunto = email[0].assunto; pEmail.Texto = email[0].mensagem; AlternateView av2 = null; if (pEmail.IsBodyHtml) { av2 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } if (pEmail.Para.Trim() != "") { retornoEmail = new Gerais().MandaEmail(av2, pEmail); } } } // cadastral(7), rotineira(8) if ((ord.tos_id == 7) || (ord.tos_id == 8)) { // Sistema notifica a Seção de OAE da Sede o encerramento da OS email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 2); // id mensagem #2 } else if (ord.tos_id == 9) // O.S. especial(9) { // Sistema notifica a Seção de OAE da Sede o encerramento da OS email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 8); // id mensagem #8 } else if (ord.tos_id == 11)// Orçamento (11) { // Sistema notifica a Seção de OAE da Sede o encerramento da OS email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 13); // id da mensagem = 13 } else if ((ord.tos_id == 5) || (ord.tos_id == 10) || // Inspeção Extraordinária, Monitoramento, Ensaios, Levantamento Cadastral, Conserva,Projeto de OAE (ord.tos_id == 16) || (ord.tos_id == 17) || (ord.tos_id == 22) || (ord.tos_id == 24)) { // Sistema notifica a Seção de OAE da Sede o encerramento da OS email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 3); // id da mensagem = 3 } else if (ord.tos_id == 18) // ocorrencia (18) { // enviar e-mail para a seção de OAE e para a Regional email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 5); // id da mensagem = 5 } else { int mudouNotas = new OrdemServicoDAO().MudouNotas(ord.ord_id); if ((mudouNotas == 0) && ((ord.tos_id == 14) || (ord.tos_id == 23))) { if (ord.tos_id == 14) // Recuperação/Reparo(14) { // enviar e-mail para a seção de OAEl email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 17); } else if (ord.tos_id == 23) // Execucao de Obra Nova { // enviar e-mail para a seção de OAE email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 18); } } else { if ((ord.tos_id == 14) || (ord.tos_id == 13)) // Recuperação/Reparo(14) // Projeto de Reforço(13) { // enviar e-mail para a seção de OAE e para a Regional email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 15); // id da mensagem = 15 } else if (ord.tos_id == 23) // Execucao de Obra Nova { // enviar e-mail para a seção de OAE e para a Regional email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 16); // id da mensagem = 16 } } } // envia o email if (email != null) { pEmail.Para = email[0].destinatarios; pEmail.Assunto = email[0].assunto; pEmail.Texto = email[0].mensagem; if (pEmail.IsBodyHtml) { av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } retornoEmail = new Gerais().MandaEmail(av1, pEmail); } } else { // "EXEC = 11 = executada if ((ord.sos_codigo == "EXEC") || (ord.sos_id == 11)) { //Recuperação / Reparo(14), Execução de Obras(23) if ((ord.tos_id == 13) || (ord.tos_id == 14) || (ord.tos_id == 23)) { //Enviar e-mail para a seção de OAE if ((ord.tos_id == 14) || (ord.tos_id == 13)) // Recuperação/Reparo(14) // Projeto de Reforço(13) { email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 6); } else { email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, 14); } pEmail.Para = email[0].destinatarios; pEmail.Assunto = email[0].assunto; pEmail.Texto = email[0].mensagem; // envia o email if (pEmail.IsBodyHtml) { av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } retornoEmail = new Gerais().MandaEmail(av1, pEmail); } } else { if ((ord.sos_codigo == "CORR") || (ord.sos_id == 13)) // Reaberta para Correção { // cadastral(7), rotineira(8), Especial(9) if ((ord.tos_id == 9) || (ord.tos_id == 7) || (ord.tos_id == 8)) { int msgid = 7; if (ord.tos_id == 9) // Especial(9) { msgid = 9; } //Enviar e-mail para a seção de OAE email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, msgid); // mensagem id #7 para cadastral/rotineira; #9 para especial pEmail.Para = email[0].destinatarios; pEmail.Assunto = email[0].assunto; pEmail.Texto = email[0].mensagem; // envia o email if (pEmail.IsBodyHtml) { av1 = AlternateView.CreateAlternateViewFromString(pEmail.Texto, null, "text/html"); } retornoEmail = new Gerais().MandaEmail(av1, pEmail); } } } } } } if ((ord.tos_id == 9) && (ord.sos_id == 13)) // Especial(9) Reaberta para Correção { if (retorno < 0) { // busca a mensagem de tela para retornar email = new OrdemServicoDAO().OSEmail_ID(ord.ord_id, -retorno); // id da mensagem sretorno = email[0].mensagem; } } } } return(sretorno); }