Eu possuo uma classe principal NotaFiscal e esta classe tem associação com ItemNota onde esta associada a Produto.
Na classe NotaFiscal preciso de um metodo que pegue quantidade do ItemNota, e também pegue codigo, descrcao e preco da classe Produto
Este método terá o nome de adicionarItens…que no caso fiz assim:
public static void adicionarItem(Produto prod, int qtd) {
ItemNota it = new ItemNota();
it.setProduto(prod);
it.setQuant(qtd);
// adiciona item na lista de itens
// items.add(it);
}
A duvida é eu precisaria deste método onde o preco calcule preco do produto multiplicado por quant da classe item nota.
Existe outras duas classes chamadas ICMSRS e ICMSSC, onde a icms o imposto é de 17% sobre o valor total do calculo preco x quant que no caso chamarei de ValorParcial…
Neste médoto se eu disser que uf (atributo na classe NotaFiscal) for 1 então é RS e pega os 17% para aplicar no ValorParcial se for 2 pegao 12%.
Minha duvida é montar com uso de get /set…o método e chamar num main…Pois nesse metodo vou aplicar a utilização de JUnit classe de TestImposto
CLASSE NOTAFISCAL
public abstract class NotaFiscal {
private static int codigo;
private Date data;
private static String uf;
public static void main(String[] args) {
ItemNota item = new ItemNota();
System.out.println(item.getQuant());
System.out.println(item.getDescricao());
System.out.println(item.getCodigo());
}
// private static List<ItemNota> items;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public Date getData() {
return data;
}
public void setData(Date data) {
this.data = data;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
// public List<ItemNota> getItems() {return items;}
public static void adicionarItem(Produto prod, int qtd) {
ItemNota it = new ItemNota();
it.setProduto(prod);
it.setQuant(qtd);
// adiciona item na lista de itens
// items.add(it);
}
public void calcularTotal() {/* return */
}
public void calcularTotalSemipostos() { /* return */
}
public NotaFiscal(Date data, String uf) {
super();
this.data = data;
this.uf = uf;
// this.items = new ArrayList<ItemNota>();
}
}
CLASSE ITEMNOTA
public class ItemNota {
private Produto produto;
private int quant = 3;
// setter's
public void setProduto(Produto produto) {this.produto = produto;}
public void setQuant(int quant) {this.quant = quant;}
// get's
public Produto getProduto() {return produto;}
public int getQuant() {return quant;}
public float getValorParcial() {return quant * produto.getPreco();}
public String getDescricao() {return null;}
public int getCodigo(){return produto.getCodigo();}
}
CLASSE PRODUTO
public class Produto {
private int codigo;
private String descricao;
private float preco;
public Produto(int codigo, String descricao, float preco) {
super();
this.codigo = codigo;
this.descricao = descricao;
this.preco = preco;
}
public Produto(String preco2, String codigo2) {
// TODO Auto-generated constructor stub
}
//setter's
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {this.codigo = codigo;}
public void setDescricao(String descricao) {this.descricao = descricao;}
public void setPreco(float preco) {this.preco = preco;}
public String getDescricao() {return descricao;}
public float getPreco() {return preco;}
@Override
public String toString() {
return "Produto [codigo=" + codigo + ", descricao=" + descricao
+ ", preco=" + preco + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + codigo;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Produto other = (Produto) obj;
if (codigo != other.codigo)
return false;
return true;
}
public String getQuantidade() { return null;}
public String getValorParcial() {return null;}
}
CLASSE ICSM RS
public class CalculoICMSRS {
int imposto = 17;
public int getImposto() {
return imposto;
}
public void setImposto(int imposto) {
this.imposto = imposto;
}
}
CLASSE ICMS SC
[code]
public class CalculoICMSSC {
int imposto = 12;
public int getImposto() {
return imposto;
}
public void setImposto(int imposto) {
this.imposto = imposto;
}
}[/code]