Atualizar estoque

2 respostas
Naruto

Boa Tarde galera to com um problema... tenhu duas tabelas uma medicamentos aonde eu tenhu um campo qtd e outra tabela chamada saida_medicamentos ... ai gostaria de quando eo gravar uma saida.. ele desse baixa na tabela medicamento no campo qtd.. por exemplo

qtd - qtdsaida

estou usando MVC

aqui vai as minha classes...

MedicamentoDAO
package br.com.sissaude.dao;

import java.sql.ResultSet;
import java.sql.Statement;


import br.com.sissaude.dto.MedicamentosDTO;


public class MedicamentosDAO {
	
	private ResultSet rs = null;
	
	
	public boolean alterarMedicamento(MedicamentosDTO medicamentosDTO){
		try{
			
			Conexao.ConectDB();
			Statement stmt = Conexao.con.createStatement();
			String comando = "Update medicamento set "+ 
					"qtd = '"+medicamentosDTO.getQtd()+"' "+
					"where cod_med = "+medicamentosDTO.getCod_med();
			
			stmt.execute(comando.toUpperCase());
			Conexao.con.commit();
			stmt.close();
			Conexao.CloseDB();
			return true;
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
	}//fecha o método para alterar o fornecedor no banco de dados
	
	public ResultSet consultarMedicamentos(){
		try{
			Conexao.ConectDB();
			Statement stmt = Conexao.con.createStatement();
			String comando = "Select * from medicamento order by descricao";
			
			rs = stmt.executeQuery(comando);
			return rs;
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			return rs;
		}
	}

}

aqui a MedicamentoCTR

package br.com.sissaude.ctr;

import java.sql.ResultSet;

import br.com.sissaude.dao.FornecedorDAO;
import br.com.sissaude.dao.MedicamentosDAO;
import br.com.sissaude.dto.FornecedorDTO;
import br.com.sissaude.dto.MedicamentosDTO;

public class MedicamentosCTR {
	
	public boolean alterarMedicamento(MedicamentosDTO medicamentosDTO){
		try{ 
			MedicamentosDAO medicamentosDAO = new MedicamentosDAO();
		
			if(medicamentosDAO.alterarMedicamento(medicamentosDTO)){
				return true;
			}
			else{
				return false;
			}
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
	}//fecha o metodo para montar o objeto e enviar para o DAO
	
	public ResultSet consultarMedicamentos(MedicamentosDTO medicamentosDTO){
		ResultSet rs = null;
		
		MedicamentosDAO medicamentosDAO = new MedicamentosDAO();
	
		
		
		
		rs = medicamentosDAO.consultarMedicamentos();
		
		return rs;
		}

}

SaidaMedicamentoDAO

package br.com.sissaude.dao;

import java.sql.ResultSet;
import java.sql.Statement;

import br.com.sissaude.dto.SaidaMedicamentoDTO;

public class SaidaMedicamentoDAO {
	
	public SaidaMedicamentoDAO(){
		
	}
	private ResultSet rs = null;
	
	public boolean inserirSaidaMed(SaidaMedicamentoDTO saidaMedicamentoDTO){
		try{
			
			Conexao.ConectDB();
			Statement stmt = Conexao.con.createStatement();
			String comando = "Insert into saida_medicamentos (cod_paciente,cod_med,qtd,data " + 
					") values ( "+
					"'"+saidaMedicamentoDTO.getCod_paciente()+"', "+
					"'"+saidaMedicamentoDTO.getCod_med()+"', "+
					"'"+saidaMedicamentoDTO.getQtd()+"',    "+
					"'"+saidaMedicamentoDTO.getData()+ "')";
			
			stmt.execute(comando.toUpperCase());
			//System.out.println(comando.toUpperCase());
			Conexao.con.commit();
			stmt.close();
			Conexao.CloseDB();
			return true;
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
	}//fecha o método para inserir o fornecedor no banco de dados

}

SaidaMedicamentoCTR

package br.com.sissaude.ctr;

import br.com.sissaude.dao.SaidaMedicamentoDAO;
import br.com.sissaude.dto.SaidaMedicamentoDTO;

public class SaidaMedicamentoCTR {
	
	
	public boolean inserirSaidaMed(SaidaMedicamentoDTO saidaMedicamentoDTO){
		try{
			SaidaMedicamentoDAO saidaMedicamentoDAO = new SaidaMedicamentoDAO();
	
			
			if(saidaMedicamentoDAO.inserirSaidaMed(saidaMedicamentoDTO)){
				return true;
			}
			else{
				return false;
			}
		}
		catch(Exception e){
			System.out.println(e.getMessage());
			return false;
		}
	}//Fecha o método para montar o objeto e envia para o DAO

}

alguem poderia me ajudar como posso fazer isso no jsp agora
??
vlwwwww

2 Respostas

P

Não sei se entendi bem o que você quer, mas ja deu uma pesquisada sobre triggers?

mateusprado

Bom, se você usa query nativas, pode usar triggers(consulte a documentação de seu banco). Caso resolva ou ja está usando Hibernate, você pode ter o controle disso com JTA(Java Transaction API).

Boa Sorte.

Criado 22 de agosto de 2008
Ultima resposta 22 de ago. de 2008
Respostas 2
Participantes 3