private void addWorkers() { ResourceType type; ArrayList<Resource> users = null; ArrayList<Project> projects = null; Random random = new Random(1l); try { type = resourceTypeDAO.getResourceTypeByResourceTypeName("human"); users = resourceDAO.getResourcesByResourceType(type); projects = projectDAO.getAllProjects(); } catch (Exception e) { e.printStackTrace(); } for (Project project : projects) { int workers = random.nextInt(11) + 5; Resource user = users.get(random.nextInt(users.size())); try { resourceDAO.insertUserTask(user.getResourceID(), project.getProjectID(), true); } catch (UserWorkOnThisProjectException e) { e.printStackTrace(); } for (int i = 0; i < workers; ++i) { user = users.get(random.nextInt(users.size())); try { resourceDAO.insertUserTask( user.getResourceID(), project.getProjectID(), (random.nextInt(5) == 0)); } catch (UserWorkOnThisProjectException e) { System.out.println( "User already assigned, but don't worry, there are plenty to choose from"); } } } }
// ---------------------------------------------------------------// public void projectModifier( String Mode, Project project, HashMap<String, ArrayList<Task>> taskManager) throws SQLException { int proid = -7777; Connection conn = null; PreparedStatement prepStmt = null; try { conn = select(); if (Mode.equals("New Project")) proid = insertProject(project, conn); else proid = editProject(project, conn); project.setProjectID(proid); for (Task ts : taskManager.get("toInsert")) { addTasktoProject(project.getProjectID(), ts, conn); } for (Task ts : taskManager.get("toDelete")) { deleteTask(ts, conn); } for (Task ts : taskManager.get("toEdit")) { updateTasktoProject(ts, conn); } } finally { if (prepStmt != null) conn.close(); if (conn != null) conn.close(); } }
// ---------------------------------------------------------------// public int editProject(Project project, Connection conn) throws SQLException { PreparedStatement prepStmt = null; int rtrn = -1; java.util.Date date = new java.util.Date(); Timestamp currentdate = new Timestamp(date.getTime()); conn = select(); String sql = "UPDATE PROJECTS SET PROJ_NAME=?,MODIFIED_AT=?,MODIFIED_BY=?,PROJ_ACTIVE=?,PROJ_BUDGET=?,PROJ_DEADLINE=?,PROJ_DESCRIPTION=?,PROJ_FROM=?,PROJ_TYPE=?,PROJ_TO=?,CUST_ID=?,ROWVERSION=ROWVERSION+1" + "WHERE PROJ_ID=?"; prepStmt = conn.prepareStatement(sql); prepStmt.setString(1, project.getName()); prepStmt.setTimestamp(2, currentdate); prepStmt.setString(3, project.getModified_by()); if (project.isActive()) prepStmt.setString(4, "Y"); else prepStmt.setString(4, "N"); if (project.getBudget() != -1) prepStmt.setFloat(5, project.getBudget()); else prepStmt.setInt(5, 0); if (project.getNextDeadline() == null) prepStmt.setDate(6, null); else prepStmt.setDate(6, new java.sql.Date(project.getNextDeadline().getTime())); prepStmt.setString(7, project.getDescription()); prepStmt.setDate(8, new java.sql.Date(project.getStartDate().getTime())); prepStmt.setString(9, project.getProjectType()); if (project.getEndDate() == null) prepStmt.setDate(10, null); else prepStmt.setDate(10, new java.sql.Date(project.getEndDate().getTime())); prepStmt.setInt(11, project.getCustomerID()); prepStmt.setInt(12, project.getProjectID()); prepStmt.executeUpdate(); rtrn = project.getProjectID(); return rtrn; }
// ---------------------------------------------------------------// public void deleteProject(Project project) throws SQLException { Connection conn = null; PreparedStatement prepStmt = null; try { conn = select(); String sql = "DELETE FROM PROJECTS WHERE PROJ_ID = " + String.valueOf(project.getProjectID()); prepStmt = conn.prepareStatement(sql); prepStmt.executeQuery(); } finally { if (prepStmt != null) conn.close(); if (conn != null) conn.close(); } return; }
private void addNonHumanBookings() { ArrayList<Resource> resources = null; Random random = new Random(1l); try { resources = resourceDAO.getResourcesByResourceType( resourceTypeDAO.getResourceTypeByResourceTypeName("machine")); resources.addAll( resourceDAO.getResourcesByResourceType( resourceTypeDAO.getResourceTypeByResourceTypeName("room"))); } catch (Exception e) { e.printStackTrace(); } ArrayList<Project> allProjects = null; try { allProjects = projectDAO.getAllProjects(); } catch (Exception e) { e.printStackTrace(); } for (Resource resource : resources) { HashSet<Project> projects = new HashSet<Project>(); for (int i = 0; i < 3; ++i) { projects.add(allProjects.get(random.nextInt(allProjects.size()))); } int max = (projects.size() > 0) ? (50 / projects.size()) : 0; for (Project project : projects) { for (int i = project.getStartWeek(); i <= project.getDeadLine(); ++i) { if (random.nextInt(2) == 0) { Booking booking = new Booking(); booking.setProjectID(project.getProjectID()); booking.setResourceID(resource.getResourceID()); booking.setWeek(i); booking.setRatio(((float) (random.nextInt(max + 1) + max)) / 100); try { bookingDAO.insertBooking(booking); } catch (DAOException e) { e.printStackTrace(); } System.out.println(booking); } } } } }
private void addHumanBookings() { ArrayList<Resource> workers = null; Random random = new Random(1l); try { workers = resourceDAO.getResourcesByResourceType( resourceTypeDAO.getResourceTypeByResourceTypeName("human")); } catch (Exception e) { e.printStackTrace(); } for (Resource worker : workers) { ArrayList<Project> projects = null; try { projects = projectDAO.getProjectsByWorker(worker); } catch (Exception e) { e.printStackTrace(); } int max = (projects.size() > 0) ? (50 / projects.size()) : 0; for (Project project : projects) { for (int i = project.getStartWeek(); i <= project.getDeadLine(); ++i) { if (random.nextInt(2) == 0) { Booking booking = new Booking(); booking.setProjectID(project.getProjectID()); booking.setResourceID(worker.getResourceID()); booking.setWeek(i); booking.setRatio(((float) (random.nextInt(max + 1) + max)) / 100); try { bookingDAO.insertBooking(booking); } catch (DAOException e) { e.printStackTrace(); } System.out.println(booking); } } } } }
private void saveActionPerformed( java.awt.event.ActionEvent evt) { // GEN-FIRST:event_saveActionPerformed // TODO add your handling code here: currentProject.setProjectName(projectname.getText()); currentProject.setProjectDescription(projectdescription.getText()); try { File file = new File("projects.txt"); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } // true = append file FileWriter fileWritter = new FileWriter(file.getName(), true); BufferedWriter bufferWritter = new BufferedWriter(fileWritter); bufferWritter.write( currentProject.getProjectID() + " " + currentProject.getProjectName() + " " + currentProject.getProjectDescription()); for (int i = 0; i < currentProject.getRequirements().size(); i++) { bufferWritter.write( currentProject.getRequirements().get(i).getRequirementID() + " " + currentProject.getRequirements().get(i).getRequirementDescription()); if (currentProject.getRequirements().get(i).getIsFunctionalRequirement() == false) { bufferWritter.write(" non-functional"); } else bufferWritter.write(" functional"); } for (int i = 0; i < currentProject.getTeamMembers().size(); i++) { bufferWritter.write( currentProject.getTeamMembers().get(i).getPersonID() + " " + currentProject.getTeamMembers().get(i).getFirstName() + " " + currentProject.getTeamMembers().get(i).getLastName() + " " + currentProject.getTeamMembers().get(i).getPosition()); } for (int i = 0; i < currentProject.getEfforts().size(); i++) { bufferWritter.write( currentProject.getEfforts().get(i).getEffortID() + " " + currentProject.getEfforts().get(i).getRequirementID() + " " + currentProject.getEfforts().get(i).getEffortDevPhase() + " " + currentProject.getEfforts().get(i).getEffortDate() + " " + currentProject.getEfforts().get(i).getEffortHours()); } for (int i = 0; i < currentProject.getGoals().size(); i++) { bufferWritter.write( currentProject.getGoals().get(i).getGoalID() + " " + currentProject.getGoals().get(i).getGoalType() + " " + currentProject.getGoals().get(i).getGoalDesc()); } for (int i = 0; i < currentProject.getRisks().size(); i++) { bufferWritter.write( currentProject.getRisks().get(i).getRiskID() + " " + currentProject.getRisks().get(i).getRiskName() + " " + currentProject.getRisks().get(i).getRiskStatus()); } bufferWritter.close(); } catch (IOException e) { JOptionPane.showMessageDialog(this, "Couldn't save", "Didn't work", INFORMATION_MESSAGE); } JOptionPane.showMessageDialog( this, "Project Successfully saved", "Success", INFORMATION_MESSAGE); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/projectmanagementsystem?zeroDateTimeBehavior=convertToNull", "root", "password"); String query = "insert into project(projectname, projectdesc) values (?, ?)"; PreparedStatement pst = con.prepareStatement(query); pst.setString(1, currentProject.getProjectName()); pst.setString(2, currentProject.getProjectDescription()); pst.executeUpdate(); String query2 = "select idproject from project where projectdesc = ?"; PreparedStatement pst2 = con.prepareStatement(query2); String desc = currentProject.getProjectDescription(); pst2.setString(1, desc); ResultSet rs = pst2.executeQuery(); int id = 0; if (rs.next()) { id = rs.getInt("idproject"); } System.out.println(id); for (int i = 0; i < currentProject.getTeamMembers().size(); i++) { String query3 = "insert into teammember(firstname,lastname,position,teammember_FK) values (?,?,?,?)"; PreparedStatement pst3 = con.prepareStatement(query3); pst3.setString(1, currentProject.getTeamMembers().get(i).getFirstName()); pst3.setString(2, currentProject.getTeamMembers().get(i).getLastName()); pst3.setString(3, currentProject.getTeamMembers().get(i).getPosition()); pst3.setInt(4, id); pst3.executeUpdate(); } for (int i = 0; i < currentProject.getGoals().size(); i++) { String query3 = "insert into goal(goaldesc,goaltype,goal_FK) values (?,?,?)"; PreparedStatement pst3 = con.prepareStatement(query3); pst3.setString(1, currentProject.getGoals().get(i).getGoalDesc()); pst3.setString(2, currentProject.getGoals().get(i).getGoalType()); pst3.setInt(3, id); pst3.executeUpdate(); } for (int i = 0; i < currentProject.getRequirements().size(); i++) { int functional = 0; if (currentProject.getRequirements().get(i).getIsFunctionalRequirement() == true) { functional = 1; } String query3 = "insert into requirement(isFunctionalRequirement,requirementdesc,requirement_FK) values (?,?,?)"; PreparedStatement pst3 = con.prepareStatement(query3); pst3.setInt(1, functional); pst3.setString(2, currentProject.getRequirements().get(i).getRequirementDescription()); pst3.setInt(3, id); pst3.executeUpdate(); } for (int i = 0; i < currentProject.getRisks().size(); i++) { String query3 = "insert into risk(riskname,riskstatus,risk_FK) values (?,?,?)"; PreparedStatement pst3 = con.prepareStatement(query3); pst3.setString(1, currentProject.getRisks().get(i).getRiskName()); pst3.setString(2, currentProject.getRisks().get(i).getRiskStatus()); pst3.setInt(3, id); pst3.executeUpdate(); } for (int i = 0; i < currentProject.getEfforts().size(); i++) { String query4 = "select idrequirement from requirement where requirementdesc = ?"; PreparedStatement pst4 = con.prepareStatement(query4); String desc2 = currentProject.getEfforts().get(i).getRequirementDesc(); pst4.setString(1, desc2); ResultSet rs2 = pst4.executeQuery(); int reqid = 0; if (rs.next()) { reqid = rs2.getInt("idrequirement"); } System.out.println(reqid); String query3 = "insert into effort(effortdate,efforthours,effortdevphase,effort_FK) values (?,?,?,?)"; PreparedStatement pst3 = con.prepareStatement(query3); pst3.setString(1, currentProject.getEfforts().get(i).getEffortDate()); pst3.setInt(2, currentProject.getEfforts().get(i).getEffortHours()); pst3.setString(3, currentProject.getEfforts().get(i).getEffortDevPhase()); pst3.setInt(4, reqid); pst3.executeUpdate(); } } catch (Exception e) { System.out.println(e.toString()); } } // GEN-LAST:event_saveActionPerformed