/* protected void ASPxGridView1_StartRowEditing(object sender, DevExpress.Web.Data.ASPxStartRowEditingEventArgs e) { string idUndFunc = e.EditingKeyValue.ToString(); UnidadeFuncional undFunc = new UnidadeFuncional(); undFunc = UndFuncionalCtrl.getUndFuncByID(idUndFunc); ((ASPxGridView)sender).JSProperties["cptxtID"] = idUndFunc; ((ASPxGridView)sender).JSProperties["cptxtUndFun"] = undFunc.unidFuncNome; ((ASPxGridView)sender).JSProperties["cpCodUndOrc"] = undFunc.UndOrc.Org.orgCodigo.ToString() + undFunc.UndOrc.undCodigo.ToString(); ((ASPxGridView)sender).JSProperties["cpUndOrcText"] = undFunc.UndOrc.undNome; ((ASPxGridView)sender).JSProperties["cptxtSigla"] = undFunc.unidFuncSigla; ((ASPxGridView)sender).JSProperties["cptxtDataInicio"] = undFunc.unidFuncDataInicio.Year.ToString() + "," + (undFunc.unidFuncDataInicio.Month).ToString() + "," + undFunc.unidFuncDataInicio.Day.ToString(); ((ASPxGridView)sender).JSProperties["cptxtDataFim"] = undFunc.unidFuncDataFim.Year.ToString() + "," + (undFunc.unidFuncDataFim.Month).ToString() + "," + undFunc.unidFuncDataFim.Day.ToString(); ((ASPxGridView)sender).JSProperties["cptxtOP"] = "update"; e.Cancel = true; } */ protected void btnIncluir_Click(object sender, EventArgs e) { UnidadeFuncional undFunc = new UnidadeFuncional(); if (Request.QueryString["id"] != null) { txtID.Text = Request.QueryString["id"].ToString(); } if (!string.IsNullOrEmpty(txtID.Text)) { undFunc.ID = int.Parse(txtID.Text); } undFunc.unidFuncNome = txtUnidadeFuncional.Value.ToString(); undFunc.unidFuncDataInicio = DateTime.Parse(ASPxDateEdit1.Value.ToString()); if (string.IsNullOrEmpty(ASPxDateEdit2.Text)) { ASPxDateEdit2.Text = "01/01/0001"; } undFunc.unidFuncDataFim = DateTime.Parse(ASPxDateEdit2.Value.ToString()); undFunc.UndOrc.undCodigo = ASPxComboBox1.Value.ToString().Substring(2, 2); undFunc.UndOrc.Org.orgCodigo = ASPxComboBox1.Value.ToString().Substring(0, 2); undFunc.unidFuncSigla = txtSigla.Value.ToString(); string op = txtOP.Text; if (Request.QueryString["op"].ToString() == "new") { op = "insert"; } else { op = "update"; } UndFuncionalCtrl.Persistir(undFunc, op); Response.Redirect("../Views/CRUDUndFunc.aspx"); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack && !IsCallback) { if (Request.QueryString["op"].ToString() == "edt") { string idUndFunc = Request.QueryString["id"].ToString(); UnidadeFuncional undFunc = new UnidadeFuncional(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); undFunc = controleUndFuncional.getUndFuncByID(idUndFunc); //ASPxTextBox tb = new ASPxTextBox(); //tb.ID = "txtUnidadeFuncional"; //tb.Value = "Emerson"; ASPxComboBox1.Value = undFunc.UndOrc.Org.orgCodigo.ToString() + undFunc.UndOrc.undCodigo.ToString(); txtUnidadeFuncional.Value = undFunc.unidFuncNome; txtSigla.Value = undFunc.unidFuncSigla; ASPxDateEdit1.Value = undFunc.unidFuncDataInicio; ASPxDateEdit2.Value = undFunc.unidFuncDataFim; } } }
public UnidadeFuncional getUndFuncByID(string _undFunc) { FbConnection conn = Persist.GetConn.getConn(); conn.Open(); UnidadeFuncional undFunc = new UnidadeFuncional(); string sql = "select * from webunidadefuncional uf join unidadeorcamentaria uo on uo.undcodigo = uf.unidorccod and uo.undcodorgao = uf.unidorcorg "+ "where UNIDFUNCID = " + _undFunc; FbCommand comando = new FbCommand(sql, conn); FirebirdSql.Data.FirebirdClient.FbDataReader DR = comando.ExecuteReader(); while (DR.Read()) { undFunc.unidFuncNome = DR["UNIDFUNCNOME"].ToString(); undFunc.UndOrc.undCodigo = DR["UNIDORCCOD"].ToString(); undFunc.UndOrc.Org.orgCodigo = DR["UNIDORCORG"].ToString(); undFunc.unidFuncDataInicio =DateTime.Parse(DR["UNIDFUNCDATAINICIO"].ToString()); undFunc.ID = (int)DR["UNIDFUNCID"]; if (!string.IsNullOrEmpty(DR["UNIDFUNCDATAFIM"].ToString())) { undFunc.unidFuncDataFim = DateTime.Parse(DR["UNIDFUNCDATAFIM"].ToString()); } undFunc.unidFuncSigla = DR["UNIDFUNCSIGLA"].ToString(); undFunc.UndOrc.undNome = DR["UNDNOME"].ToString(); if (!string.IsNullOrEmpty(DR["UNIDFUNCPERMITEENVIOPESSOA"].ToString())) { undFunc.permiteenviopessoa = DR["UNIDFUNCPERMITEENVIOPESSOA"].ToString(); } else { undFunc.permiteenviopessoa = "0"; } } DR.Close(); comando.Dispose(); conn.Close(); //conn.Dispose(); return undFunc; }
public static string Persistir(UnidadeFuncional undFunc, string op) { string sql = ""; string retorno = ""; if (op.Equals("insert")) { AcessoDados.AcessoDados.abrirConn(); string sqlGen = "select gen_id(GEN_WEBUNIDADEFUNCIONAL_ID,1) from rdb$database"; FirebirdSql.Data.FirebirdClient.FbDataReader drGen = AcessoDados.AcessoDados.DataReader(sqlGen); while (drGen.Read()) { undFunc.ID = int.Parse(drGen["GEN_ID"].ToString()); } drGen.Close(); AcessoDados.AcessoDados.fecharConn(); string sqlEx = "Select UNIDFUNCNOME, UNIDFUNCSIGLA " + "FROM WEBUNIDADEFUNCIONAL " + "WHERE " + "(UNIDORCCOD = '" + undFunc.UndOrc.undCodigo + "' AND UNIDORCORG = '" + undFunc.UndOrc.Org.orgCodigo + "') AND (UNIDFUNCNOME = '" + undFunc.unidFuncNome + "' OR UNIDFUNCSIGLA = '" + undFunc.unidFuncSigla + "')"; AcessoDados.AcessoDados.abrirConn(); FirebirdSql.Data.FirebirdClient.FbDataReader DR = AcessoDados.AcessoDados.DataReader(sqlEx); int cont = 0; while(DR.Read()){ cont++; } DR.Close(); AcessoDados.AcessoDados.fecharConn(); if (cont == 0) { if (undFunc.unidFuncDataFim.Equals("01/01/0001")) { sql = "Insert into WEBUNIDADEFUNCIONAL(UNIDFUNCID,UNIDFUNCNOME,UNIDORCCOD,UNIDORCORG,UNIDFUNCDATAINICIO,UNIDFUNCSIGLA)" + "VALUES" + "(" + undFunc.ID + ",'" + undFunc.unidFuncNome + "','" + undFunc.UndOrc.undCodigo + "','" + undFunc.UndOrc.Org.orgCodigo + "','" + undFunc.unidFuncDataInicio.ToShortDateString().Replace("/", ".") + "','" + undFunc.unidFuncSigla + "')"; } else { sql = "Insert into WEBUNIDADEFUNCIONAL(UNIDFUNCID,UNIDFUNCNOME,UNIDORCCOD,UNIDORCORG,UNIDFUNCDATAINICIO,UNIDFUNCDATAFIM,UNIDFUNCSIGLA)" + "VALUES" + "(" + undFunc.ID + ",'" + undFunc.unidFuncNome + "','" + undFunc.UndOrc.undCodigo + "','" + undFunc.UndOrc.Org.orgCodigo + "','" + undFunc.unidFuncDataInicio.ToShortDateString().Replace("/", ".") + "','" + undFunc.unidFuncDataFim.ToShortDateString().Replace("/", ".") + "','" + undFunc.unidFuncSigla + "')"; } retorno = AcessoDados.AcessoDados.executar(sql); } } else { if (undFunc.unidFuncDataFim.Equals(DateTime.Parse("01/01/0001 00:00:00"))) { sql = "Update WEBUNIDADEFUNCIONAL set " + "UNIDFUNCNOME='" + undFunc.unidFuncNome + "'," + "UNIDORCCOD = '" + undFunc.UndOrc.undCodigo + "'," + "UNIDORCORG = '" + undFunc.UndOrc.Org.orgCodigo + "'," + "UNIDFUNCDATAINICIO = '" + undFunc.unidFuncDataInicio.ToShortDateString().Replace("/", ".") + "'," + "UNIDFUNCDATAFIM = null,"+ "UNIDFUNCSIGLA = '" + undFunc.unidFuncSigla + "' " + "where UNIDFUNCID = " + undFunc.ID; } else { sql = "Update WEBUNIDADEFUNCIONAL set " + "UNIDFUNCNOME='" + undFunc.unidFuncNome + "'," + "UNIDORCCOD = '" + undFunc.UndOrc.undCodigo + "'," + "UNIDORCORG = '" + undFunc.UndOrc.Org.orgCodigo + "'," + "UNIDFUNCDATAINICIO = '" + undFunc.unidFuncDataInicio.ToShortDateString().Replace("/", ".") + "'," + "UNIDFUNCDATAFIM = '" + undFunc.unidFuncDataFim.ToShortDateString().Replace("/", ".") + "'," + "UNIDFUNCSIGLA = '" + undFunc.unidFuncSigla + "' " + "where UNIDFUNCID = " + undFunc.ID; } retorno = AcessoDados.AcessoDados.executar(sql); } return retorno; }
public System.Data.DataTable getProximaUnidadeFuncionalByFluxoNova(string processoID, string idAssunto, string situacaoID, string undOrcID) { SituacaoCtrl controleSituacao = new SituacaoCtrl(); Assunto controleAssunto = new Assunto(); TramiteCtrl controleTramite = new TramiteCtrl(); FluxoAssuntoCtrl controleFluxoAssunto = new FluxoAssuntoCtrl(); string fluxoAtual = controleFluxoAssunto.getFluxoAtual(processoID); string unidCod = undOrcID.ToString().Substring(2, 2); string unidORG = undOrcID.ToString().Substring(0, 2); Situacao situacao = new Situacao(); List<string> UnidadesFuncionais = new List<string>(); string ordenacao = ""; string sqlAssunto = "select * from webassunto where id = " + idAssunto; //Verifica se Assunto tem fluxo definido FbConnection conn = Persist.GetConn.getConn(); conn.Open(); FbCommand cmdAssunto = new FbCommand(sqlAssunto, conn); FirebirdSql.Data.FirebirdClient.FbDataReader drAssunto = cmdAssunto.ExecuteReader(); while (drAssunto.Read()) { ordenacao = drAssunto["EXIGEORDENACAO"].ToString(); } drAssunto.Close(); drAssunto.Dispose(); cmdAssunto.Dispose(); if (!ordenacao.Equals("1")) //Se não tem fluxo definido... { string sqlUND = "Select * from webunidadefuncional where unidorccod = " + unidCod + " unidorcorg = " + unidORG; FbCommand cmdUND = new FbCommand(sqlUND, conn); FirebirdSql.Data.FirebirdClient.FbDataReader drUND = cmdUND.ExecuteReader(); while (drUND.Read()) { UnidadesFuncionais.Add(drUND["UNIDFUNCID"].ToString()); } drUND.Close(); drUND.Dispose(); cmdUND.Dispose(); } else//Se tem fluxo definido... { if (controleSituacao.ehFinalDeFluxo(situacaoID)) //Se Situação selecionada indicar fim de fluxo { UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); string undFunc = controleUndFuncional.getUnidadeFuncionalArquivo(); UnidadesFuncionais.Add(undFunc); } else { if (controleSituacao.TramiteTemSituacaoDeExcessao(controleTramite.RetornaUltimoTramite(processoID).ToString())) //Se o tramite indica um Fluxo que não seja natural (volta à um passo a frente) { string FlagSituacaoVolta = ""; string sqlExcVolta = "Select FLAG_SITUACAO_VOLTA from WEBTRAMITE WHERE ID = " + controleTramite.RetornaUltimoTramite(processoID).ToString(); FbCommand cmdExcVolta = new FbCommand(sqlExcVolta, conn); FirebirdSql.Data.FirebirdClient.FbDataReader drEX = cmdExcVolta.ExecuteReader(); while (drEX.Read()) { FlagSituacaoVolta = drEX["FLAG_SITUACAO_VOLTA"].ToString(); } drEX.Close(); drEX.Dispose(); cmdExcVolta.Dispose(); string sqlExc = "select * from unidadeorcamentaria uo " + "join webunidadefuncional uf on uf.unidorccod = uo.undcodigo and uf.unidorcorg = uo.undcodorgao " + "join webfluxoassunto fa on fa.idundfuncional = uf.unidfuncid " + "where fa.fluxoID = " + FlagSituacaoVolta + " and fa.idassunto = " + idAssunto; FbCommand cmdExc = new FbCommand(sqlExc, conn); FirebirdSql.Data.FirebirdClient.FbDataReader dr = cmdExc.ExecuteReader(); while (dr.Read()) { UnidadesFuncionais.Add(dr["UNIDFUNCID"].ToString()); } dr.Close(); dr.Dispose(); cmdExc.Dispose(); } else { object situacaoRetorno = null; object flagOrigem = null; string sqlSituacao = "Select * from WEBSITUACAOPROCESSO WHERE ID = " + situacaoID; //Verifica situacao do processo selecionada pelo usuario FbConnection connSit = Persist.GetConn.getConn(); FbCommand cmdSituacao = new FbCommand(sqlSituacao, connSit); connSit.Open(); FirebirdSql.Data.FirebirdClient.FbDataReader drSituacao = cmdSituacao.ExecuteReader(); while (drSituacao.Read()) { situacaoRetorno = drSituacao["FLUXOID"]; flagOrigem = drSituacao["FLAGORIGEM"]; } connSit.Close(); drSituacao.Close(); drSituacao.Dispose(); cmdSituacao.Dispose(); if (!string.IsNullOrEmpty(flagOrigem.ToString())) { if (string.IsNullOrEmpty(situacaoRetorno.ToString())) { object unidFuncional = null; string sql = "select first 1 idundfuncorigem from webtramite where idprocesso = " + processoID + "ORDER BY ID ASC"; FbCommand cmd = new FbCommand(sql, conn); FirebirdSql.Data.FirebirdClient.FbDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { unidFuncional = dr["IDUNDFUNCORIGEM"]; UnidadesFuncionais.Add(dr["IDUNDFUNCORIGEM"].ToString()); } dr.Close(); dr.Dispose(); cmd.Dispose(); } else {//ALTERACAO 04062014 object unidFuncional = null; string sql = "select (CASE WHEN IDUNDFUNCIONAL IS NULL THEN (select first 1 idundfuncorigem from webtramite where idprocesso = " + processoID + " ORDER BY ID ASC)"+ " ELSE IDUNDFUNCIONAL END) IDUNDFUNCIONAL from webfluxoassunto WHERE FLUXOID = " + situacaoRetorno; FbCommand cmd = new FbCommand(sql, conn); FirebirdSql.Data.FirebirdClient.FbDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { unidFuncional = dr["IDUNDFUNCIONAL"]; UnidadesFuncionais.Add(dr["IDUNDFUNCIONAL"].ToString()); } dr.Close(); dr.Dispose(); cmd.Dispose(); } } else { if (string.IsNullOrEmpty(situacaoRetorno.ToString()))// Se não tem parametro de retorno definido -> Segue Fluxo normal { object unidFuncional = null; string sqlFluxo = "select fluxoID, ordem," + "(CASE WHEN idundfuncional IS NULL then (select first 1 TRA.idundfuncorigem from webtramite TRA where idprocesso = " + processoID + " order by id ASC) " + " ELSE " + " (select IDUNDFUNCIONAL from web_fluxo_filhos flf1 join webfluxoassunto flx1 on flx1.fluxoid = flf1.id_fluxo_filho " + " where flf1.id_fluxo_filho = flf.id_fluxo_filho and flf1.id_fluxo_pai = flf.id_fluxo_pai) END) UNDFUNC " + "from web_fluxo_filhos flf join webfluxoassunto flx on flf.id_fluxo_filho = flx.fluxoid " + "where flf.id_fluxo_pai = ( select first 1 FluxoID from webtramite tra where tra.idprocesso = " + processoID + " order by ID desc)"; //CORREÇÃO 21/03/2014 FbConnection connFlx = Persist.GetConn.getConn(); FbCommand cmd = new FbCommand(sqlFluxo, connFlx); connFlx.Open(); FirebirdSql.Data.FirebirdClient.FbDataReader drFluxo = cmd.ExecuteReader(); while (drFluxo.Read()) { unidFuncional = drFluxo["UNDFUNC"]; UnidadesFuncionais.Add(drFluxo["UNDFUNC"].ToString()); } connFlx.Close(); drFluxo.Close(); drFluxo.Dispose(); cmd.Dispose(); } else //Se a situacao selecionada tem paramtro de retorno definido -> Buscar a Unidade Funcional referente ao fluxo definido como retorno na situacao { object unidFuncional = null; string sqlRetorno = "Select " + "CASE WHEN IDUNDFUNCIONAL IS NULL THEN " + " (SELECT FIRST 1 TRA.idundfuncorigem FROM WEBTRAMITE TRA WHERE IDPROCESSO = " + processoID + ") " + " ELSE IDUNDFUNCIONAL end IDUNDFUNC " + "from WEBFLUXOASSUNTO where FLUXOID = " + situacaoRetorno.ToString(); FbCommand cmd = new FbCommand(sqlRetorno, conn); FirebirdSql.Data.FirebirdClient.FbDataReader drRet = cmd.ExecuteReader(); while (drRet.Read()) { unidFuncional = drRet["IDUNDFUNC"].ToString(); UnidadesFuncionais.Add(drRet["IDUNDFUNC"].ToString()); } drRet.Close(); drRet.Dispose(); cmd.Dispose(); } } } } conn.Close(); } System.Data.DataTable table = new System.Data.DataTable(); table.Columns.Add("UNIDFUNCID", typeof(string)); table.Columns.Add("UNIDFUNCNOME", typeof(string)); foreach (string UndFunc in UnidadesFuncionais) { UnidadeFuncional undFunc = new UnidadeFuncional(); undFunc = getUndFuncByID(UndFunc); System.Data.DataRow[] drow = table.Select("UNIDFUNCID =" + undFunc.ID); table.Rows.Add(undFunc.ID, undFunc.unidFuncNome); } conn.Close(); //conn.Dispose(); controleSituacao = null; controleAssunto = null; controleTramite = null; controleFluxoAssunto = null; situacao = null; return table; }