コード例 #1
0
 private void NovaThread()
 {
     if (lUser.Count > 0)
     {
         while (true)
         {
             System.Threading.Thread.Sleep(int.Parse(tempoNotificacao.Value.ToString()) * 1000);
             //Buscar Total Requisicões
             object obj = new CamadaDados.Compra.Lancamento.TCD_Requisicao().BuscarEscalar(
                 new Utils.TpBusca[]
             {
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "isnull(a.st_requisicao, 'AC')",
                     vOperador = "<>",
                     vVL_Busca = "'CA'"
                 },
                 new Utils.TpBusca()
                 {
                     vNM_Campo = "cd_clifor_requisitante",
                     vOperador = "<>",
                     vVL_Busca = "'" + lUser[0].Cd_clifor_cmp.Trim() + "'"
                 }
             }, "count(*)");
             if (obj != null)
             {
                 int cont = int.Parse(obj.ToString());
                 if (Tot_req < cont)
                 {
                     Tot_aguard = cont - Tot_req;
                     AtualizaRequisicao(Tot_aguard.ToString());
                 }
             }
         }
     }
 }
コード例 #2
0
        private void TFLanRequisicao_Load(object sender, EventArgs e)
        {
            Utils.ShapeGrid.RestoreShape(this, gRequisicao);
            Utils.ShapeGrid.RestoreShape(this, gItens);
            panelDados6.BackColor = Utils.SettingsUtils.Default.COLOR_1;
            pFiltros.BackColor    = Utils.SettingsUtils.Default.COLOR_3;
            pFiltro.set_FormatZero();
            if (!string.IsNullOrEmpty(Utils.Parametros.pubCultura))
            {
                Idioma.TIdioma.AjustaCultura(this);
            }
            Icon = Utils.ResourcesUtils.TecnoAliance_ICO;
            St_visualizartodas = CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR VISUALIZAR TODAS REQUISICOES", null);
            //Verificar se o Usuário tem permissão para aprovar compra
            lUser =
                new CamadaDados.Compra.TCD_CadUsuarioCompra().Select(
                    new Utils.TpBusca[]
            {
                new Utils.TpBusca()
                {
                    vNM_Campo = "a.login",
                    vOperador = "=",
                    vVL_Busca = "'" + Utils.Parametros.pubLogin.Trim() + "'"
                }
            }, 1, string.Empty);
            if (lUser.Count > 0)
            {
                St_aprovar = lUser[0].St_aprovarbool;
                St_comprar = lUser[0].St_comprarbool;
            }
            if (!St_aprovar)
            {
                bb_aprovarCompra.Visible = false;
                tsdCotacao.Visible       = false;
            }
            if (!St_comprar)
            {
                bb_gerarPedido.Visible = false;
                bb_gerarOrdem.Visible  = false;
            }
            if (Properties.Settings.Default.tempo.Equals(0))
            {
                tempoNotificacao.Value = 1;
            }
            else
            {
                tempoNotificacao.Value = Properties.Settings.Default.tempo;
            }
            //Buscar Total Requisicões
            object obj = null;

            if (lUser.Count > 0)
            {
                obj = new CamadaDados.Compra.Lancamento.TCD_Requisicao().BuscarEscalar(
                    new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "isnull(a.st_requisicao, 'AC')",
                        vOperador = "<>",
                        vVL_Busca = "'CA'"
                    },
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "cd_clifor_requisitante",
                        vOperador = "<>",
                        vVL_Busca = "'" + lUser[0].Cd_clifor_cmp.Trim() + "'"
                    }
                }, "count(*)");
            }
            Tot_req = obj == null ? 0 : int.Parse(obj.ToString());
            tlpDetRequisicao.ColumnStyles[0].Width = 0;
            thNovaReq = new System.Threading.Thread(NovaThread);
            thNovaReq.Start();
        }
