public static string Gravar(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanRoyaltiesGMO qtb_LanRoyaltiesGMO = new TCD_LanRoyaltiesGMO(); try { if (banco == null) { st_transacao = qtb_LanRoyaltiesGMO.CriarBanco_Dados(true); } else { qtb_LanRoyaltiesGMO.Banco_Dados = banco; } val.Id_lanctoGMO = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_LanRoyaltiesGMO.Gravar(val), "@P_ID_LANCTOGMO")); if (st_transacao) { qtb_LanRoyaltiesGMO.Banco_Dados.Commit_Tran(); } return(val.Id_lanctoGMOstr); } catch (Exception ex) { if (st_transacao) { qtb_LanRoyaltiesGMO.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar royalties: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_LanRoyaltiesGMO.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanRoyaltiesGMO qtb_gmo = new TCD_LanRoyaltiesGMO(); try { if (banco == null) { st_transacao = qtb_gmo.CriarBanco_Dados(true); } else { qtb_gmo.Banco_Dados = banco; } qtb_gmo.Excluir(val); if (st_transacao) { qtb_gmo.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_gmo.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir Royalties: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_gmo.deletarBanco_Dados(); } } }
public static string GravaGMO(TList_RegLanFaturamento_Item val, bool vTpGMOTestado, bool vTpGMODeclarado, string vTP_Movimento, TObjetoBanco banco) { TCD_LanRoyaltiesGMO cd = new TCD_LanRoyaltiesGMO(); bool st_transacao = false; try { if (banco == null) { st_transacao = cd.CriarBanco_Dados(true); } else { cd.Banco_Dados = banco; } decimal ID_LanctoGMO = decimal.Zero; val.ForEach(p => { if (vTP_Movimento.Equals("E")) { //PROCURAR O PEDIDO E O CONTRATO PRA VER SE HE GMO NA CLASSE TCD_CadContratoxPedidoItem //SE FOR GMO QUER DIZER QUE HE DECLARADO *** O TESTADO NUNCA VAI EXISTIR NESSA CONDICAO // vST_GMOTestado = "N"; vST_GMODeclarado = ao que deu no contrato TList_CadContrato lContrato = TCN_CadContrato.BuscarContrato(string.Empty, string.Empty, string.Empty, string.Empty, p.Nr_pedido.ToString(), string.Empty, string.Empty, string.Empty, p.Cd_produto, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, banco); if (lContrato.Count > 0) { if (lContrato[0].Tp_prodcontrato.Trim().ToUpper().Equals("ID") || vTpGMOTestado || vTpGMODeclarado) { //GRAVA OS DESCONTOS DE GMO ID_LanctoGMO = Convert.ToDecimal(Gravar(new CamadaDados.Graos.TRegistro_LanRoyaltiesGMO() { CD_Produto = p.Cd_produto, Nr_Contrato = lContrato[0].Nr_contrato, TP_Lancto = "N", Tp_gmo = vTpGMOTestado ? "T" : "D", QTD_Credito = decimal.Zero, QTD_Debito = p.Quantidade_estoque > 0 ? p.Quantidade_estoque : p.Quantidade, }, banco)); //GRAVAR GMO NOTA CamadaNegocio.Graos.TCN_Lan_NotaFiscalGMO.Gravar(new CamadaDados.Graos.TRegistro_Lan_NotaFiscalGMO() { id_LanctoGmo = ID_LanctoGMO, cd_Empresa = p.Cd_empresa, nr_LanctoFiscal = p.Nr_lanctofiscal, id_NfItem = p.Id_nfitem }, banco); processaFinanceiroGMO(lContrato[0].Nr_contratostr, ID_LanctoGMO, banco); } } } }); if (st_transacao) { cd.Banco_Dados.Commit_Tran(); } return(ID_LanctoGMO.ToString()); } catch (Exception ex) { if (st_transacao) { cd.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar Royalties: " + ex.Message.Trim()); } finally { if (st_transacao) { cd.deletarBanco_Dados(); } } }
public static List <TRegistro_SaldoContratoGMO> processaFinanceiroGMO(string Nr_contrato, decimal id_LanctoGmo, TObjetoBanco banco) { //Buscar saldo pedido GMO List <TRegistro_SaldoContratoGMO> lSaldoContrato = new TCD_LanRoyaltiesGMO(banco).SelectSaldoContratoGMO( new TpBusca[] { new TpBusca() { vNM_Campo = "p.nr_contrato", vOperador = "=", vVL_Busca = Nr_contrato } }, 0); //Buscar Saldo NF GMO List <TRegistro_SaldoNFGMO> lSaldoNf = new TCD_LanRoyaltiesGMO(banco).SelectSaldoNFGMO( new TpBusca[] { new TpBusca() { vNM_Campo = "contrato.nr_contrato", vOperador = "=", vVL_Busca = Nr_contrato } }, 0); decimal pc_gmo_declarado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_DECLARADO", banco); decimal pc_gmo_testado = ConfigGer.TCN_CadParamGer.BuscaVlNumerico("PC_GMO_TESTADO", banco); TList_RegLanLiquidacao liq = new TList_RegLanLiquidacao(); //credito/debito de todas as notas fiscais do pedido lSaldoContrato.ForEach(p => { if ((p.Saldo_debito - p.Saldo_credito) > 0) { //Credito/Debito da nota fiscal atual lSaldoNf.ForEach(v => { if ((v.Saldo_debito - v.Saldo_credito) > 0) { if (v.Tp_gmo.Trim().ToUpper().Equals("D") && pc_gmo_declarado.Equals(decimal.Zero)) { throw new Exception("Não existe configuração percentual de GMO declarado configurado.\r\n" + "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS e configure o percentual GMO declarado."); } if (v.Tp_gmo.Trim().ToUpper().Equals("T") && pc_gmo_testado.Equals(decimal.Zero)) { throw new Exception("Não existe configuração percentual de GMO testado configurado.\r\n" + "Va em PARAMETROS->CONFIGURAÇÕES->CONFIGURAÇÕES GERAIS e configure o percentual GMO testado."); } decimal qtd_lancto = decimal.Zero; if ((p.Saldo_debito - p.Saldo_credito) >= (v.Saldo_debito - v.Saldo_credito)) { qtd_lancto = v.Saldo_debito - v.Saldo_credito; } else { qtd_lancto = p.Saldo_debito - p.Saldo_credito; } //Calcular impostos Retidos da Nota TList_RegLanFaturamento lNf = TCN_LanFaturamento.Busca(v.Cd_empresa, string.Empty, string.Empty, v.Nr_lanctofiscal.ToString(), string.Empty, string.Empty, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, false, string.Empty, string.Empty, string.Empty, 1, string.Empty, banco); decimal vl_liquidar = decimal.Zero; if (lNf.Count > 0) { //Buscar Item da Nota TList_RegLanFaturamento_Item lItem = TCN_LanFaturamento_Item.Busca(v.Cd_empresa, v.Nr_lanctofiscal.Value.ToString(), v.Id_nfitem.Value.ToString(), banco); if (lItem.Count > 0) { //Calcular Impostos Retidos TCN_LanFaturamento_Item.PreencherOutrosImpostos( TCN_LanFaturamento_Item.procuraCondicaoFiscalImpostos(lNf[0].Cd_condfiscal_clifor, lItem[0].Cd_condfiscal_produto, lNf[0].Cd_movimentacaostring, lNf[0].Tp_movimento, lNf[0].Tp_pessoa, lNf[0].Cd_empresa, lNf[0].Nr_serie, lNf[0].Cd_clifor, lItem[0].Cd_unidEst, lNf[0].Dt_emissao, qtd_lancto, TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade, p.Cd_unidade_valor, (qtd_lancto * v.Vl_unitario), 2, banco), lNf[0].Tp_nota, lNf[0].Cd_municipioexecservico, banco), lItem[0], lNf[0].Tp_movimento); lNf[0].ItensNota = lItem; } TCN_LanFaturamento.CalcTotalNota(lNf[0]); vl_liquidar = lNf[0].Vl_totalnota * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100); } else { //Valor liquidar vl_liquidar = TCN_CadConvUnidade.ConvertUnid(p.Cd_unidade, p.Cd_unidade_valor, (qtd_lancto * v.Vl_unitario), 2, banco) * ((v.Tp_gmo.Trim().ToUpper().Equals("D") ? pc_gmo_declarado : pc_gmo_testado) / 100); } //Liquidar duplicata liquidaDuplicatas(v, p, vl_liquidar, qtd_lancto, banco); } }); } }); return(lSaldoContrato); }
public static string DeletarLanRoyaltiesGMO(TRegistro_LanRoyaltiesGMO val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanRoyaltiesGMO Qtb_LanRoyaltiesGMO = new TCD_LanRoyaltiesGMO(); try { if (banco == null) { Qtb_LanRoyaltiesGMO.CriarBanco_Dados(true); banco = Qtb_LanRoyaltiesGMO.Banco_Dados; st_transacao = true; } else { Qtb_LanRoyaltiesGMO.Banco_Dados = banco; } //Deletar Uf TList_Lan_RetencaoFinanceiraGMO lRgmo = TCN_Lan_RetencaoFinanceiraGMO.Buscar(val.Id_lanctoGMO.Value.ToString(), string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, banco); if (lRgmo.Count > 0) { TCN_Lan_RetencaoFinanceiraGMO.Deletar(lRgmo[0], banco); } TList_LanPesagemGMO lPsgGmo = TCN_LanPesagemGMO.Buscar(val.Id_lanctoGMO.Value.ToString(), string.Empty, string.Empty, string.Empty, banco); if (lPsgGmo.Count > 0) { TCN_LanPesagemGMO.Excluir(lPsgGmo[0], banco); } TList_Lan_NotaFiscalGMO lNfGmo = TCN_Lan_NotaFiscalGMO.Buscar(val.Id_lanctoGMO.Value.ToString(), string.Empty, string.Empty, string.Empty, banco); if (lNfGmo.Count > 0) { TCN_Lan_NotaFiscalGMO.Excluir(lNfGmo[0], banco); } Qtb_LanRoyaltiesGMO.Excluir(val); if (st_transacao) { Qtb_LanRoyaltiesGMO.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { Qtb_LanRoyaltiesGMO.Banco_Dados.RollBack_Tran(); } else { throw new Exception(ex.Message); } return(""); } finally { if (st_transacao) { Qtb_LanRoyaltiesGMO.deletarBanco_Dados(); } } }