/// <summary> /// Pesquisa dados do item na nota /// </summary> /// <param name="codFil">Código da Filial</param> /// <param name="codigoNota">Código da Nota</param> /// <returns>listaDadosItemNota</returns> public List <E140IPVModel> PesquisarDadosItemNota(long codFil, long codigoNota) { try { string sql = " select codemp, codfil, numnfv, seqipv, vlrbic, pericm, vlricm, codstr, vlrics, vlrbsi " + " from SAPIENS.e140ipv " + " where codemp = 1 " + " and codfil = " + codFil + " and numnfv = " + codigoNota; OracleConnection conn = new OracleConnection(OracleStringConnection); OracleCommand cmd = new OracleCommand(sql, conn); cmd.CommandType = CommandType.Text; conn.Open(); OracleDataReader dr = cmd.ExecuteReader(); var listaDadosItemNota = new List <E140IPVModel>(); var itemNota = new E140IPVModel(); while (dr.Read()) { itemNota = new E140IPVModel(); itemNota.Sequencia = dr.GetInt32(3); itemNota.PerIcms = dr.GetInt64(5).ToString(); itemNota.CodSitTributaria = dr.GetString(7); itemNota.ValorSt = dr.GetDecimal(8).ToString(); itemNota.ValorBaseSt = dr.GetDecimal(9).ToString(); listaDadosItemNota.Add(itemNota); } dr.Close(); conn.Close(); return(listaDadosItemNota); } catch (Exception ex) { throw ex; } }
/// <summary> /// Retorna uma lista de itens de notas de saída /// </summary> /// <param name="filial">Código da filial</param> /// <param name="numeroNota">Número da Nota</param> /// <param name="serieNota">Série da Nota</param> /// <returns>listaItens</returns> public List <E140IPVModel> PesquisarItensNotasFiscaisSaida(int filial, long numeroNota, string serieNota) { try { string sql = "Select A.SeqIpv as Sequencia, " + " A.TnsPro as Transacao, " + " A.CodPro || ' ' || A.CODDER as CodigoProduto, " + " B.DesPro || ' ' || E.DESDER as DescricaoProduto, " + " A.QtdFat as QtdeFaturada, " + " 0 as QtdeDevolucao, " + " TO_CHAR(A.PreUni, '999999990D99999') as PrecoUnitario, " + " 'Selecione...' As MotivoDevolucao, " + " 'Selecione...' As OrigemOcorrencia, " + " TO_CHAR(A.PerDsc, '999999990D99') as PercDescUnit, " + " TO_CHAR(A.PerIpi, '999999990D99') as PercIpi, " + " TO_CHAR(A.VlrIpi, '999999990D99') as ValorIpi, " + " TO_CHAR(A.VlrLiq, '999999990D99') as ValorLiquido, " + " TO_CHAR(A.vlrics, '999999990D99') as ValorSt, " + " TO_CHAR(A.VLRDZF + A.VLRPIT + A.VLRCRT, '999999990D99') as DescontoSuframa, " + " B.CodFam as CodigoFamilia, " + " A.VLRFRE AS ValorFrete, " + " COALESCE((SELECT SUM(QTDDEV) " + " FROM NWMS_PRODUCAO.N0203IPV SUBIPV " + " INNER JOIN NWMS_PRODUCAO.N0203REG SUBREG " + " ON SUBIPV.NUMREG = SUBREG.NUMREG " + " WHERE SUBIPV.NUMNFV = " + numeroNota + " AND SUBREG.SITREG NOT IN (5, 7)" + " AND SUBIPV.CODPRO = A.CodPro " + " AND SUBIPV.CODDER = A.CodDer),0) AS QTDDEVSALDO " + " From SAPIENS.E140IPV A, SAPIENS.E075PRO B, SAPIENS.E075DER E " + " Where A.CodEmp = B.CodEmp " + " And A.CodPro = B.CodPro " + " AND A.CodEmp = E.CodEmp " + " And A.CodPro = E.CodPro " + " AND A.CODDER = E.CODDER " + " And A.CodEmp = 1 " + " And A.CodFil = " + filial + " And A.CodSnf = " + "'" + serieNota + "'" + " And A.NumNfv = " + numeroNota; OracleConnection conn = new OracleConnection(OracleStringConnection); OracleCommand cmd = new OracleCommand(sql, conn); cmd.CommandType = CommandType.Text; conn.Open(); OracleDataReader dr = cmd.ExecuteReader(); List <E140IPVModel> listaItens = new List <E140IPVModel>(); E140IPVModel itemNota = new E140IPVModel(); while (dr.Read()) { itemNota = new E140IPVModel(); itemNota.Sequencia = dr.GetInt32(0); itemNota.Transacao = dr.GetString(1); itemNota.CodigoProduto = dr.GetString(2); itemNota.DescricaoProduto = dr.GetString(3); itemNota.QtdeFaturada = dr.GetInt32(4); itemNota.QtdeDevolucao = dr.GetInt32(5); itemNota.PrecoUnitario = dr.GetString(6); itemNota.MotivoDevolucao = dr.GetString(7); itemNota.OrigemOcorrencia = dr.GetString(8); itemNota.PercDescUnit = dr.GetString(9); itemNota.PercIpi = dr.GetString(10); itemNota.ValorIpi = dr.GetString(11); itemNota.ValorLiquido = dr.GetString(12); itemNota.ValorSt = dr.GetString(13); itemNota.DescontoSuframa = dr.GetString(14); itemNota.CodigoFamilia = dr.GetString(15); itemNota.ValorFrete = dr.GetDecimal(16); itemNota.SaldoDevolucao = Convert.ToInt32(dr["QTDDEVSALDO"]); string codigoDep = string.Empty; string DescricaoDep = string.Empty; PesquisarCentroCustoItemNoRateio(1, filial, numeroNota, serieNota, itemNota.Sequencia, out codigoDep, out DescricaoDep); if (!string.IsNullOrEmpty(codigoDep)) { itemNota.Departamento = codigoDep; itemNota.DescricaoDepartamento = DescricaoDep; } else { PesquisarCentroCustoItemNoProduto(1, itemNota.CodigoProduto, out codigoDep, out DescricaoDep); if (!string.IsNullOrEmpty(codigoDep)) { itemNota.Departamento = codigoDep; itemNota.DescricaoDepartamento = DescricaoDep; } else { PesquisarCentroCustoItemNaFamilia(1, itemNota.CodigoFamilia, out codigoDep, out DescricaoDep); itemNota.Departamento = codigoDep; itemNota.DescricaoDepartamento = DescricaoDep; } } listaItens.Add(itemNota); } dr.Close(); conn.Close(); return(listaItens); } catch (Exception ex) { throw ex; } }