Esempio n. 1
0
 public List<Model.Parte> ListaPartes(int id_workflow, int cd_parte)
 {
     try
     {
         DB data = new DB();
         DataTable dt = new DataTable();
         List<Model.Parte> lstParte = new List<MMAA.Pedidos.Model.Parte>();
         Model.Parte parte = new MMAA.Pedidos.Model.Parte();
         data.AddParametro("@ID_WORKFLOW", id_workflow);
         data.AddParametro("@CD_PARTE", cd_parte);
         dt = data.ExecuteReader("ABERTURA_WORKFLOW_PARTE_SELECIONA");
         foreach (DataRow dr in dt.Rows)
         {
             parte.Codigo = int.Parse(dr["cd_parte"].ToString());
             parte.IdTipo = int.Parse(dr["id_tipo"].ToString());
             parte.Nome = dr["nm_cliente"].Equals("") ? dr["nm_envolvido"].ToString() : dr["nm_cliente"].ToString();
             parte.SgTipoParte = dr["sg_tipoParte"].ToString();
             lstParte.Add(parte);
             parte = new MMAA.Pedidos.Model.Parte();
         }
         return lstParte;
     }
     catch (Exception ex)
     {
         //  Log.Save(ex.Message.ToString());
         return null;
     }
 }
    protected void btnGravar_Click(object sender, EventArgs e)
    {
        if (!hdGravar.Text.Equals("0"))
        {
            int sgDoubleCheck = 0;

            //Carrega o Objeto WorkflowProcesso
            MMAA.Pedidos.Model.Parte parte = new MMAA.Pedidos.Model.Parte();
            List<MMAA.Pedidos.Model.Parte> lstParte = new List<MMAA.Pedidos.Model.Parte>();
            workflowProcesso.NrProcesso = txtNumeroProcesso.Text;
            workflowProcesso.NrCnj = txtNumeroCnj.Text;
            workflowProcesso.CdEspecialidade = 33;
            workflowProcesso.CdTipoEspecialidade = int.Parse(hdTipoEspecialidade.Value);
            workflowProcesso.CdComarca = hdComarca.Value.Equals("") ? 0 : int.Parse(hdComarca.Value);
            workflowProcesso.CdForum = hdForum.Value.Equals("") ? 0 : int.Parse(hdForum.Value);
            workflowProcesso.CdVara = hdJuizo.Value.Equals("") ? 0 : int.Parse(hdJuizo.Value);
            //workflowProcesso.CdRito = hdRito.Value.Equals("") ? 0 : int.Parse(hdRito.Value);
            workflowProcesso.DataAutuacao = txtDataAutuacao.Text.Equals("") ? DateTime.Parse("01/01/1900") : DateTime.Parse(txtDataAutuacao.Text);
            workflowProcesso.DataDistribuicao = txtDataDistribuicao.Text.Equals("") ? DateTime.Parse("01/01/1900") : DateTime.Parse(txtDataDistribuicao.Text);
            workflowProcesso.CdAmbito = hdEsfera.Value.Equals("") ? 0 : int.Parse(hdEsfera.Value);
            workflowProcesso.CdEscritorio = hdEscritorio.Value.Equals("") ? 0 : int.Parse(hdEscritorio.Value);
            workflowProcesso.NmProcessoADM = txtNumProcessoAdministrativo.Text;
            workflowProcesso.NmCda = txtNumCDA.Text;
            workflowProcesso.NmAutoInfracao = txtNumAutoInfracao.Text;
            workflowProcesso.ExecucaoFiscal = txtExecucaoFiscal.Text;
            workflowProcesso.OutroCodigo = txtOutroCodigo.Text;
            workflowProcesso.Instancia = ddlInstancia.SelectedValue;
            workflowProcesso.CdLoja = hdLoja.Value.Equals("") ? 0 : int.Parse(hdLoja.Value);
            workflowProcesso.Obs = txtObs.Text;

            parte.Codigo = hdCliente.Value.Equals("") ? 0 : int.Parse(hdCliente.Value);
            parte.IdTipo = 1;
            parte.SgResponsavel = 1;
            parte.Nome = ddlCliente.SelectedItem.Text;
            parte.SgTipoParte = "B";
            lstParte.Add(parte);
            parte = new MMAA.Pedidos.Model.Parte();

            parte.Codigo = int.Parse(hdEnvolvido.Value);
            parte.IdTipo = 2;
            parte.SgResponsavel = 0;
            parte.Nome = txtEnvolvido.Text;
            parte.SgTipoParte = "A";
            lstParte.Add(parte);
            Session.Add("Parte", lstParte);
            // Se for DoubleCheck
            if (sgStatus == 2)
            {
                sgDoubleCheck = 1;

                workflowProcesso.IdWorkflow = idWorkflow;
                if (objWorkFlow.Abertura_WorkFlow_Processo_DC_Insert(workflowProcesso, idUsuario))
                {
                    foreach (MMAA.Pedidos.Model.Parte partes in lstParte)
                    {
                        objWorkFlow.WorkFlow_ParteDC_Insert(idWorkflow, partes, sgDoubleCheck, sgLancar);
                    }

                    if (ValidaDoubleCheck()) // Valida o DoubleCheck
                    {
                        sgLancar = 1;
                    }
                    if (sgLancar == 0)
                    {
                        objWorkFlow.WorkFlow_Insert(idWorkflow, idAbertura, idUsuario, 3, 0); // Bloqueia o WorkFlow
                        lblAbertura.Text = "Pasta Bloqueada por divergência de cadastro";
                        ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Pasta Bloqueada por divergência de cadastro'); document.location='Workflow.aspx'; </script>");
                    }
                    else // Criar a Pasta
                    {
                        int cd_processo = 0;
                        cd_processo = GerarProcesso();
                        if (cd_processo > 0)
                        {
                            ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Processo [" + cd_processo + "] Criado com sucesso!!!'); document.location='Workflow.aspx';</script>");
                            objWorkFlow.WorkFlow_Insert(idWorkflow, idAbertura, idUsuario, 0, cd_processo); // Atualiza o processo
                        }
                        else
                            ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Erro ao gerar o Processo !!!'); document.location='Workflow.aspx';</script>");
                    }
                }
                else
                {
                    lblAbertura.Text = "Erro ao tentar fazer o Double Check deste Workflow, entre em contato com ATI";
                    ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Erro ao tentar fazer o Double Check deste Workflow, entre em contato com ATI'); </script>");
                }

            }
            else if (sgStatus == 3) //Pasta Bloqueada
            {
                sgLancar = 1;
                int cd_processo = GerarProcesso();
                if (cd_processo > 0)
                {
                    objWorkFlow.WorkFlow_Insert(idWorkflow, idAbertura, idUsuario, 4, cd_processo); // Atualiza o Wokflow para Status 4 (LIBERADO)
                    ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Processo [" + cd_processo + "] Criado com sucesso!!!'); document.location='Workflow.aspx';</script>");
                }
                else
                {
                    lblAbertura.Text = "Erro ao tentar Abrir a Pasta, entre em contato com ATI";
                    ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Erro ao tentar Abrir a Pasta, entre em contato com ATI'); </script>");
                }
            }
            else // Abertura Normal
            {
                try
                {
                    string[] area = Session["Area"].ToString().Split('|');
                    idAbertura = int.Parse(area[0]);
                    idWorkflow = objWorkFlow.WorkFlow_Insert(idWorkflow, idAbertura, idUsuario, sgStatus, 0);
                    if (idWorkflow > 0)
                    {
                        workflowProcesso.IdWorkflow = idWorkflow;
                        if (objWorkFlow.Abertura_WorkFlow_Processo_Insert(workflowProcesso, idUsuario))
                        {
                            foreach (MMAA.Pedidos.Model.Parte partes in lstParte)
                            {
                                objWorkFlow.WorkFlow_Parte_Insert(idWorkflow, partes, sgDoubleCheck, sgLancar);
                            }
                            lblAbertura.Text = "Workflow Criada com Sucesso!!! \nCódigo Workflow: " + idWorkflow;
                            ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Abertura pendente de Double Check, n° Workflow: [" + idWorkflow + "]');  document.location='Workflow.aspx'; </script>");
                            // DesativaCampos();
                        }
                        else
                        {
                            lblAbertura.Text = "Erro ao tentar Abrir um Workflow, entre em contato com ATI";
                            ClientScript.RegisterStartupScript(System.Type.GetType("System.String"), "Executar", "<script lang='jscript'> alert('Erro ao tentar Abrir um Workflow, entre em contato com ATI'); </script>");
                        }
                    }
                }
                catch
                {
                }
            }
        }
    }