예제 #1
0
        public TRegistro_Requisicao()
        {
            Id_requisicao          = null;
            Cd_empresa             = string.Empty;
            Nm_empresa             = string.Empty;
            id_tprequisicao        = null;
            id_tprequisicaostr     = string.Empty;
            Ds_tprequisicao        = string.Empty;
            tp_requisicao          = string.Empty;
            tipo_requisicao        = string.Empty;
            dt_requisicao          = DateTime.Now;
            dt_requisicaostr       = DateTime.Now.ToString("dd/MM/yyyy");
            Cd_clifor_requisitante = string.Empty;
            Nm_clifor_requisitante = string.Empty;
            Cd_clifor_aprovador    = string.Empty;
            Nm_clifor_aprovador    = string.Empty;
            Cd_clifor_comprador    = string.Empty;
            Nm_clifor_comprador    = string.Empty;
            Cd_produto             = string.Empty;
            Ds_produto             = string.Empty;
            Cd_local            = string.Empty;
            Ds_local            = string.Empty;
            Cd_referencia       = string.Empty;
            Ds_marca            = string.Empty;
            Cd_grupo            = string.Empty;
            Sigla_unidade       = string.Empty;
            st_requisicao       = "AC";
            status              = "AGUARDANDO COTACAO";
            Quantidade          = decimal.Zero;
            Qtd_aprovada        = decimal.Zero;
            Qtd_atendida        = decimal.Zero;
            Vl_unitCotacao      = decimal.Zero;
            Qtd_almox           = decimal.Zero;
            Ds_observacao       = string.Empty;
            Ds_motivorenegociar = string.Empty;
            St_integrar         = false;
            Cd_condPgto         = string.Empty;
            Ds_condPgto         = string.Empty;
            Id_ordem            = null;
            Nr_pedido           = null;

            SaldoAtualAlmox     = decimal.Zero;
            SaldoAtualEst       = decimal.Zero;
            Vl_custoEst         = decimal.Zero;
            Vl_ultimaCompraForn = decimal.Zero;
            Vl_ultimaCompraCon  = decimal.Zero;
            Vl_ipi       = decimal.Zero;
            Vl_icmssubst = decimal.Zero;
            Pc_icms      = decimal.Zero;

            lReqneg    = new TList_Requisicao_X_Negociacao();
            lregnegdel = new TList_Requisicao_X_Negociacao();
            lOrdemProd = new CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao();
            lCotacoes  = new TList_Cotacao();
        }
예제 #2
0
 private void LancarRequisicao()
 {
     if (bsMPrima.Current != null)
     {
         if ((bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).Exists(p => p.Qtd_saldonecessario < 0))
         {
             try
             {
                 //Buscar Tipo Requisicao Externa
                 object obj = new CamadaDados.Compra.TCD_TpRequisicao().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "a.TP_Requisicao",
                         vOperador = "=",
                         vVL_Busca = "'E'"
                     }
                 }, "a.ID_TpRequisicao");
                 if (obj == null)
                 {
                     MessageBox.Show("Não existe Tipo Requisição cadastrada no sistema!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 //Buscar Clifor Requisitante
                 object objClifor = new CamadaDados.Financeiro.Cadastros.TCD_CadClifor().BuscarEscalar(
                     new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = string.Empty,
                         vOperador = "exists",
                         vVL_Busca = "(select 1 from tb_cmp_usuariocompra x " +
                                     "where x.cd_clifor_cmp = a.cd_clifor " +
                                     "and isnull(x.st_requisitar, 'N') = 'S' " +
                                     "and x.login = '******')"
                     }
                 }, "a.cd_clifor");
                 if (objClifor == null)
                 {
                     MessageBox.Show("Usuário: " + Utils.Parametros.pubLogin.Trim() + "\r\n" +
                                     "não possui clifor requisitante cadastrado", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     return;
                 }
                 CamadaDados.Compra.Lancamento.TList_Requisicao lRequisicao =
                     new CamadaDados.Compra.Lancamento.TList_Requisicao();
                 CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao lOrdemProducao =
                     new CamadaDados.Producao.Producao.TList_OrdemProducao_X_Requisicao();
                 lOrdemProducao.Add(new CamadaDados.Producao.Producao.TRegistro_OrdemProducao_X_Requisicao()
                 {
                     Cd_empresa = CD_Empresa.Text,
                     Id_ordem   = Convert.ToDecimal(pId_ordem)
                 });
                 (bsMPrima.DataSource as CamadaDados.Producao.Producao.TList_MPrima).FindAll(p => p.Qtd_saldonecessario < 0).ForEach(p =>
                 {
                     if (new CamadaDados.Producao.Producao.TCD_OrdemProducao().BuscarEscalar(
                             new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = string.Empty,
                             vOperador = "exists",
                             vVL_Busca = "(select 1 from TB_PRD_OrdemProducao_X_Requisicao x " +
                                         "inner join TB_PRD_OrdemProducao y " +
                                         "on x.id_ordem = y.id_ordem " +
                                         "and x.cd_empresa = y.cd_empresa " +
                                         "inner join TB_PRD_FichaTec_MPrima h " +
                                         "on y.ID_Formulacao = h.ID_Formulacao " +
                                         "and y.cd_empresa = h.cd_empresa " +
                                         "where a.cd_empresa = x.cd_empresa " +
                                         "and a.ID_Ordem = x.ID_Ordem " +
                                         "and exists(select 1 from TB_CMP_Requisicao z " +
                                         "       where h.cd_empresa = z.cd_empresa " +
                                         "       and h.CD_Produto = z.CD_Produto " +
                                         "       and x.ID_Requisicao = z.ID_Requisicao " +
                                         "       and x.cd_empresa = z.cd_empresa " +
                                         "       and z.ST_Requisicao <> 'CA') " +
                                         "and a.id_ordem = " + pId_ordem.Trim() + " " +
                                         "and h.CD_Produto = " + p.Cd_mprima.Trim() + ")"
                         }
                     }, "1") == null)
                     {
                         lRequisicao.Add(new CamadaDados.Compra.Lancamento.TRegistro_Requisicao()
                         {
                             St_integrar            = true,
                             Cd_empresa             = CD_Empresa.Text,
                             Id_tprequisicaostr     = obj.ToString(),
                             Dt_requisicao          = CamadaDados.UtilData.Data_Servidor(),
                             Cd_clifor_requisitante = objClifor.ToString(),
                             Cd_produto             = p.Cd_mprima,
                             Ds_produto             = p.Ds_mprima,
                             Cd_local      = p.Cd_local,
                             Ds_local      = p.Ds_local,
                             Sigla_unidade = p.Sigla_unidade,
                             St_requisicao = "AC",
                             Quantidade    = Math.Abs(p.Qtd_saldonecessario),
                             lOrdemProd    = lOrdemProducao
                         });
                     }
                 });
                 using (TFLanRequisicao fReq = new TFLanRequisicao())
                 {
                     fReq.lRequisicao = lRequisicao;
                     if (fReq.ShowDialog() == DialogResult.OK)
                     {
                         if (fReq.lRequisicao != null)
                         {
                             fReq.lRequisicao.ForEach(x =>
                                                      CamadaNegocio.Compra.Lancamento.TCN_Requisicao.GravarRequisicao(x, null));
                         }
                     }
                 }
                 bsMPrima_PositionChanged(this, new EventArgs());
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }