Description du système
Le système de gestion des performances des employés est développé à l'aide de technologies telles que JavaWeb, MySQL, SSM (Spring, SpringMVC, MyBatis) et Bootstrap. Il permet de gérer les informations des employés, les annonces, les performances et les salaires avec des fonctionnalités comme l'ajout, la modification, la suppression et la recherche.
Configuration requise
- Java ≥ 8
- MySQL ≥ 5.7
- Tomcat ≥ 8
Outils de développement
N'imporet quel IDE comme Eclipse, IntelliJ IDEA, MyEclipse ou STS peut être utilisé pour configurer et exécuter le projet.
Technologies utilisées
- JavaBean
- MVC
- JSP
- SSM (Spring, SpringMVC, MyBatis)
- CSS, JavaScript, Bootstrap
Cas d'utilisation
Ce système est idéal pour les projets académiques, les travaux de fin d'études, la pratique de projets ou les démonstrations pédagogiques.
Fonctionnalités principales
- Connexion, inscription, déconnexion
- Gestion des utilisateurs
- Gestion des annonces
- Gestion des performances
- Gestion des employés
- Gestion des salaires
Exemple de code : Contrôleur des employés
@Controller
@RequestMapping("/employee")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@RequestMapping("/add")
public void create(Employee employee, HttpServletResponse response, HttpServletRequest request) throws IOException {
Long userId = ((User) request.getSession().getAttribute("user")).getId();
employee.setCreatedBy(userId);
employeeService.save(employee);
redirectToList(request, response);
}
@RequestMapping("/delete")
public void remove(HttpServletResponse response, HttpServletRequest request) throws IOException {
String id = request.getParameter("id");
employeeService.delete(Collections.singletonList(id));
redirectToList(request, response);
}
@RequestMapping("/edit")
public void update(Employee employee, HttpServletResponse response, HttpServletRequest request) throws IOException {
employeeService.modify(employee);
redirectToList(request, response);
}
@RequestMapping({"/view", "/prepareEdit"})
public void fetch(HttpServletResponse response, HttpServletRequest request) throws IOException {
String id = request.getParameter("id");
Employee employee = employeeService.fetchById(id);
request.getSession().setAttribute("employee", employee);
String page = request.getRequestURI().contains("view") ? "details" : "modifier";
response.sendRedirect("employee_" + page + ".jsp");
}
@RequestMapping("/list")
public void fetchAll(HttpServletResponse response, HttpServletRequest request) throws IOException {
redirectToList(request, response);
}
private void redirectToList(HttpServletRequest request, HttpServletResponse response) throws IOException {
String column = request.getParameter("searchColumn");
String keyword = request.getParameter("keyword");
Map<string object=""> parameters = new HashMap<>();
parameters.put("column", column);
parameters.put("keyword", keyword);
Map<string object=""> result = employeeService.fetchAll(parameters);
List<employee> employees = (List<employee>) result.get("list");
request.getSession().setAttribute("employees", employees);
response.sendRedirect("employee_list.jsp");
}
}
</employee></employee></string></string>
Exemple de code : Génération de code de vérification
@RequestMapping("/generateCode")
public void generateValidationCode(HttpServletResponse response, HttpServletRequest request) throws IOException {
String allowedChars = "0123456789";
int length = allowedChars.length();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
int width = 90, height = 20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
Random random = new Random();
g.setColor(getRandomColor(180, 250));
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman", Font.ITALIC, height));
g.setColor(getRandomColor(120, 180));
StringBuilder code = new StringBuilder();
String[] fonts = {"Times New Roman", "Book antiqua", "Arial"};
for (int i = 0; i < 4; i++) {
g.setFont(new Font(fonts[random.nextInt(3)], Font.ITALIC, height));
char character = allowedChars.charAt(random.nextInt(length));
code.append(character);
g.setColor(getRandomColor(10, 100));
g.drawString(String.valueOf(character), 16 * i + random.nextInt(7), height - random.nextInt(6));
}
HttpSession session = request.getSession();
session.setAttribute("validationCode", code.toString());
g.dispose();
ImageIO.write(image, "JPEG", response.getOutputStream());
}