コード例 #3
0
 private void afterNovo()
 {
     using (TFRequisicao fReq = new TFRequisicao())
     {
         if (fReq.ShowDialog() == DialogResult.OK)
         {
             if (fReq.rReq != null)
             {
                 try
                 {
                     if (fReq.rReq.Tp_requisicao.Trim().ToUpper().Equals("E"))
                     {
                         //Verificar se existe alguma negociacao aprovada para este produto
                         CamadaDados.Compra.Lancamento.TList_NegociacaoItem lNegociacao =
                             new CamadaDados.Compra.Lancamento.TCD_NegociacaoItem().Select(
                                 new Utils.TpBusca[]
                         {
                             new Utils.TpBusca()
                             {
                                 vNM_Campo = "isnull(d.st_registro, 'A')",
                                 vOperador = "=",
                                 vVL_Busca = "'P'"
                             },
                             new Utils.TpBusca()
                             {
                                 vNM_Campo = "isnull(a.st_registro, 'A')",
                                 vOperador = "=",
                                 vVL_Busca = "'V'"
                             },
                             //Dentro do prazo de vigencia
                             new Utils.TpBusca()
                             {
                                 vNM_Campo = string.Empty,
                                 vOperador = string.Empty,
                                 vVL_Busca = "(case when a.NR_DiasVigencia = 0 then CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10), GETDATE()))) else " +
                                             "CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10), d.dt_fechnegociacao)) + a.NR_DiasVigencia) end " +
                                             ") >= " +
                                             "CONVERT(DATETIME,FLOOR(CONVERT(NUMERIC(30,10), GETDATE()))) "
                             },
                             new Utils.TpBusca()
                             {
                                 vNM_Campo = string.Empty,
                                 vOperador = string.Empty,
                                 vVL_Busca = "((d.cd_produto = '" + fReq.rReq.Cd_produto.Trim() + "') or (" +
                                             "exists(select 1 from tb_est_produto x " +
                                             "where x.cd_grupo = d.cd_grupo " +
                                             "and x.cd_produto = '" + fReq.rReq.Cd_produto.Trim() + "' " +
                                             "and isnull(d.cd_produto, '') = '')))"
                             }
                         }, 0, string.Empty, string.Empty);
                         if (lNegociacao.Count > 0)
                         {
                             //Chamar tela de negociacao
                             using (TFListaFornecedor fFornec = new TFListaFornecedor())
                             {
                                 CamadaDados.Compra.TList_CFGCompra lCfg =
                                     CamadaNegocio.Compra.TCN_CFGCompra.Buscar(cd_empresa.Text,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               string.Empty,
                                                                               0,
                                                                               string.Empty,
                                                                               null);
                                 if (lCfg.Count > 0)
                                 {
                                     fFornec.Qtd_negociacao = lCfg[0].Qtd_min_negociacao;
                                 }
                                 fFornec.lItens        = lNegociacao;
                                 fFornec.St_requisicao = true;
                                 fFornec.Text          = "Lista de Negociação em vigencia do produto " + cd_produto.Text.Trim();
                                 if (fFornec.ShowDialog() == DialogResult.OK)
                                 {
                                     //Montar lista de negociacao selecionada
                                     fFornec.lItens.ForEach(p =>
                                     {
                                         if (p.St_processar)
                                         {
                                             fReq.rReq.lReqneg.Add(
                                                 new CamadaDados.Compra.Lancamento.TRegistro_Requisicao_X_Negociacao()
                                             {
                                                 Id_negociacao = p.Id_negociacao,
                                                 Id_item       = p.Id_item
                                             });
                                         }
                                     });
                                     //Mudar status da ordem para Aguardando Aprovacao
                                     fReq.rReq.St_requisicao = "AA";
                                     lNegociacao.ForEach(p =>
                                     {
                                         fReq.rReq.lCotacoes.Add(new CamadaDados.Compra.Lancamento.TRegistro_Cotacao()
                                         {
                                             Cd_empresa         = fReq.rReq.Cd_empresa,
                                             Cd_fornecedor      = p.Cd_fornecedor,
                                             Cd_endfornecedor   = p.Cd_endfornecedor,
                                             Cd_condpgto        = p.Cd_condpgto,
                                             Cd_moeda           = p.Cd_moeda,
                                             Cd_portador        = p.Cd_portador,
                                             Nm_vendedor        = p.Nm_vendedor,
                                             Emailvendedor      = p.Email_vendedor,
                                             Fonefax            = p.FoneFax,
                                             Qtd_atendida       = fReq.rReq.Quantidade,
                                             Vl_unitario_cotado = p.Vl_unitario_negociado,
                                             Dt_cotacao         = CamadaDados.UtilData.Data_Servidor(),
                                             Ds_observacao      = p.Ds_observacao,
                                             Nr_diasvigencia    = p.Nr_diasvigencia,
                                             St_registro        = "A"
                                         });
                                     });
                                 }
                             }
                         }
                     }
                     else
                     {
                         fReq.rReq.St_requisicao = "AP";//Requisicao INTERNA ja entra como APROVADA
                         fReq.rReq.Qtd_aprovada  = fReq.rReq.Quantidade;
                     }
                     //Verificar se existe requisicao com o mesmo o produto sem cotacoes lancadas
                     CamadaDados.Compra.Lancamento.TList_Requisicao lReq =
                         new CamadaDados.Compra.Lancamento.TCD_Requisicao().Select(
                             new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.cd_empresa",
                             vOperador = "=",
                             vVL_Busca = "'" + fReq.rReq.Cd_empresa.Trim() + "'"
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.cd_produto",
                             vOperador = "=",
                             vVL_Busca = "'" + fReq.rReq.Cd_produto.Trim() + "'"
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.CD_Clifor_Requisitante",
                             vOperador = "=",
                             vVL_Busca = "'" + fReq.rReq.Cd_clifor_requisitante.Trim() + "'"
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.id_tprequisicao",
                             vOperador = "=",
                             vVL_Busca = fReq.rReq.Id_tprequisicaostr
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.cd_local",
                             vOperador = "=",
                             vVL_Busca = "'" + fReq.rReq.Cd_local + "'"
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "isnull(a.ST_Requisicao, 'AC')",
                             vOperador = "=",
                             vVL_Busca = "'AC'"
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "not exists",
                             vVL_Busca = "(select 1 from tb_cmp_cotacao x " +
                                         "where a.cd_empresa = x.cd_empresa " +
                                         "and a.id_requisicao = x.id_requisicao) "
                         }
                     }, 1, string.Empty, string.Empty);
                     if (lReq.Count > 0)
                     {
                         if (MessageBox.Show("A requisição Nº" + lReq[0].Id_requisicao.ToString() + " com data " + lReq[0].Dt_requisicaostr + ".\r\n" +
                                             "Ainda não possui cotações lançadas.\r\n" +
                                             "Deseja adicionar a QTD lançada para esta requisição?", "Pergunta",
                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                         {
                             fReq.rReq.Id_requisicao = lReq[0].Id_requisicao;
                             fReq.rReq.Quantidade    = fReq.rReq.Quantidade + lReq[0].Quantidade;
                             fReq.rReq.Ds_observacao = lReq[0].Ds_observacao + "\r\n" + fReq.rReq.Ds_observacao;
                         }
                     }
                     CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(fReq.rReq, null);
                     MessageBox.Show("Requisição gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     afterBusca();
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
             }
         }
     }
 }