public override void afterGrava() { if (pDados.validarCampoObrigatorio()) { fechaNormal = true; reg_Insumo = BS_Insumos.Current as TRegistro_LanInsumos; this.Dispose(); } }
private void tsBB_AddInsumo_Click(object sender, EventArgs e) { if (BS_LanAtividade.Current != null) { if (Convert.ToDecimal((BS_LanAtividade.Current as TRegistro_LanAtividade).ID_LanctoAtiv) > 0) { try { TRegistro_LanInsumos LanInsumo = new TRegistro_LanInsumos(); TFLanInsumos frameInsumo = new TFLanInsumos(); frameInsumo.ShowDialog(); LanInsumo = frameInsumo.reg_Insumo; if (LanInsumo != null) { LanInsumo.ID_LanctoAtiv = Convert.ToDecimal((BS_LanAtividade.Current as TRegistro_LanAtividade).ID_LanctoAtiv); LanInsumo.CD_Empresa = (BS_LanAtividade.Current as TRegistro_LanAtividade).CD_Empresa; //GRAVA A ATIVIDADE ITEM string retorno = TCN_LanInsumos.GravaLanInsumos(LanInsumo, null); //BUSCA OS ITENS buscarInsumo(); MessageBox.Show("Insumo lançado com sucesso!"); } frameInsumo = null; } catch (Exception erro) { MessageBox.Show("ERRO: " + erro.Message); } } else { MessageBox.Show("Atenção, é necessário gravar a atividade antes de adicionar um insumo!"); } } else { MessageBox.Show("Atenção, é necessário selecionar uma insumo!"); } }
private void TFLanInsumos_FormClosing(object sender, FormClosingEventArgs e) { if (!fechaNormal) { reg_Insumo = null; if (MessageBox.Show("Deseja realmente cancelar a adição do insumo?", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.No) { this.DialogResult = DialogResult.None; } else { fechaNormal = true; this.DialogResult = DialogResult.Cancel; this.Close(); } } }
public static string GravaLanInsumos(TRegistro_LanInsumos val, TObjetoBanco banco) { bool pode_liberar = false; TCD_LanInsumos lanInsumo = new TCD_LanInsumos(); try { if (banco == null) { lanInsumo.CriarBanco_Dados(true); pode_liberar = true; banco = lanInsumo.Banco_Dados; } else { lanInsumo.Banco_Dados = banco; } string retorno = ""; TRegistro_LanInsumos_X_Estoque InsumoEstoque = new TRegistro_LanInsumos_X_Estoque(); if (val.ID_Requisicao <= 0 || val.ID_Requisicao == null) { decimal saldo = 0; TCN_LanEstoque.SaldoEstoqueLocal(val.CD_Empresa, val.CD_Produto, val.CD_Local, ref saldo, banco); if (val.Quantidade > saldo) { throw new Exception("Atenção, não há SALDO suficiente desse PRODUTO no LOCAL DE ARMAZENAGEM!"); } //GRAVA O LANÇAMENTO EM ESTOQUE TRegistro_LanEstoque reg_estoque = new TRegistro_LanEstoque(); reg_estoque.Cd_produto = val.CD_Produto; reg_estoque.Cd_local = val.CD_Local; reg_estoque.Qtd_entrada = 0; reg_estoque.Qtd_saida = val.Quantidade; reg_estoque.Cd_empresa = val.CD_Empresa; reg_estoque.St_registro = "A"; reg_estoque.Vl_unitario = val.VL_Unitario; reg_estoque.Vl_subtotal = val.VL_Total; reg_estoque.Tp_movimento = "S"; reg_estoque.Ds_observacao = "LANÇAMENTO DE INSUMO CÓDIGO DO INSUMO - " + val.CD_Produto; reg_estoque.Tp_lancto = "N"; TCD_LanEstoque TCD_Estoque = new TCD_LanEstoque(); TCD_Estoque.Banco_Dados = banco; string ret_estoque = TCD_Estoque.GravaEstoque(reg_estoque); InsumoEstoque.Id_LanctoEstoque = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_estoque, "@@P_ID_LANCTOESTOQUE")); } else { TpBusca[] filtro = new TpBusca[0]; Array.Resize(ref filtro, filtro.Length + 1); filtro[0].vNM_Campo = "d.cd_EMPRESA"; filtro[0].vOperador = "="; filtro[0].vVL_Busca = "'" + val.CD_Empresa + "'"; Array.Resize(ref filtro, filtro.Length + 1); filtro[1].vNM_Campo = "a.cd_produto"; filtro[1].vOperador = "="; filtro[1].vVL_Busca = "'" + val.CD_Produto + "'"; Array.Resize(ref filtro, filtro.Length + 1); filtro[2].vNM_Campo = "E.ST_REGISTRO"; filtro[2].vOperador = "="; filtro[2].vVL_Busca = "'A'"; DataTable TB_Local_Amx = null;//new TCD_Movimentacao().BuscarSaldo(filtro); if ((TB_Local_Amx == null) || (TB_Local_Amx.Rows.Count == 0)) { throw new Exception("O Almoxarifado não possui SALDO suficiente!"); } else { if (val.Quantidade > Convert.ToDecimal(TB_Local_Amx.Rows[0]["Tot_Saldo"].ToString())) { throw new Exception("O Almoxarifado não possui SALDO suficiente!"); } } //BUSCA OS DADOS DE ENTREGA TpBusca[] vBusca = new TpBusca[0]; Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "a.ID_Requisicao"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = val.ID_Requisicao.ToString(); Array.Resize(ref vBusca, vBusca.Length + 1); vBusca[vBusca.Length - 1].vNM_Campo = "b.cd_produto"; vBusca[vBusca.Length - 1].vOperador = "="; vBusca[vBusca.Length - 1].vVL_Busca = "'" + val.CD_Produto + "'"; //InsumoEstoque.Id_LanctoEstoque = Convert.ToDecimal(new TCD_LanEntregaRequisicao().BuscarEscalar(vBusca, "b.Id_LanctoEstoque").ToString()); //InsumoEstoque.Id_Entrega = Convert.ToDecimal(new TCD_LanEntregaRequisicao().BuscarEscalar(vBusca, "a.Id_Entrega").ToString()); } if (InsumoEstoque.Id_LanctoEstoque > 0) { //MANDA GRAVAR A INSUMO val.ID_Lancto = 0; retorno = lanInsumo.GravaLanInsumos(val); InsumoEstoque.Id_Lancto = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_LANCTO")); InsumoEstoque.ID_LanctoAtiv = Convert.ToDecimal(val.ID_LanctoAtiv); //GRAVA O LANÇAMENTO INSUMO X ESTOQUE InsumoEstoque.Cd_Produto = val.CD_Produto; InsumoEstoque.Cd_Empresa = val.CD_Empresa; TCD_LanInsumos_X_Estoque TCD_InsumoEstoque = new TCD_LanInsumos_X_Estoque(); TCD_InsumoEstoque.Banco_Dados = banco; TCD_InsumoEstoque.GravaLanInsumos_X_Estoque(InsumoEstoque); } else { throw new Exception("Não foi possível lançar o estoque, por favor tente novamente!"); } if (pode_liberar) { lanInsumo.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception erro) { if (pode_liberar) { lanInsumo.Banco_Dados.RollBack_Tran(); } throw new Exception(erro.Message); } finally { if (pode_liberar) { lanInsumo.deletarBanco_Dados(); } } }
public static string DeletaLanInsumos(TRegistro_LanInsumos val, TObjetoBanco banco) { bool pode_liberar = false; TCD_LanInsumos lanInsumo = new TCD_LanInsumos(); try { if (banco == null) { lanInsumo.CriarBanco_Dados(true); pode_liberar = true; banco = lanInsumo.Banco_Dados; } else { lanInsumo.Banco_Dados = banco; } string retorno = ""; TlistLanInsumos_X_Estoque listaEstoque = TCN_LanInsumos_X_Estoque.Busca(val.CD_Empresa, val.CD_Produto, 0, Convert.ToDecimal(val.ID_Lancto), 0, Convert.ToDecimal(val.ID_LanctoAtiv)); if (listaEstoque != null && listaEstoque.Count > 0) { if (val.ID_Requisicao <= 0 || val.ID_Requisicao == null) { //GRAVA O LANÇAMENTO EM ESTOQUE TRegistro_LanEstoque reg_estoque = new TRegistro_LanEstoque(); reg_estoque.Cd_produto = val.CD_Produto; reg_estoque.Cd_local = val.CD_Local; reg_estoque.Id_lanctoestoque = listaEstoque[0].Id_LanctoEstoque; reg_estoque.Qtd_saida = val.Quantidade; reg_estoque.Cd_empresa = val.CD_Empresa; reg_estoque.St_registro = "C"; reg_estoque.Tp_movimento = "S"; TCD_LanEstoque TCD_Estoque = new TCD_LanEstoque(); TCD_Estoque.Banco_Dados = banco; string ret_estoque = TCD_Estoque.DeletaEstoque(reg_estoque); } //MANDA GRAVAR A INSUMO TRegistro_LanInsumos_X_Estoque InsumoEstoque = new TRegistro_LanInsumos_X_Estoque(); InsumoEstoque.Id_Lancto = Convert.ToDecimal(val.ID_Lancto); InsumoEstoque.ID_LanctoAtiv = Convert.ToDecimal(val.ID_LanctoAtiv); //GRAVA O LANÇAMENTO INSUMO X ESTOQUE InsumoEstoque.Cd_Produto = val.CD_Produto; InsumoEstoque.Cd_Empresa = val.CD_Empresa; InsumoEstoque.Id_LanctoEstoque = listaEstoque[0].Id_LanctoEstoque; TCD_LanInsumos_X_Estoque TCD_InsumoEstoque = new TCD_LanInsumos_X_Estoque(); TCD_InsumoEstoque.Banco_Dados = banco; TCD_InsumoEstoque.DeletaLanInsumos_X_Estoque(InsumoEstoque); retorno = lanInsumo.DeletaLanInsumos(val); } else { throw new Exception("Não foi possível remover o insumo, por favor tente novamente!"); } if (pode_liberar) { lanInsumo.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception erro) { if (pode_liberar) { lanInsumo.Banco_Dados.RollBack_Tran(); } throw new Exception(erro.Message); } finally { if (pode_liberar) { lanInsumo.deletarBanco_Dados(); } } }