示例#1
0
        public System.Data.DataTable getSituacaoByPerfilAssuntoFluxo(string assunto, string processo, string centroCusto)
        {
            string idUsu = "";
            string fluxo = "";
            string sql = "";
            Assunto controleAssunto = new Assunto();
            FluxoAssuntoCtrl controleFlucoAssunto = new FluxoAssuntoCtrl();
            ObjetivoComumDeGastoCtrl controleObjetivo = new ObjetivoComumDeGastoCtrl();
            UsuariosControle controleUsuarios = new UsuariosControle();

            assunto = controleAssunto.GetAssuntoByNome(assunto);
            idUsu = controleUsuarios.GetUsuarioByLogin(HttpContext.Current.Session["pUId"].ToString()).UsuarioID.ToString();
            fluxo = controleFlucoAssunto.getFluxoAtual(processo);

            string objComumGastos = controleObjetivo.testeTelaOGC(fluxo, centroCusto);

            if (!objComumGastos.Equals("OBRIGAR"))
            {

                sql = "select distinct(sp.id), sp.descricao, ps.idfluxo, USU.per_isn " +
                                "from websituacaoprocesso sp " +
                                "join webperfilsituacao ps on ps.idsituacao = sp.id " +
                                "join sci_perfis_usuarios pu on pu.per_isn = ps.idperfil " +
                                "join sci_usuarios usu on pu.per_isn = USU.per_isn " +
                                "join webassuntosituacao assit on assit.idsituacao = sp.id " +
                                "where ((USU.usu_codigo  = " + idUsu + " and ps.idfluxo = " + fluxo + " and assit.idassunto = " + assunto + ") or " +
                                "(USU.usu_codigo  = " + idUsu + " and ps.idfluxo is null and assit.idassunto = " + assunto + ")) and "+
                                "( FLAG_SITUACAO_COMPRA IS NULL )";

            }
            else {
                sql = "select distinct(sp.id), sp.descricao, ps.idfluxo, usu.per_isn " +
                                "from websituacaoprocesso sp " +
                                "join webperfilsituacao ps on ps.idsituacao = sp.id " +
                                "join sci_perfis_usuarios pu on pu.per_isn = ps.idperfil " +
                                "join sci_usuarios usu on pu.per_isn = usu.per_isn " +
                                "join webassuntosituacao assit on assit.idsituacao = sp.id " +
                                "where ((usu.usu_codigo  = " + idUsu + " and ps.idfluxo = " + fluxo + " and assit.idassunto = " + assunto + ") or " +
                                "(usu.usu_codigo  = " + idUsu + " and ps.idfluxo is null and assit.idassunto = " + assunto + ")) and "+
                                "( FLAG_SITUACAO_COMPRA IS NOT NULL )";
            }

            System.Data.DataTable dt = AcessoDados.AcessoDados.dtable(sql);
            return dt;
        }
 protected void FillcbbUnidadeOrcamentariaCombo(string situacao)
 {
     Assunto controleAssunto = new Assunto();
     string processo = txtTeste.Text;
     string assunto = controleAssunto.GetAssuntoByNome(txtAssunto.Text);
     System.Data.DataTable dtUnidOrc = FluxoDeCaixaWeb.Control.UnidadeOrcamentariaCtrl.getUnidadeOrcamentariaBySituacaoProcesso(situacao, processo, assunto);
     cbbUnidadeOrc.DataSource = dtUnidOrc;
     cbbUnidadeOrc.ValueField = "IDUNDORC";
     cbbUnidadeOrc.TextField = "UNDORC";
     cbbUnidadeOrc.DataBind();
     Session["dtUnidOrc"] = dtUnidOrc;
 }
        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 FillcbbUnidadeFuncionalCombo(string undOrc)
        {
            Assunto controleAssunto = new Assunto();

            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 = FluxoDeCaixaWeb.Control.Assunto.GetAssuntoByNome(txtAssunto.Text);
                //System.Data.DataTable dtUnidadeFuncional = FluxoDeCaixaWeb.Control.UndFuncionalCtrl.getProximaUnidadeFuncionalByFluxoNova(txtTeste.Text, idAssunto, cbbSituacao.Value.ToString());
                //cbbUnidadeFuncional.DataSourceID = string.Empty;
                //cbbUnidadeFuncional.DataSource = dtUnidadeFuncional;
                //cbbUnidadeFuncional.DataBind();
            }
        }
        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";
                    }
                }
            }
        }