예제 #1
0
 private void EncerrarLoteSemente()
 {
     if (bsLoteSemente.Current != null)
     {
         if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).St_registro.Trim().ToUpper() != "P")
         {
             MessageBox.Show("Permitido encerrar somente lote com status <APROVADO>.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
             return;
         }
         bool st_saldolote = ((!CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("APONT_PRODUCAO_SEMENTE",
                                                                                     (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_empresa, null).Trim().ToUpper().Equals("S")) &&
                              ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Qtd_saldo > 0));
         if (MessageBox.Show((st_saldolote ?
                              "Lote possui saldo semente processado disponivel para venda.\r\n" +
                              "O encerramento do lote ira reprocessar o saldo restante.\r\n\r\n" +
                              "Saldo Disponivel: " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Qtd_saldo.ToString("N0", new System.Globalization.CultureInfo("en-US", true)) + "\r\n":
                              string.Empty) +
                             "Confirma encerramento do lote selecionado?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
             == DialogResult.Yes)
         {
             if (st_saldolote)
             {
                 using (TFFormulaEstornoSemente fFormula = new TFFormulaEstornoSemente())
                 {
                     fFormula.rSemente = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente);
                     if (fFormula.ShowDialog() == DialogResult.OK)
                     {
                         try
                         {
                             CamadaNegocio.Sementes.TCN_LoteSemente.Encerrar(bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente, null);
                             MessageBox.Show("Lote encerrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         }
                         catch (Exception ex)
                         {
                             MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         }
                         afterBusca();
                     }
                     else
                     {
                         (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Id_formestorno    = null;
                         (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulaestorno = string.Empty;
                     }
                 }
             }
             else
             {
                 try
                 {
                     CamadaNegocio.Sementes.TCN_LoteSemente.Encerrar(bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente, null);
                     MessageBox.Show("Lote encerrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 afterBusca();
             }
         }
     }
     else
     {
         MessageBox.Show("Obrigatorio selecionar lote para encerrar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
예제 #2
0
        private void InserirLote()
        {
            if (bsLoteSemente.Current != null)
            {
                if (quantidade.Value > 0)
                {
                    //Montar observacao
                    string obs       = string.Empty;
                    bool   st_folhar = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoFolhares((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_produto);
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Renasem))
                    {
                        obs += (st_folhar ? "Registro: " : "Renasem:") + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Renasem.Trim() + " ";
                    }
                    //Formulação
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulacao))
                    {
                        obs += "Formulação: " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulacao.Trim() + " ";
                    }
                    //Lote
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Nr_lote))
                    {
                        obs += "Lote:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Nr_lote.Trim() + " ";
                    }
                    //Atestado
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_atestado))
                    {
                        obs += "Atest.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_atestado.Trim() + " ";
                    }
                    //Certificado
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_certificado))
                    {
                        obs += "Cert.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_certificado.Trim() + " ";
                    }
                    //% Germinação
                    if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_germinacao > decimal.Zero)
                    {
                        obs += "%Germ.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_germinacao.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
                    }
                    //% Pureza
                    if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_pureza > decimal.Zero)
                    {
                        obs += "%Pureza:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_pureza.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true));
                    }
                    //Nº Conformidade
                    if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Conformidade))
                    {
                        obs += "Conformidade:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Conformidade.Trim() + " ";
                    }
                    //Val.Germ
                    if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Dt_valgerminacao.HasValue)
                    {
                        obs += "Val.Germ:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Dt_valgerminacaostr + " ";
                    }
                    //Quantidade
                    obs += "Qtde " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Sigla_unidade.Trim() + ":" + quantidade.Value.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true));

                    //Verificar se o item ja existe na lista
                    int index = ItenExiste();
                    if (index >= 0)
                    {
                        //Excluir registro atual
                        bsLoteNf.RemoveAt(index);
                    }
                    decimal?id_formula = null;
                    if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Tp_lote.Trim().ToUpper().Equals("P"))
                    {
                        if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("APONT_PRODUCAO_SEMENTE", Cd_empresa.Trim(), null).Trim().ToUpper().Equals("S"))
                        {
                            if (Tp_mov.Trim().ToUpper().Equals("E"))
                            {
                                using (TFFormulaEstornoSemente fFormula = new TFFormulaEstornoSemente())
                                {
                                    fFormula.rSemente = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente);
                                    if (fFormula.ShowDialog() == DialogResult.OK)
                                    {
                                        id_formula = fFormula.rSemente.Id_formestorno;
                                    }
                                }
                            }
                        }
                        if (!BuscarNfOrigemLote())
                        {
                            MessageBox.Show("Obrigatorio informar origem do produto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                    bsLoteNf.Add(
                        new CamadaDados.Sementes.TRegistro_LoteSemente_X_NFItem()
                    {
                        Cd_empresa     = Cd_empresa,
                        Cd_produto     = Cd_produto,
                        Ds_produto     = Ds_produto,
                        Id_lote        = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Id_lote,
                        Quantidade     = quantidade.Value,
                        Sigla_unidade  = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Sigla_unidade,
                        Tp_movimento   = St_devolucao ?  "D" : "V",
                        Ds_obsNfItem   = obs,
                        Id_formestorno = id_formula
                    });
                    qtd_totallote.Value = SomarLote();
                }
                else
                {
                    MessageBox.Show("Necessario informar quantidade para adicionar a lista.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Necessario selecionar lote para adicionar a lista.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            qtd_totallote.Value = SomarLote();
            bsLoteSemente.MoveNext();
        }