Ejemplo n.º 1
0
 private void afterAltera()
 {
     if (bsMedicao.Current != null)
     {
         using (TFMedicaoTanque fMed = new TFMedicaoTanque())
         {
             fMed.rMedicao = bsMedicao.Current as CamadaDados.PostoCombustivel.TRegistro_MedicaoTanque;
             if (fMed.ShowDialog() == DialogResult.OK)
             {
                 if (fMed.rMedicao != null)
                 {
                     try
                     {
                         CamadaNegocio.PostoCombustivel.TCN_MedicaoTanque.Gravar(fMed.rMedicao, null);
                         MessageBox.Show("Aferição alterada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                     catch (Exception ex)
                     { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                 }
             }
             this.LimparFiltros();
             id_medicao.Text = fMed.rMedicao.Id_medicaostr;
             this.afterBusca();
         }
     }
 }
Ejemplo n.º 2
0
        private void afterNovo()
        {
            using (TFMedicaoTanque fMedicao = new TFMedicaoTanque())
            {
                if (fMedicao.ShowDialog() == DialogResult.OK)
                {
                    if (fMedicao.rMedicao != null)
                    {
                        try
                        {
                            if (new CamadaDados.PostoCombustivel.Cadastros.TCD_CfgPosto().BuscarEscalar(
                                    new Utils.TpBusca[]
                            {
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "a.cd_empresa",
                                    vOperador = "=",
                                    vVL_Busca = "'" + fMedicao.rMedicao.Cd_empresa.Trim() + "'"
                                },
                                new Utils.TpBusca()
                                {
                                    vNM_Campo = "isnull(a.st_afericaoajustaest, 'N')",
                                    vOperador = "=",
                                    vVL_Busca = "'S'"
                                }
                            }, "1") != null)
                            {
                                decimal estoque = decimal.Zero;
                                decimal vlmedio = decimal.Zero;
                                //busca local de armazenamento do combustivel do tanque
                                object ob = new CamadaDados.PostoCombustivel.Cadastros.TCD_TanqueCombustivel().BuscarEscalar(
                                    new Utils.TpBusca[]
                                {
                                    new Utils.TpBusca()
                                    {
                                        vNM_Campo = "a.id_tanque",
                                        vOperador = "=",
                                        vVL_Busca = fMedicao.rMedicao.Id_tanquestr
                                    }
                                }, "a.cd_local");
                                // busca a qtd de estoque
                                if (ob != null)
                                {
                                    estoque = CamadaNegocio.Estoque.TCN_LanEstoque.Busca_Saldo_Local(fMedicao.rMedicao.Cd_funcionario,
                                                                                                     fMedicao.rMedicao.Cd_combustivel,
                                                                                                     ob.ToString(), null);
                                }
                                if (fMedicao.rMedicao.Qtd_combustivel != estoque)
                                {
                                    if (MessageBox.Show("Saldo estoque fisico diferente da medição do tanque.\r\n" +
                                                        $"Saldo fisico atual:{estoque.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true))}\r\n" +
                                                        $"Quantidade Medição:{fMedicao.rMedicao.Qtd_combustivel.ToString("N3", new System.Globalization.CultureInfo("pt-BR", true))}\r\n" +
                                                        (estoque > fMedicao.rMedicao.Qtd_combustivel ? "Saida:" + (estoque - fMedicao.rMedicao.Qtd_combustivel).ToString("N3", new System.Globalization.CultureInfo("pt-BR", true)) :
                                                         "Entrada:" + (fMedicao.rMedicao.Qtd_combustivel - estoque).ToString("N3", new System.Globalization.CultureInfo("pt-BR", true))) + "\r\n" +
                                                        "Ajustar saldo estoque fisico?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                                    {
                                        //busca vl medio
                                        vlmedio = CamadaNegocio.Estoque.TCN_LanEstoque.Valor_Medio_Est_Produto(fMedicao.rMedicao.Cd_empresa,
                                                                                                               fMedicao.rMedicao.Cd_combustivel,
                                                                                                               null);
                                        fMedicao.rMedicao.rEstoque                 = new CamadaDados.Estoque.TRegistro_LanEstoque();
                                        fMedicao.rMedicao.rEstoque.Cd_empresa      = fMedicao.rMedicao.Cd_empresa;
                                        fMedicao.rMedicao.rEstoque.Cd_produto      = fMedicao.rMedicao.Cd_combustivel;
                                        fMedicao.rMedicao.rEstoque.Vl_medioestoque = vlmedio;
                                        fMedicao.rMedicao.rEstoque.Cd_local        = ob.ToString();
                                        fMedicao.rMedicao.rEstoque.Dt_lancto       = CamadaDados.UtilData.Data_Servidor();
                                        fMedicao.rMedicao.rEstoque.St_registro     = "A";
                                        fMedicao.rMedicao.rEstoque.Tp_lancto       = "M";
                                        if (estoque < fMedicao.rMedicao.Qtd_combustivel)
                                        {
                                            fMedicao.rMedicao.rEstoque.Tp_movimento = "E";
                                            fMedicao.rMedicao.rEstoque.Qtd_entrada  = Math.Round(fMedicao.rMedicao.Qtd_combustivel - estoque, 3, MidpointRounding.AwayFromZero);
                                            fMedicao.rMedicao.rEstoque.Vl_subtotal  = Math.Round(Math.Round(fMedicao.rMedicao.Qtd_combustivel - estoque, 3, MidpointRounding.AwayFromZero) * vlmedio, 2, MidpointRounding.AwayFromZero);
                                        }
                                        else
                                        {
                                            fMedicao.rMedicao.rEstoque.Tp_movimento = "S";
                                            fMedicao.rMedicao.rEstoque.Qtd_saida    = Math.Round(estoque - fMedicao.rMedicao.Qtd_combustivel, 3, MidpointRounding.AwayFromZero);
                                            fMedicao.rMedicao.rEstoque.Vl_subtotal  = Math.Round(Math.Round(estoque - fMedicao.rMedicao.Qtd_combustivel, 3, MidpointRounding.AwayFromZero) * vlmedio, 2, MidpointRounding.AwayFromZero);
                                        }
                                        fMedicao.rMedicao.rEstoque.Vl_unitario = vlmedio;
                                    }
                                }
                            }
                            CamadaNegocio.PostoCombustivel.TCN_MedicaoTanque.Gravar(fMedicao.rMedicao, null);
                            MessageBox.Show("Aferição gravada com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);

                            id_medicao.Text = fMedicao.rMedicao.Id_medicaostr;
                            LimparFiltros();
                            afterBusca();
                        }
                        catch (Exception ex)
                        { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                    }
                }
            }
        }