protected void btnEncaminharFooter_Click(object sender, EventArgs e) { TramiteCtrl controleTramite = new TramiteCtrl(); Assunto controleAssunto = new Assunto(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); UsuariosControle ctrlUsu = new UsuariosControle(); Model.Tramite tramite = new Model.Tramite(); tramite._dataEnvio = DateTime.Now; tramite._despacho = txtDespacho.Text; tramite.Situacao._id = int.Parse(cbbSituacao.Value.ToString()); tramite.Proc._IDPROC = int.Parse(txtTeste.Text); tramite.UndFuncDestino.ID = int.Parse(cbbUnidadeFuncional.SelectedItem.Value.ToString()); tramite.UndFuncOrigem.ID = int.Parse(controleUndFuncional.getUnidadeFuncionalAtual(txtTeste.Text)); tramite.UsuOrigem.UsuarioID = ctrlUsu.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).UsuarioID; if (cbbUsuario.SelectedItem != null) { tramite.UsuDestino.UsuarioID = int.Parse(cbbUsuario.SelectedItem.Value.ToString()); } if (controleAssunto.AssuntoTemFluxo(controleAssunto.GetAssuntoByNome(txtAssunto.Text))) { tramite.Fluxo._ID = controleUndFuncional.getProximoFluxoByProcesso(txtTeste.Text, cbbSituacao.Value.ToString(), cbbUnidadeFuncional.SelectedItem.Value.ToString()); } controleTramite.TramitarProcesso(tramite); DataSource.DataBind(); Grid.DataBind(); }
protected void FillcbbUsuarioCombo(string undFunc) { UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); if (string.IsNullOrEmpty(undFunc)) return; if (controleUndFuncional.getUndFuncByID(undFunc).permiteenviopessoa == "1") { dsUsuario.SelectParameters["@UNDFUNC"].DefaultValue = undFunc; cbbUsuario.DataBind(); } }
protected void btnEncaminharFooterExterno_Click(object sender, EventArgs e) { Model.Tramite tramite = new Model.Tramite(); TramiteCtrl controleTramite = new TramiteCtrl(); FluxoAssuntoCtrl controleFluxoAssunto = new FluxoAssuntoCtrl(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); UsuariosControle controleUsuarios = new UsuariosControle(); tramite._dataEnvio = DateTime.Now; tramite._despacho = txtEncaminhamentoExterno.Text; tramite.Situacao._id = int.Parse(cbbSituacaoExterno.SelectedItem.Value.ToString()); tramite.Proc._IDPROC = int.Parse(txtIDPROC.Text); tramite.UndFuncOrigem.ID = int.Parse(controleUndFuncional.getUnidadeFuncionalAtual(txtIDPROC.Text)); tramite.UsuOrigem.UsuarioID = controleUsuarios.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).UsuarioID; tramite.Fluxo._ID = int.Parse(controleFluxoAssunto.getFluxoAtual(txtIDPROC.Text)); tramite._orgaoExterno = int.Parse(cbbOrgaoExterno.SelectedItem.Value.ToString()); controleTramite.TramitarProcesso(tramite); controleTramite = null; controleUndFuncional = null; controleUsuarios = null; controleFluxoAssunto = null; tramite = null; GC.Collect(); DataSource.DataBind(); Grid.DataBind(); }
protected void FillcbbUnidadeFuncionalCombo(string undOrc) { Assunto controleAssunto = new Assunto(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); if (string.IsNullOrEmpty(undOrc)) return; if (!controleAssunto.AssuntoTemFluxo(controleAssunto.GetAssuntoByNome(txtAssunto.Text))) { dsUnidadeFuncional.SelectParameters["@UNDCOD"].DefaultValue = undOrc.Substring(2, 2); dsUnidadeFuncional.SelectParameters["@UNDORG"].DefaultValue = undOrc.Substring(0, 2); cbbUnidadeFuncional.DataBind(); } else { string idAssunto = controleAssunto.GetAssuntoByNome(txtAssunto.Text); System.Data.DataTable dtUnidadeFuncional = controleUndFuncional.getProximaUnidadeFuncionalByFluxoNova(txtTeste.Text, idAssunto, cbbSituacao.Value.ToString(), undOrc); cbbUnidadeFuncional.DataSourceID = string.Empty; cbbUnidadeFuncional.DataSource = dtUnidadeFuncional; cbbUnidadeFuncional.DataBind(); } controleAssunto = null; controleUndFuncional = null; GC.Collect(); }
protected void ASPxCallback2_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e) { if (string.IsNullOrEmpty(DIDLPCtrl.getSituacaoLiquidacao(e.Parameter.ToString().ToString())) && e.Parameter.ToString() != "EncaminharLiquidacao") { Assunto controleAssunto = new Assunto(); TramiteCtrl controleTramite = new TramiteCtrl(); Model.Tramite tramite = new Model.Tramite(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); UsuariosControle controleUsuarios = new UsuariosControle(); tramite._dataEnvio = DateTime.Now; tramite._despacho = txtDespacho.Text; tramite.Situacao._id = int.Parse(cbbSituacao.Value.ToString()); tramite.Proc._IDPROC = int.Parse(txtTeste.Text); tramite.UndFuncDestino.ID = int.Parse(cbbUnidadeFuncional.Value.ToString()); tramite.UndFuncOrigem.ID = int.Parse(controleUndFuncional.getUnidadeFuncionalAtual(txtTeste.Text)); tramite.UsuOrigem.UsuarioID = controleUsuarios.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).UsuarioID; if (cbbUsuario.SelectedItem != null) { tramite.UsuDestino.UsuarioID = int.Parse(cbbUsuario.SelectedItem.Value.ToString()); } if (controleAssunto.AssuntoTemFluxo(controleAssunto.GetAssuntoByNome(txtAssunto.Text))) { tramite.Fluxo._ID = controleUndFuncional.getProximoFluxoByProcesso(txtTeste.Text, cbbSituacao.Value.ToString(), cbbUnidadeFuncional.Value.ToString()); } controleTramite.TramitarProcesso(tramite); sqlDSCXAnalise.DataBind(); ASPxGridView2.DataBind(); controleAssunto = null; controleTramite = null; controleUndFuncional = null; controleUsuarios = null; tramite = null; GC.Collect(); e.Result = "EncaminhadoSemLiquidacao|"; } else { if (e.Parameter.ToString() == "EncaminharLiquidacao") { Assunto controleAssunto = new Assunto(); TramiteCtrl controleTramite = new TramiteCtrl(); Model.Tramite tramite = new Model.Tramite(); UndFuncionalCtrl controleUndFuncional = new UndFuncionalCtrl(); UsuariosControle controleUsuarios = new UsuariosControle(); tramite._dataEnvio = DateTime.Now; tramite._despacho = txtDespacho.Text; tramite.Situacao._id = int.Parse(cbbSituacao.Value.ToString()); tramite.Proc._IDPROC = int.Parse(txtTeste.Text); tramite.UndFuncDestino.ID = int.Parse(cbbUnidadeFuncional.Value.ToString()); tramite.UndFuncOrigem.ID = int.Parse(controleUndFuncional.getUnidadeFuncionalAtual(txtTeste.Text)); tramite.UsuOrigem.UsuarioID = controleUsuarios.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).UsuarioID; tramite.valor_liq = float.Parse(txtValor.Text); tramite.notaFiscal = txtNota.Text; tramite.dataLiquidacao = txtData.Text; tramite.dataAceiteNF = txtDataRecebimentoNota.Text; tramite.liqResponsavel = controleUsuarios.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).Nome; if (cbbUsuario.SelectedItem != null) { tramite.UsuDestino.UsuarioID = int.Parse(cbbUsuario.SelectedItem.Value.ToString()); } if (controleAssunto.AssuntoTemFluxo(controleAssunto.GetAssuntoByNome(txtAssunto.Text))) { tramite.Fluxo._ID = controleUndFuncional.getProximoFluxoByProcesso(txtTeste.Text, cbbSituacao.Value.ToString(), cbbUnidadeFuncional.Value.ToString()); } tramite.contasPagadoras = (DataTable)Session["ContasBanco"]; controleTramite.TramitarProcesso(tramite); Model.Envolvidos env = new Model.Envolvidos(); env._ID = EnvolvidoCtrl.getEnvolvidoByProcessoNumero(txtProcNumero.Value.ToString())._ID; env._banco = txtBanco.Value.ToString(); env._agencia = txtAgencia.Value.ToString(); env._DVagencia = txtDVAG.Value.ToString(); env._conta = txtConta.Value.ToString(); env._DVconta = txtDVCC.Value.ToString(); EnvolvidoCtrl.GravaDadosBancarios(env); ProcessoCtrl.GravaMesReferenciaByProcesso(txtProcNumero.Value.ToString(), txtMesReferencia.Value.ToString()); sqlDSCXAnalise.DataBind(); ASPxGridView2.DataBind(); controleAssunto = null; controleTramite = null; controleUndFuncional = null; controleUsuarios = null; tramite = null; GC.Collect(); e.Result = "EncaminhadoLiquidacao|" + txtTeste.Text; } else { if (!string.IsNullOrEmpty(DIDLPCtrl.getSituacaoLiquidacao(e.Parameter.ToString().ToString()))) { e.Result = "MostrarLiquidacao"; } } } }
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 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; }