You are on page 1of 26

1- Classe de coneccao 2- Retificar o formulario (NTAV) 3- Controlar a consistencia da insercao.

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mz.gov.sipmaj.Dao;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;

/** * * @author Jorge */ import java.sql.*;

public class ConexaoBD {

public Connection cnn = null; public PreparedStatement pstm = null; public Statement stm = null; public ResultSet rs = null;

public String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String url = "jdbc:sqlserver://dbserv:1433; Instance=SQL2008"; //private static final String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String user = "sa"; private static final String pswd = "Sipmaj2011";

public void abrirBanco() {

try { Class.forName(driver); cnn = DriverManager.getConnection(url, user, pswd); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { throw new RuntimeException(e); }

public void fecharBanco() { try { if (cnn != null) { cnn.close(); } } catch (SQLException e) {

throw new RuntimeException(e); } } /* public static Connection getConnection() { try { Class.forName(driver); return DriverManager.getConnection(url, user, pswd); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { throw new RuntimeException(e); } return null; } */ }

_____________________________________________________________________________________ package mz.gov.sipmaj.model.SecretariaGeral;

import mz.gov.sipmaj.Dao.*; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport;

import javax.mail.URLName; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.smtp.SMTPTransport; import java.io.*; import java.sql.*;

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;

import java.util.*; import java.util.regex.*;

import util.MessageFactory;

import javax.servlet.*; import javax.servlet.http.*; import javax.faces.context.*; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent;

import javax.faces.component.UIData; import javax.faces.model.SelectItem; import javax.faces.event.ValueChangeEvent; import javax.faces.context.FacesContext; import mz.gov.sipmaj.Geral.FileBean; import org.richfaces.model.UploadItem; import org.richfaces.component.html.HtmlDataTable;

public class SIPMAJFMPRPNTAV extends ConexaoBD {

//String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //String connectionUrl = "jdbc:sqlserver://localhost:1433; Instance=SQL2008;" + "databaseName=TJCM;user=sa;password=Sipmaj2011;"; //Connection con = null; //Statement st; //ResultSet res;

public SIPMAJFMPRPNTAV() { loadDriver(); this.isEnabled = true; }

public void loadDriver() { try { Class.forName(driver).newInstance(); //cnn = DriverManager.getConnection(connectionUrl);

//con = DriverManager.getConnection(url + db, user, pass); } catch (Exception s) { System.out.println("Error in loading driver: " + s); } } private Integer id; private String ldatac;//Data de Entrada; private String xrsobj;//Resumo private String dnmreq;//Nome do requerente private Date adtnas;//Data de nascimento private String xnacio;//Filiao private String xendpn;//Nome da pessoa a notificar private String xender;//Endereo da pessoa a notificar private String xmorada;//Morada do requerente private ArrayList listaRequerentes = new ArrayList(); //Listar requerentes private String searchValue = ""; private boolean isUserNameDisabled; private String buttonName = "Registar"; private String text; private Message message; private Session session; private Date currentDate; private Boolean isEnabled; private String UserId; private Integer codReqr;

private ArrayList<UploadItem> files = new ArrayList<UploadItem>();

/**************15/11/2011***********************/ /***************15/11/2011*************************/ public Integer getCodReqr() { return codReqr; }

public void setCodReqr(Integer codReqr) { this.codReqr = codReqr; }

public Integer getId() { return id; }

public void setId(Integer id) { this.id = id; }

public String getxmorada() { return xmorada; }

public void setxmorada(String xmorada) {

this.xmorada = xmorada; } public static final String DATE_FORMAT_NOW = "dd-MM-yyyy";

public String getldatac() { Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW); this.ldatac = sdf.format(cal.getTime()); return ldatac; }

public String getxrsobj() { return xrsobj; }

public void setxrsobj(String xrsobj) { this.xrsobj = xrsobj; }

public String getdnmreq() { return dnmreq; }

public void setdnmreq(String dnmreq) { this.dnmreq = dnmreq;

public Date getadtnas() { return adtnas; }

public void setadtnas(Date adtnas) { this.adtnas = adtnas; }

public String getxnacio() { return xnacio; }

public void setxnacio(String xnacio) { this.xnacio = xnacio; }

public String getxendpn() { return xendpn; }

public void setxendpn(String xendpn) { this.xendpn = xendpn; }

public String getxender() { return xender; }

public void setxender(String xender) { this.xender = xender; }

public String getsearchValue() { return searchValue; }

public void setsearchValue(String searchValue) { this.searchValue = searchValue; }

public boolean getIsUserNameDisabled() { return isUserNameDisabled; }

public void setIsUserNameDisabled(boolean isUserNameDisabled) { this.isUserNameDisabled = isUserNameDisabled; }

public String getButtonName() { return buttonName; }

public void setButtonName(String buttonName) { this.buttonName = buttonName; }

public Boolean getIsEnabled() { return isEnabled; }

public void setIsEnabled(Boolean isEnabled) { this.isEnabled = isEnabled; }

public String getUserId() { return UserId; }

public void setUserId(String UserId) { this.UserId = UserId; }

public String editProfile() throws Exception {

FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context.getExternalContext().getSession(true); //int id = (Integer) session.getAttribute("id");

String query = "SELECT * FROM SIPMAJTBMINTE where MINTE_GIDINT='" + codReqr + "'"; //MINTE_GIDINT,MINTE_GNACIO,MINTE_GLOCAL,MINTE_GDTNAS from SIPMAJTBMINTE where MINTE_GIDINT = " + lcodreu + " "; stm = cnn.createStatement(); rs = stm.executeQuery(query);

if ((rs.next())) { setxmorada(rs.getString("MINTE_GMORAD")); setadtnas(rs.getDate("MINTE_GDTNAS")); setxnacio(rs.getString("MINTE_GNACIO")); //+ " & " + res.getString("MINTE_GNMMAE")); }

stm.close(); rs.close(); return "editSuccess";

public String gravarRegisto() throws Exception { //if (validateData()) { FacesContext context = FacesContext.getCurrentInstance();

HttpSession session = (HttpSession) context.getExternalContext().getSession(true); //int id = (Integer) session.getAttribute("id"); String username = (String) session.getAttribute("username"); SimpleDateFormat out = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); int nrDocumento = nextdocumentoID();

String query = "insert into SIPMAJTBMDOCU(MDOCU_GIDOCU,MDOCU_GDATAC,MDOCU_GRSOBJ, MDOCU_GNUMAN, MDOCU_GIDSTR,MDOCU_GIDSTD,MDOCU_GUSRNM,MDOCU_GDATAM,MDOCU_GIDPRM) " + "values ('" + nrDocumento + "',GETDATE(),'" + getxrsobj() + "','" + files.size() + "','A','CR','" + username + "',GETDATE(),'SRE0000005')";

/*String query = "insert into SIPMAJTBMDOCU(MDOCU_GIDOCU,MDOCU_GDATAC,MDOCU_GLOCAL,MDOCU_GRSOBJ,MDOCU_GID STR,MDOCU_GIDSTD,MDOCU_GUSRNM,MDOCU_GDATAM) " + "values ('" + nrDocumento + "',GETDATE(),'" + getxnacio() + "','" + getxrsobj() + "','A','CR','"+ username +"',GETDATE())";*/ try { cnn.setAutoCommit(false); stm = cnn.createStatement(); stm.executeUpdate(query); cnn.commit(); } catch (SQLException e) { //JDBCTutorialUtilities.printSQLException(e); if (cnn != null) { try { System.err.print("Transaction is being rolled back"); cnn.rollback();

} catch (SQLException excep) { //JDBCTutorialUtilities.printSQLException(excep); } } } finally { if (stm != null) { stm.close(); } cnn.setAutoCommit(true); }

String query1 = "insert into SIPMAJTBMPNAV(MPNAV_GIDOCU,MPNAV_GIDINT,MPNAV_GNMPEN,MPNAV_GENDER,MPNAV_GUSR NM,MPNAV_GDATAM) " + "values ('" + nrDocumento + "','" + getCodReqr() + "','" + getxendpn() + "','" + getxender() + "','" + username + "',GETDATE())"; try { cnn.setAutoCommit(false); stm = cnn.createStatement(); stm.executeUpdate(query1); cnn.commit(); } catch (SQLException e) { //JDBCTutorialUtilities.printSQLException(e); if (cnn != null) { try { System.err.print("Transaction is being rolled back"); cnn.rollback();

} catch (SQLException excep) { //JDBCTutorialUtilities.printSQLException(excep); } } } finally { if (stm != null) { stm.close(); } cnn.setAutoCommit(true); }

String query2 = "insert into SIPMAJTBMDINC(MDINC_GIDOCU ,MDINC_GIDINT ,MDINC_GIDCTI ,MDINC_GUSRNM ,MDINC_GDATAM ) " + "values ('" + nrDocumento + "','" + getCodReqr() + "',6,'" + username + "',GETDATE())"; try { cnn.setAutoCommit(false); stm = cnn.createStatement(); stm.executeUpdate(query2); cnn.commit(); } catch (SQLException e) { //JDBCTutorialUtilities.printSQLException(e); if (cnn != null) { try { System.err.print("Transaction is being rolled back"); cnn.rollback(); } catch (SQLException excep) {

//JDBCTutorialUtilities.printSQLException(excep); } } } finally { if (stm != null) { stm.close(); } cnn.setAutoCommit(true); }

//Gravar Paths de Anexos na BD

UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent("SIPMAJFMPRPNTAV:table");

if (comp != null) { UIData uIData = (UIData) comp; HtmlDataTable myTable = (HtmlDataTable) uIData;

for (int i = 0; i < myTable.getRowCount(); i++) { //loop over the rows myTable.setRowIndex(i); //get the values that the user edited for this row FileBean modifiedElement = (FileBean) myTable.getRowData();

String query3 = "insert into SIPMAJTBMANEX(MANEX_GIDOCU ,MANEX_GNMANE,MANEX_GLOCAL,MANEX_GUSRNM ,MANEX_GDATAM) " + "values ('" + nrDocumento + "','" + modifiedElement.getName() + "','" + modifiedElement.getPath() + "','" + username + "',GETDATE())";

try { cnn.setAutoCommit(false); stm = cnn.createStatement(); stm.executeUpdate(query3); cnn.commit(); } catch (SQLException e) { //JDBCTutorialUtilities.printSQLException(e); if (cnn != null) { try { System.err.print("Transaction is being rolled back"); cnn.rollback(); } catch (SQLException excep) { //JDBCTutorialUtilities.printSQLException(excep); } } } finally { if (stm != null) { stm.close(); } cnn.setAutoCommit(true); }

} myTable.setRowIndex(-1); }

// } return "Successo";

private Integer nextdocumentoID() throws java.sql.SQLException { //ResultSet rs = null; // Create a Statement object for submitting SQL commands to driver //Statement stm = cnn.createStatement(); String sql;

sql = "SELECT MAX(MDOCU_GIDOCU) + 1 FROM SIPMAJTBMDOCU"; rs = stm.executeQuery(sql); //throws SQLExecption if fails rs.next(); // get the key int counter = rs.getInt(1); rs.close(); return new Integer(counter);

public ArrayList getlistaRequerentes() throws Exception { try { listaRequerentes.clear(); stm = cnn.createStatement(); rs = stm.executeQuery("select MINTE_GIDINT,MINTE_GNMINT,MINTE_GDTNAS from SIPMAJTBMINTE"); while (rs.next()) { codReqr = rs.getInt("MINTE_GIDINT"); dnmreq = rs.getString("MINTE_GNMINT"); listaRequerentes.add(new SelectItem(codReqr, dnmreq)); } } catch (Exception e) { System.out.println("Erro BD : " + e.getMessage()); } return listaRequerentes; }

private boolean validateData() throws Exception { boolean status = true; MessageFactory mf = new MessageFactory(); FacesContext ctx = FacesContext.getCurrentInstance();

Pattern p3 = Pattern.compile("^[a-zA-Z]+$");

Matcher m3 = p3.matcher(xrsobj); boolean matchFound3 = m3.matches();

if (!matchFound3) { ctx.addMessage("SIPMAJFMPRPNTAV:xrsobj", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorXrsobj"), null)); status = false; }

/*if (!(((lastName.length()) >= 1) && ((lastName.length()) <= 25))) { ctx.addMessage("UserForm:lastName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorLastNameLength"), null)); status = false; }

Pattern p4 = Pattern.compile("^[a-zA-Z]+$"); Matcher m4 = p4.matcher(lastName); boolean matchFound4 = m4.matches();

if (!matchFound4) { ctx.addMessage("UserForm:lastName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorLastName"), null)); status = false; }

if (getId().intValue() == 0) { //Checking User Name String username = userName.trim(); if ((username.length()) == 0) { ctx.addMessage("UserForm:userName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorUserNameBlank"), null)); status = false; }

if ((!(validUser()))) { ctx.addMessage("UserForm:userName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorValidUserName"), null)); status = false; }

if ((username.length()) < 6 || (username.length()) > 20) { ctx.addMessage("UserForm:userName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorUserNameLength"), null)); status = false; }

String iChars = "!@#$%^&*()+=-[]\\\';,/{}|\":<>?"; for (int i = 0; i <

userName.length(); i++) { if (iChars.indexOf(userName.charAt(i)) != -1) { ctx.addMessage("UserForm:userName", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorUserName"), null)); status = false; break;

} }

if ((password.length()) < 6 || (password.length()) > 20) { ctx.addMessage("UserForm:password", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorPasswordLength"), null)); status = false; }

Pattern p1 = Pattern.compile("^[a-zA-Z0-9]+$"); Matcher m1 = p1.matcher(password); boolean matchFound1 = m1.matches();

if (!matchFound1) { ctx.addMessage("UserForm:password", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorPassword"), null)); status = false; }

if ((confirmPassword.length()) < 6 || (confirmPassword.length()) > 20) { ctx.addMessage("UserForm:confirmPassword", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorConfirmPasswordLength"), null)); status = false; }

Pattern p2 = Pattern.compile("^[a-zA-Z0-9]+$"); Matcher m2 = p2.matcher(confirmPassword); boolean matchFound2 = m2.matches();

if (!matchFound2) { ctx.addMessage("UserForm:confirmPassword", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorConfirmPasswordValid"), null)); status = false; }

if (!confirmPassword.equals(password)) {

ctx.addMessage("UserForm:confirmPassword", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorConfirmPassword"), null)); status = false; }

//Checking Email address Pattern p6 = Pattern.compile(".+@.+\\.[a-z]+"); Matcher m6 = p6.matcher(email); boolean matchFound6 = m6.matches();

if (!matchFound6) { ctx.addMessage("UserForm:email", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorEmail"), null)); status = false; }

if (getId().intValue() == 0) { if ((!(validEmail()))) { ctx.addMessage("UserForm:email", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorValidEmail"), null)); status = false; }

// End of checking Email address

String adrs = address.trim(); if ((adrs.length()) == 0) { ctx.addMessage("UserForm:address", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorAddressBlank"), null)); status = false; }

String countryName = select.trim(); if ((countryName.length()) == 0) { ctx.addMessage("UserForm:country", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorCountryBlank"), null)); status = false; }

String stateName = state.trim(); if ((stateName.length()) == 0) { ctx.addMessage("UserForm:state", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorStateBlank"), null)); status = false; }

String cn = contactNumber.trim();

if ((cn.length()) == 0) { ctx.addMessage("UserForm:contactNumber", new FacesMessage(FacesMessage.SEVERITY_ERROR, mf.getMessage("errorContactNumberBlank"), null)); status = false; } */ //if (getId().intValue() != 0) { if (status == false) { setIsUserNameDisabled(true); setButtonName("Gravar alteraes"); } //} return status; } }

You might also like