Пример #1
0
 private void bsProduto_PositionChanged(object sender, EventArgs e)
 {
     if (bsProduto.Current != null)
     {
         //Dados Produto
         bs_ConsultaProduto.DataSource = TCN_ConsultaProdutos.busca((bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).CD_Produto);
         //Buscar Ficha Tecnica
         (bsProduto.Current as TRegistro_CadProduto).lFicha = TCN_FichaTecProduto.Buscar((bsProduto.Current as TRegistro_CadProduto).CD_Produto,
                                                                                         string.Empty,
                                                                                         null);
         //Dados Estoque
         bs_ConsultaLocal.DataSource = TCN_ConsultaProdutos.buscaLocal(string.Empty, (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).CD_Produto);
         //Preco Produto
         bsConsultaPrecoVenda.DataSource = TCN_ConsultaProdutos.buscaConsultaPreco(string.Empty,
                                                                                   (bsProduto.Current as CamadaDados.Estoque.Cadastros.TRegistro_CadProduto).CD_Produto,
                                                                                   string.Empty,
                                                                                   string.Empty);
     }
 }
Пример #2
0
 private void PreencherFicha()
 {
     //Buscar Ficha do Cadastro de Produto
     CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha =
         TCN_FichaTecProduto.Buscar(cd_produto.Text,
                                    string.Empty,
                                    null);
     if (lFicha.Count > 0)
     {
         if (lFicha.Exists(p => string.IsNullOrEmpty(p.Cd_local)))
         {
             string vColunas = "a.ds_local|Local Armazenagem|150;" +
                               "a.cd_local|Código|50";
             string vParam = "|exists|(select 1 from tb_est_empresa_x_localarm x " +
                             "           where x.cd_local = a.cd_local and x.cd_empresa = '" + CD_Empresa.Text.Trim() + "')";
             DataRowView linha = FormBusca.UtilPesquisa.BTN_BUSCA(vColunas, null,
                                                                  new CamadaDados.Estoque.Cadastros.TCD_CadLocalArm(), vParam);
             try
             {
                 if (linha != null)
                 {
                     lFicha.ForEach(p =>
                     {
                         p.Cd_local = string.IsNullOrEmpty(p.Cd_local) ? linha["cd_local"].ToString() : p.Cd_local;
                         TCN_FichaTecProduto.Gravar(p, null);
                     });
                 }
                 else
                 {
                     PreencherFicha();
                 }
             }
             catch { }
         }
         lFicha.ForEach(p =>
         {
             (bsOrdemProducao.Current as TRegistro_OrdemProducao).lOrdem_MPrima.Add(
                 new TRegistro_Ordem_MPrima
             {
                 Cd_produto       = p.Cd_item,
                 Ds_produto       = p.Ds_item,
                 Cd_unidade       = p.Cd_unditem,
                 Ds_unidade       = p.Ds_unditem,
                 Sigla_unidade    = p.Sg_unditem,
                 Cd_local         = p.Cd_local,
                 Ds_local         = p.Ds_local,
                 Qtd_produto      = p.Quantidade,
                 Qtd_produto_calc = p.Quantidade,
                 SaldoEstoque     = TCN_LanEstoque.Busca_Saldo_Local(CD_Empresa.Text, p.Cd_item, p.Cd_local, null)
             });
         });
     }
     else
     {
         //Verificar ficha tecnica produção
         TList_FormulaApontamento lFormula =
             CamadaNegocio.Producao.Producao.TCN_FormulaApontamento.Buscar(CD_Empresa.Text,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           string.Empty,
                                                                           cd_produto.Text,
                                                                           string.Empty,
                                                                           0,
                                                                           string.Empty,
                                                                           null);
         TRegistro_FormulaApontamento rFormula = null;
         if (lFormula.Count > 1)
         {
             using (TFListFormula fList = new TFListFormula())
             {
                 fList.lFormula = lFormula;
                 if (fList.ShowDialog() == DialogResult.OK)
                 {
                     rFormula = fList.rFormula;
                     (bsOrdemProducao.Current as TRegistro_OrdemProducao).Qt_produto = rFormula.Qt_produto;
                 }
                 else
                 {
                     MessageBox.Show("Obrigatório selecionar formula.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return;
                 }
             }
         }
         else if (lFormula.Count.Equals(1))
         {
             rFormula = lFormula[0];
         }
         if (rFormula != null)
         {
             (bsOrdemProducao.Current as TRegistro_OrdemProducao).Qt_produto = rFormula.Qt_produto;
             (bsOrdemProducao.Current as TRegistro_OrdemProducao).Cd_local   = rFormula.Cd_local;
             (bsOrdemProducao.Current as TRegistro_OrdemProducao).Ds_local   = rFormula.Ds_local;
             //Buscar ficha tecnica da formula selecionada
             TList_FichaTec_MPrima lFichaP =
                 CamadaNegocio.Producao.Producao.TCN_FichaTec_MPrima.Buscar(rFormula.Cd_empresa,
                                                                            rFormula.Id_formulacaostr,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            string.Empty,
                                                                            0,
                                                                            string.Empty,
                                                                            null);
             lFichaP.ForEach(p =>
             {
                 (bsOrdemProducao.Current as TRegistro_OrdemProducao).lOrdem_MPrima.Add(
                     new TRegistro_Ordem_MPrima
                 {
                     CD_Empresa           = p.Cd_empresa,
                     ID_Formulacao_MPrima = p.Id_formulacao_mprima,
                     Cd_produto           = p.Cd_produto,
                     Ds_produto           = p.Ds_produto,
                     Cd_unidade           = p.Cd_unidade,
                     Ds_unidade           = p.Ds_unidade,
                     Sigla_unidade        = p.Sigla_unidade,
                     Cd_local             = p.Cd_local,
                     Ds_local             = p.Ds_local,
                     Qtd_produto          = p.Qtd_produto,
                     Qtd_produto_calc     = p.Qtd_produto,
                     SaldoEstoque         = TCN_LanEstoque.Busca_Saldo_Local(CD_Empresa.Text, p.Cd_produto, p.Cd_local, null)
                 });
             });
             (bsOrdemProducao.Current as TRegistro_OrdemProducao).Id_formulacao = rFormula.Id_formulacao;
         }
     }
     bsOrdemMP.ResetCurrentItem();
     bsOrdemProducao.ResetCurrentItem();
 }
Пример #3
0
        public static TRegistro_FormulaApontamento CriarFormulaApontamentoProd(string Cd_empresa,
                                                                               string Cd_produto,
                                                                               string Cd_unidade,
                                                                               string Cd_local,
                                                                               //bool St_decomposicao,
                                                                               BancoDados.TObjetoBanco banco)
        {
            TRegistro_FormulaApontamento rFormula = new TRegistro_FormulaApontamento();

            rFormula.Cd_empresa = Cd_empresa;
            //if (!St_decomposicao)
            {
                rFormula.Cd_produto     = Cd_produto;
                rFormula.Cd_unidProduto = Cd_unidade;
                rFormula.Cd_unidade     = Cd_unidade;
                rFormula.Cd_local       = Cd_local;
                rFormula.Qt_produto     = 1;

                TList_FichaTecProduto lFicha = TCN_FichaTecProduto.Buscar(Cd_produto,
                                                                          string.Empty,
                                                                          banco);
                lFicha.ForEach(p =>
                {
                    rFormula.LFichaTec_MPrima.Add(new TRegistro_FichaTec_MPrima()
                    {
                        Cd_empresa      = Cd_empresa,
                        Cd_produto      = p.Cd_item,
                        Cd_unid_produto = p.Cd_unditem,
                        Cd_unidade      = p.Cd_unditem,
                        Cd_local        = Cd_local,
                        Qtd_produto     = p.Quantidade
                    });
                });
            }
            //else
            //{
            //    //Produto Acabado
            //    CamadaDados.Estoque.Cadastros.TList_FichaTecProduto lFicha =
            //        CamadaNegocio.Estoque.Cadastros.TCN_FichaTecProduto.Buscar(Cd_produto,
            //                                                                   string.Empty,
            //                                                                   banco);
            //    lFicha.ForEach(p =>
            //    {
            //        rFormula.LFichaTec_Acabado.Add(new TRegistro_FichaTec_Acabado()
            //        {
            //            Cd_empresa = Cd_empresa,
            //            Cd_produto = p.Cd_item,
            //            Cd_unid_produto = p.Cd_unditem,
            //            Cd_unidade = p.Cd_unditem,
            //            Cd_local = Cd_local,
            //            Qtd_produto = p.Quantidade,
            //            Pc_rateiocusto = 100
            //        });
            //    });
            //    //Materia Prima
            //    rFormula.LFichaTec_MPrima.Add(new TRegistro_FichaTec_MPrima()
            //    {
            //        Cd_empresa = Cd_empresa,
            //        Cd_produto = Cd_produto,
            //        Cd_unid_produto = Cd_unidade,
            //        Cd_unidade = Cd_unidade,
            //        Cd_local = Cd_local,
            //        Qtd_produto = 1
            //    });
            //}
            return(rFormula);
        }