Commit 4cd8cb9e authored by đinh thị đầm's avatar đinh thị đầm

commit master

parent 46de3712
package com.itsol.quantrivanphong.service;
package com.itsol.quantrivanphong.business;
import com.itsol.quantrivanphong.model.Employee;
import org.springframework.validation.Validator;
import java.util.List;
public interface EmployeeService extends Validator {
public interface EmployeeBusiness extends Validator {
List<Employee> findAll();
Employee findById(int id);
......
package com.itsol.quantrivanphong.service.impl;
package com.itsol.quantrivanphong.business.impl;
import com.itsol.quantrivanphong.model.Employee;
import com.itsol.quantrivanphong.repository.EmployeeRepository;
import com.itsol.quantrivanphong.service.EmployeeService;
import com.itsol.quantrivanphong.business.EmployeeBusiness;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.validation.Errors;
......@@ -11,7 +11,7 @@ import org.springframework.validation.Errors;
import java.util.List;
@Service
public class EmployeeServiceImpl implements EmployeeService {
public class EmployeeBusinessImpl implements EmployeeBusiness {
@Autowired
private EmployeeRepository employeeRepository;
......
package com.itsol.quantrivanphong.controller;
import com.itsol.quantrivanphong.model.Employee;
import com.itsol.quantrivanphong.service.EmployeeService;
import com.itsol.quantrivanphong.business.EmployeeBusiness;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
......@@ -15,34 +15,34 @@ import java.util.List;
public class EmployeeController {
@Autowired
//Retrieve Employee by id
private EmployeeService employeeService;
private EmployeeBusiness employeeBusiness;
@RequestMapping(value = "/employee/{id}", method = RequestMethod.GET)
public ResponseEntity<Employee> getEmployee(@PathVariable("id") int id) {
System.out.println("Fetching employee with id " + id);
Employee employee = employeeService.findById(id);
Employee employee = employeeBusiness.findById(id);
if (employee == null) {
System.out.println("Employee with id : " + id + " not found");
return new ResponseEntity<Employee>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<Employee>( employee , null,HttpStatus.OK);
return new ResponseEntity<Employee>( employee ,HttpStatus.OK);
}
//Retrieve all employee
@RequestMapping(value = "/list_employee", method = RequestMethod.GET)
public ResponseEntity<List<Employee>> listAllEmployee() {
List<Employee> employees = employeeService.findAll();
List<Employee> employees = employeeBusiness.findAll();
if (employees == null) {
return new ResponseEntity<List<Employee>>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<List<Employee>>( employees , null ,HttpStatus.OK);
}
//Update Employee
//Update a Employee
@RequestMapping(value = "/employee/{id}", method = RequestMethod.PUT)
public ResponseEntity<Employee> updateEmployee(@PathVariable("id") int id, @RequestBody Employee employee) {
System.out.println("Update Employee " + id);
Employee currentEmployee = employeeService.findById(id);
Employee currentEmployee = employeeBusiness.findById(id);
if (employee == null) {
System.out.println("Employee with id :" + id + "not found");
return new ResponseEntity<Employee>(HttpStatus.NOT_FOUND);
......@@ -62,20 +62,34 @@ public class EmployeeController {
currentEmployee.setDepartment(employee.getDepartment());
currentEmployee.setGraduationYear(employee.getGraduationYear());
currentEmployee.setPicture(employee.getPicture());
employeeService.save(currentEmployee);
employeeBusiness.save(currentEmployee);
return new ResponseEntity<Employee>( currentEmployee ,HttpStatus.OK);
}
//create new Employee
//Create a Employee
@RequestMapping(value = "/list_employee", method = RequestMethod.POST)
public ResponseEntity<Void> createEmployee(@RequestBody Employee employee,
UriComponentsBuilder uriComponentsBuilder){
System.out.println("Create Employee "+ employee.getUsername());
employeeService.save(employee);
employeeBusiness.save(employee);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setLocation(uriComponentsBuilder.path("/employee/{id}").buildAndExpand(employee.getId()).toUri());
return new ResponseEntity<Void>( httpHeaders ,HttpStatus.CREATED);
}
//Delete a Employee
@RequestMapping(value = "/employee/{id}" , method = RequestMethod.DELETE)
public ResponseEntity<Employee> deleteEmployee(@PathVariable("id") int id){
System.out.println("Fetching and deleting Employee with id :" + id );
Employee employee = employeeBusiness.findById(id);
if(employee == null) {
System.out.println("Unable to delete. Employee with id :" + id + "not found");
return new ResponseEntity<Employee>(HttpStatus.NOT_FOUND);
}
employeeBusiness.deleteById(id);
return new ResponseEntity<Employee>(HttpStatus.NO_CONTENT);
}
}
This diff is collapsed.
This diff is collapsed.
<!--
Author: W3layouts
Author URL: http://w3layouts.com
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
-->
<!DOCTYPE HTML>
<html>
<head>
<title>Business_Blog a Blogging Category Flat Bootstrap Responsive Website Template | World :: w3layouts</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="Business_Blog Responsive web template, Bootstrap Web Templates, Flat Web Templates, Android Compatible web template,
Smartphone Compatible web template, free webdesigns for Nokia, Samsung, LG, SonyErricsson, Motorola web design" />
<script type="applijewelleryion/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
<link href="css/bootstrap.css" rel='stylesheet' type='text/css' />
<!-- Custom Theme files -->
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700" rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/css?family=Open+Sans" type='text/css'>
<link href="css/style.css" rel='stylesheet' type='text/css' />
<!--Khai báo các thư viện-->
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/angular.js"></script>
<script src="js/angular-ui-router.min.js"></script>
<!--End khai báo thư viện-->
<!--Khai báo các file js-->
<script src="js/app.js"></script>
<!--End khai báo các file js-->
<!-- khai báo các controllers -->
<!--<script src="pages/tuyendung/tuyendungController.js"></script>-->
<script src="pages/tintuc/tintucController.js"></script>
<!--<script src="pages/lienhe/lienheController.js"></script>-->
<script src="pages/gioithieu/gioithieuController.js"></script>
<script src="pages/index/indexController.js"></script>
<!--End khai báo controllers-->
</head>
<body ng-app="myApp">
<!--start-main-->
<div class="header">
<div class="header-top">
<div class="container">
<div class="logo">
<a href="index.html"><h1>SMART WEB</h1></a>
</div>
<div class="search">
<form>
<input type="text" value="Search" onfocus="this.value = '';"
onblur="if (this.value == '') {this.value = 'Search';}">
<input type="submit" value="">
</form>
</div>
<div class="social">
<ul>
<li><a href="#" class="facebook"> </a></li>
<li><a href="#" class="facebook twitter"> </a></li>
<li><a href="#" class="facebook chrome"> </a></li>
<li><a href="#" class="facebook in"> </a></li>
<li><a href="#" class="facebook beh"> </a></li>
<li><a href="#" class="facebook vem"> </a></li>
<li><a href="#" class="facebook yout"> </a></li>
</ul>
</div>
<div class="clearfix"></div>
</div>
</div>
<!--head-bottom-->
<div class="head-bottom">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#navbar" aria-expanded="false"
aria-controls="navbar">
<span class="sr-only">Toggle navigation</span> <span
class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a ui-sref="index">Home</a></li>
<li><a ui-sref="tintuc">Tin tức</a></li>
<li><a ui-sref="tuyendung">Tuyển dụng</a></li>
<li><a ui-sref="gioithieu">Giới thiệu</a></li>
<li><a ui-sref="lienhe">Liên hệ</a></li>
<li class="dropdown"><a href="#" class="dropdown-toggle"
data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">Quản lý<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="singlepage.html">User</a></li>
<li><a href="tuyendung_quanly.html">Tuyển dụng</a></li>
<li><a href="singlepage.html">Tin tức</a></li>
</ul></li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
</div>
<!--head-bottom-->
</div>
<!-- banner -->
<div ui-view="banner"></div> <!-- dành cho trang chủ -->
<!-- technology -->
<div ui-view="index"></div> <!-- dành cho trang chủ -->
<div ui-view="main_layout"> <!-- dành cho các trang còn lại -->
</div>
<!-- technology -->
<!-- footer -->
<div class="footer">
<div class="container">
<div class="col-md-4 footer-left">
<h6>THIS LOOKS GREAT</h6>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
do eiusmod tempor incididunt</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
do eiusmod tempor incididunt consectetur adipisicing elit,</p>
</div>
<div class="col-md-4 footer-middle">
<h4>Twitter Feed</h4>
<div class="mid-btm">
<p>Consectetur adipisicing</p>
<p>Sed do eiusmod tempor</p>
<a href="https://w3layouts.com/">https://w3layouts.com/</a>
</div>
<p>Consectetur adipisicing</p>
<p>Sed do eiusmod tempor</p>
<a href="https://w3layouts.com/">https://w3layouts.com/</a>
</div>
<div class="col-md-4 footer-right">
<h4>Quick Links</h4>
<li><a href="#">Eiusmod tempor</a></li>
<li><a href="#">Consectetur </a></li>
<li><a href="#">Adipisicing elit</a></li>
<li><a href="#">Eiusmod tempor</a></li>
<li><a href="#">Consectetur </a></li>
<li><a href="#">Adipisicing elit</a></li>
</div>
<div class="clearfix"></div>
</div>
</div>
<!-- footer -->
<!-- footer-bottom -->
<!-- footer-bottom -->
<div class="copyright">
<div class="container">
<p>
© 2016 Business_Blog. All rights reserved | Template by <a
href="http://w3layouts.com/">W3layouts</a>
</p>
</div>
</div>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
*
*/
angular.module("myApp", ["ui.router"]).config(function($stateProvider, $urlRouterProvider,$locationProvider) {
$locationProvider.hashPrefix('');
$urlRouterProvider.otherwise("/index");
$stateProvider
//index layout riêng
.state("index", {
url: "/index",
views:{
"index":{
templateUrl: "pages/index/index.htm",
controller: "indexController"
},
"banner":{
templateUrl: "pages/index/banner.htm"
}
}
})
// State chứa layout chung cho các trang
.state('app', {
abstract: true,
views: {
'main_layout': {
templateUrl: 'main_layout.html',
}
}
})
// Các state bên dưới kế thừa state app
.state("tintuc", { // Khai báo một state
parent: 'app',
url: "/tintuc", // URL hiển thị
views:{
"content":{
templateUrl: "pages/tintuc/tintuc.htm",
controller: "tintucController" // khai báo controller
}
}
})
.state("tuyendung", {
parent: 'app',
url: "/tuyendung",
views:{
"content":{
templateUrl: "pages/tuyendung/tuyendung.htm",
controller: "tuyendungController"
}
}
})
// .state("lienhe", {
// parent: 'app',
// url: "/lienhe",
// views:{
// "content":{
// templateUrl: "pages/lienhe/lienhe.htm",
// controller: "lienheController"
// }
// }
// })
.state("gioithieu", {
parent: 'app',
url: "/gioithieu",
views:{
"content":{
templateUrl: "pages/gioithieu/gioithieu.htm",
controller: "gioithieuController"
}
}
})
});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<!-- technology -->
<div class="technology-1">
<div class="container">
<div class="col-md-9 technology-left">
<div ui-view="content">
<!-- nội dung các trang -->
</div>
</div>
<!-- technology-right -->
<div class="col-md-3 technology-right-1">
<div class="blo-top">
<div class="tech-btm">
<img src="images/banner1.jpg" class="img-responsive" alt=""/>
</div>
</div>
<div class="blo-top">
<div class="tech-btm">
<h4>Sign up to our newsletter</h4>
<p>Pellentesque dui, non felis. Maecenas male</p>
<div class="name">
<form>
<input type="text" placeholder="Email" required="">
</form>
</div>
<div class="button">
<form>
<input type="submit" value="Subscribe">
</form>
</div>
<div class="clearfix"> </div>
</div>
</div>
<div class="blo-top1">
<div class="tech-btm">
<h4>Tin tức nổi bật </h4>
<div class="blog-grids">
<div class="blog-grid-left">
<a href="singlepage.html"><img src="images/6.jpg" class="img-responsive" alt=""/></a>
</div>
<div class="blog-grid-right">
<h5><a href="singlepage.html">Pellentesque dui, non felis. Maecenas male</a> </h5>
</div>
<div class="clearfix"> </div>
</div>
<div class="blog-grids">
<div class="blog-grid-left">
<a href="singlepage.html"><img src="images/7.jpg" class="img-responsive" alt=""/></a>
</div>
<div class="blog-grid-right">
<h5><a href="singlepage.html">Pellentesque dui, non felis. Maecenas male</a> </h5>
</div>
<div class="clearfix"> </div>
</div>
<div class="blog-grids">
<div class="blog-grid-left">
<a href="singlepage.html"><img src="images/11.jpg" class="img-responsive" alt=""/></a>
</div>
<div class="blog-grid-right">
<h5><a href="singlepage.html">Pellentesque dui, non felis. Maecenas male</a> </h5>
</div>
<div class="clearfix"> </div>
</div>
<div class="blog-grids">
<div class="blog-grid-left">
<a href="singlepage.html"><img src="images/9.jpg" class="img-responsive" alt=""/></a>
</div>
<div class="blog-grid-right">
<h5><a href="singlepage.html">Pellentesque dui, non felis. Maecenas male</a> </h5>
</div>
<div class="clearfix"> </div>
</div>
<div class="blog-grids">
<div class="blog-grid-left">
<a href="singlepage.html"><img src="images/10.jpg" class="img-responsive" alt=""/></a>
</div>
<div class="blog-grid-right">
<h5><a href="singlepage.html">Pellentesque dui, non felis. Maecenas male</a> </h5>
</div>
<div class="clearfix"> </div>
</div>
</div>
</div>
</div>
<div class="clearfix"></div>
<!-- technology-right -->
</div>
</div>
<!-- technology -->
\ No newline at end of file
<div class="business">
<div class="vide">
<h3>
<a href="tintuc_chitiet.html"> Giới thiệu</a>
</h3>
<href scr="tintuc.htm"></href>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud eiusmod tempor incididunt ut
labore et dolore magna aliqua exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.</p>
<p>Ut enim ad minim veniam, quis nostrud eiusmod tempor
incididunt ut labore et dolore magna aliqua exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</div>
\ No newline at end of file
/**
*
*/
angular.module("myApp").controller("gioithieuController", function($scope, $http) {
console.log("Giới thiệu controller");
});
\ No newline at end of file
<!-- banner -->
<div class="banner">
<div class="container">
<h2>Contrary to popular belief, Lorem Ipsum simply</h2>
<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>
<a href="#">READ ARTICLE</a>
</div>
</div>
\ No newline at end of file
This diff is collapsed.
/**
*
*/
angular.module("myApp").controller("indexController", function($scope, $http) {
console.log("Index controller");
});
\ No newline at end of file
<div class="business">
<!-- <div class="vide" ng-repeat="emp in employess">-->
<!-- <h3>-->
<!-- <a href="tintuc_chitiet.html">{{emp.emailAddress}}</a>-->
<!-- </h3>-->
<!-- <p>{{emp.username}}</p>-->
<!-- <p>Ut enim ad minim veniam, quis nostrud eiusmod tempor-->
<!-- incididunt ut labore et dolore magna aliqua exercitation ullamco-->
<!-- laboris nisi ut aliquip ex ea commodo consequat.</p>-->
<!-- <div class="blog-poast-info">-->
<!-- <ul>-->
<!-- <li><i class="glyphicon glyphicon-user"> </i><a-->
<!-- class="admin" href="#"> Admin </a></li>-->
<!-- <li><i class="glyphicon glyphicon-calendar"> </i>30-12-2015</li>-->
<!-- <li><i class="glyphicon glyphicon-comment"> </i><a-->
<!-- class="p-blog" href="#">3 Comments </a></li>-->
<!-- <li><i class="glyphicon glyphicon-heart"> </i><a-->
<!-- class="admin" href="#">5 favourites </a></li>-->
<!-- <li><i class="glyphicon glyphicon-eye-open"> </i>1.128 views</li>-->
<!-- </ul>-->
<!-- </div>-->
<!-- </div>-->
</div>
<!-- <td>username:</td>-->
<!-- <td><input type="text" ng-model="emp.username"/></td>-->
<!-- <td>firstname</td>-->
<!-- <td><input type="text" ng-model="emp.firstName"/></td>-->
<!-- <td>lastname:</td>-->
<!-- <td><input type="text" ng-model="emp.lastName"/></td>-->
<!-- <td>password:</td>-->
<!-- <td><input type="text" ng-model="emp.password"/></td>-->
<!-- <td>email:</td>-->
<!-- <td><input type="text" ng-model="emp.emailAddress"/></td>-->
<!-- <td>phone:</td>-->
<!-- <td><input type="text" ng-model="emp.phoneNumber"/></td>-->
<!-- <td>education:</td>-->
<!-- <td><input ng-model="emp.education"/></td>-->
<!-- <td>home town:</td>-->
<!-- <td> <input type="text" ng-model="emp.homeTown"/></td>-->
<!-- <td><button ng-click="save()" value="Save Data">Save</button></td>-->
<!-- <td><button ng-click="update()" value="Update Data">Update</button></td>-->
<div class="container">
<div class="row">
<div class="col-md-8">
<div>
<legend>Employee Details</legend>
<table>
<tr>
<td><label>User Name</label></td>
<td>
<input type="text" maxlength="29" ng-model="emp.username"/>
</td>
</tr>
<tr>
<td><label>First Name</label></td>
<td>
<input type="text" maxlength="29" ng-model="emp.firstName"/>
</td>
</tr>
<tr>
<td><label>Last Name</label></td>
<td>
<input type="text" maxlength="29" ng-model="emp.lastName"/>
</td>
</tr>
<tr>
<td><label id="email" for="email">Email</label> </td>
<td>
<input type="email" maxlength="150" ng-model="emp.emailAddress"/>
</td>
</tr>
<tr>
<td><label>Phone</label></td>
<td>
<input type="text" maxlength="10" value="" ng-model="emp.phoneNumber"/>
</td>
</tr>
<tr>
<td><label>education:</label></td>
<td>
<input ng-model="emp.education"/>
</td>
</tr>
<tr>
<td><label >home town:</label></td>
<td> <input type="text" ng-model="emp.homeTown"/></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="submit" value="submit" ng-click="save();"/>
<input type="submit" name="clear" value="clear" ng-click=" emp = null"/>
</td>
</tr>
</table>
</div>
<!-- {{emp}}-->
<div>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>User Name</th>
<th>First Name</th>
<th>Last Name</th>
<th>EmailAddress</th>
<th>Phone</th>
<th>Education</th>
<th>Home Town</th>
</tr>
</thead>
<tbody>
<tr class="vide" ng-repeat="emp in employess">
<td>{{$index + 1}}</td>
<td>{{emp.username}}</td>
<td>{{emp.firstName}}</td>
<td>{{emp.lastName}}</td>
<td>{{emp.emailAddress}}</td>
<td>{{emp.phoneNumber}}</td>
<td>{{emp.education}}</td>
<td>{{emp.homeTown}}</td>
<td><a href="#" ng-click="update(emp);">Update</a>
<td><a href="#" confirmed-click="delete(employee);" ng-confirm-click=" Do you want to delete this user?">Delete</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
\ No newline at end of file
/**
*
*/
angular.module("myApp",[]).controller("tintucController", function($scope, $http,$window) {
console.log("Tin tức controller");
$scope.emp= {
"username": "",
"password": "",
"firstName": "",
"lastName": "",
"emailAddress": "",
"phoneNumber": "",
"homeTown": "",
"education": ""
};
$scope.save = save;
function save(){
console.log($scope.emp);
$http({
method : 'POST',
url : "http://localhost:8081/list_employee/",
data: $scope.emp
}).then(function successCallback(response) {
console.log(response);
// $window.location.href ='http://localhost:8081/#/tintuc';
}, function errorCallback(response) {
console.log(response)
});
}
$scope.update = update;
function update(emp){
$scope.emp = emp;
list_employee();
}
$http({
method : 'GET',
url : "http://localhost:8081/list_employee/",
}).then(function successCallback(response) {
console.log(response)
$scope.employess=response.data;
}, function errorCallback(response) {
console.log(response)
});
});
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment