diff --git a/BackEnd/Library/pom.xml b/BackEnd/Library/pom.xml index abd0355b..7ba01fb3 100644 --- a/BackEnd/Library/pom.xml +++ b/BackEnd/Library/pom.xml @@ -76,6 +76,12 @@ 1.8 + + net.sf.supercsv + super-csv + 2.4.0 + + diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java index 8d54d109..a68c1ba3 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BooksController.java @@ -157,5 +157,20 @@ public List getcountByCategoryId() { } + //book search + + @GetMapping("/admin/searchBooks") + public ResponseEntity> getAllBookStockSearch( + @RequestParam(defaultValue = "") String keyword, + @RequestParam(defaultValue = "1") Integer pageNo, + @RequestParam(defaultValue = "10") Integer pageSize, + @RequestParam(defaultValue = "id") String sortBy) { + System.out.println("paage size" + pageSize); + Page list = service.getAllBookStocks(keyword, pageNo - 1, pageSize, sortBy); + return new ResponseEntity>(list, new HttpHeaders(), + HttpStatus.OK); + + } + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BorrowController.java b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BorrowController.java index 4ce70895..ec0a46d4 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/controller/BorrowController.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/controller/BorrowController.java @@ -1,10 +1,14 @@ package com.innovature.Library.controller; - import java.security.Principal; + import java.io.IOException; +import java.security.Principal; import java.util.Collection; import java.sql.Date; + +import java.text.SimpleDateFormat; import java.util.List; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +28,12 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + +import org.supercsv.io.CsvBeanWriter; +import org.supercsv.io.ICsvBeanWriter; +import org.supercsv.prefs.CsvPreference; + + import com.innovature.Library.entity.Borrow; import com.innovature.Library.form.BorrowForm; import com.innovature.Library.service.BorrowService; @@ -270,5 +280,43 @@ public rentChartView getchart(){ } + @GetMapping("admin/export") + public void Exportcsv(HttpServletResponse httpServletResponse) throws IOException { + httpServletResponse.setContentType("text/csv"); + java.text.DateFormat datefFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); + String currentDateTime = datefFormat.format(new java.util.Date()); + String headerKey = "Content-Disposition"; + String headerValue = "attachment; filename=users_" + currentDateTime + ".csv"; + httpServletResponse.setHeader(headerKey, headerValue); + List rents = bService.listcsv(); + + ICsvBeanWriter csvWriter = new CsvBeanWriter(httpServletResponse.getWriter(), + CsvPreference.STANDARD_PREFERENCE); + String[] csvHeader = { "borrow_id","first_name","books_name", "issue_date", "return_date","due_date","book_returned_date","reason","due_days","fine","status"}; + String[] nameMapping = { "borrowId","firstName","booksName", "issueDate", "returnDate", "dueDate","bookReturnedDate","reason","dueDays","fine","status" }; + csvWriter.writeHeader(csvHeader); + for (Borrow rent : rents) { + // System.out.println(" :"+rent.getStatus()); + csvWriter.write(rent, nameMapping); + } + csvWriter.flush(); + csvWriter.close(); + } + + + @GetMapping("/admin/searchUser") + public ResponseEntity> getAllBorrowedUserSearch( + @RequestParam(defaultValue = "") String keyword, + @RequestParam(defaultValue = "1") Integer pageNo, + @RequestParam(defaultValue = "10") Integer pageSize) + // @RequestParam(defaultValue = "user_id") String sortBy) + { + System.out.println("paage size" + pageSize); + Page list = bService.getAllBorrowedUserSearch(keyword, pageNo - 1, pageSize); + return new ResponseEntity>(list, new HttpHeaders(), + HttpStatus.OK); + + } + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/controller/csvController.java b/BackEnd/Library/src/main/java/com/innovature/Library/controller/csvController.java index feb17fe1..5a3f4b16 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/controller/csvController.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/controller/csvController.java @@ -60,6 +60,8 @@ public ResponseEntity uploadFile(@RequestParam("file") Multipar message = "Please upload a csv file!"; return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseMessage(message,"")); } + + } \ No newline at end of file diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/csv_helper/csvHelper.java b/BackEnd/Library/src/main/java/com/innovature/Library/csv_helper/csvHelper.java index 2c44b3df..9dd3baa3 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/csv_helper/csvHelper.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/csv_helper/csvHelper.java @@ -50,15 +50,12 @@ public static boolean hasCSVFormat(MultipartFile file){ Integer.parseInt(csvRecord.get("booksCopies")), Integer.parseInt(csvRecord.get("categoryId")), Integer.parseInt(csvRecord.get("status")) - //csvRecord.get("image") - - + //csvRecord.get("image") ); csvList.add(csvob); - } return csvList; - + }catch(IOException e){ throw new RuntimeException("fail to parse csv file"+e.getMessage()); } @@ -66,6 +63,11 @@ public static boolean hasCSVFormat(MultipartFile file){ } + + + + + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/entity/Borrow.java b/BackEnd/Library/src/main/java/com/innovature/Library/entity/Borrow.java index 87f698a2..d34f41b4 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/entity/Borrow.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/entity/Borrow.java @@ -181,4 +181,11 @@ public void setFine(Long fine) { this.fine = fine; } + public String getFirstName(){ + return user.getFirstName(); + } + + public String getBooksName(){ + return books.getBooksName(); + } } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/repository/BooksRepository.java b/BackEnd/Library/src/main/java/com/innovature/Library/repository/BooksRepository.java index 7210f6a1..e7d35120 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/repository/BooksRepository.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/repository/BooksRepository.java @@ -36,5 +36,8 @@ public interface BooksRepository extends Repository { // @Query(value = "select sum(books_copies)", nativeQuery = true) // List findbyBooksId1(); + @Query(value = "Select * from books where status = 1 AND books_name like %?1% order by books_name like ?2% DESC,books_name like %?3 DESC,books_name like %?4% ", nativeQuery = true) + public Page findByKeywords(String keyword, String k, String k1, String k2, Pageable pageable); + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/repository/BorrowRepository.java b/BackEnd/Library/src/main/java/com/innovature/Library/repository/BorrowRepository.java index 6066d1c6..62616c6a 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/repository/BorrowRepository.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/repository/BorrowRepository.java @@ -109,8 +109,23 @@ public interface BorrowRepository extends PagingAndSortingRepositoryfindAllC(); + // @Query(value = "Select * from borrow where books_name like %?1% order by books_name like ?2% DESC,books_name like %?3 DESC,books_name like %?4% ", nativeQuery = true) + // public Page findByKeywords(String keyword, String k, String k1, String k2, Pageable pageable); + + + // @Query(value = "SELECT * FROM borrow INNER JOIN user ON borrow.user_id = user.user_id where first_name like %?1% order by first_name like ?2% DESC,first_name like %?3 DESC,first_name like %?4% ", nativeQuery = true) + // public Page findByKeywords(String keyword, String k, String k1, String k2, Pageable pageable); + + @Query(value = "select * from borrow where user_id in(select user_id from user where first_name like %?%", nativeQuery = true) + public Page findByKeywords(String keyword, String k, String k1, String k2, Pageable pageable); + } //mysql> select count(borrow_id) from borrow where book_returned_date between '2023-01-01' and '2023-01-07'; -//select count(borrow_id) from borrow where book_returned_date='2022-12-27'; \ No newline at end of file +//select count(borrow_id) from borrow where book_returned_date='2022-12-27'; + +// inner join eg = SELECT user.first_name FROM borrow INNER JOIN user ON borrow.user_id = user.user_id +// >no innerjoin= select user.first_name from user,borrow where user.user_id=borrow.user_id; +//>select * from borrow where user_id in(select user_id from user where first_name like 'ashwin'); + diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java index f1c38a88..7f4373b6 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/BooksService.java @@ -38,6 +38,8 @@ public interface BooksService { List getBookCountByCategory(); + PagegetAllBookStocks(String keyword, Integer pageNo,Integer pageSize,String sortBy); + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/BorrowService.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/BorrowService.java index be3210a6..bad51bad 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/BorrowService.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/BorrowService.java @@ -65,6 +65,11 @@ public interface BorrowService { Integer BorrowBlock(); // public RentCharView getChart(); + + Listlistcsv(); + + PagegetAllBorrowedUserSearch(String keyword, Integer pageNo,Integer pageSize); + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/csvService.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/csvService.java index 6262b671..10edb0c0 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/csvService.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/csvService.java @@ -34,6 +34,8 @@ public void save(MultipartFile file){ } + + public ListgetAll(){ return repository.findAll(); diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java index 4dca3d63..64921e4d 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BooksServiceImpl.java @@ -145,6 +145,20 @@ public List getBookCountByCategory() { return booksRepository.findCountByCategoryId(); } + //book search + + @Override + public Page getAllBookStocks(String keyword, Integer pageNo, Integer pageSize, String sortBy) { + Pageable paging = PageRequest.of(pageNo, pageSize, Sort.by(sortBy)); + System.out.println(keyword); + String k = keyword; + String k1 = keyword; + String k2 = keyword; + Page pagedResult = booksRepository.findByKeywords(keyword, k, k1, k2, paging); + return pagedResult; + + } + } diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BorrowServiceImpl.java b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BorrowServiceImpl.java index 9bcfc52b..1f0b52b1 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BorrowServiceImpl.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/service/impl/BorrowServiceImpl.java @@ -450,11 +450,12 @@ public rentChartView getChart(){ for(Borrow a:s){ - if(a.getStatus().equals("APPROVED")) + // if(a.getStatus().equals("APPROVED" )) + if(a.getIssueDate()!=null) { LocalDateTime b = a.getIssueDate(); - System.out.println("---------------------------"+b); + // System.out.println("-----in issue----------------------"+b); // System.out.println("........>>>>>>>>>>>>>>>>....."+ b.getDayOfWeek().getValue()); hm.put(b.getDayOfWeek().getValue(), new Result(hm.get(b.getDayOfWeek().getValue()).getIssueCount() + 1, @@ -467,13 +468,13 @@ public rentChartView getChart(){ { c = a.getBookReturnedDate(); - System.out.println("cccccccccccccccccccccccccccccccccccccccccc="+c); + // System.out.println("cccccccccccccccccccccccccccccccccccccccccc="+c); hm.put(c.getDayOfWeek().getValue(), new Result(hm.get(c.getDayOfWeek().getValue()).getIssueCount() , hm.get(c.getDayOfWeek().getValue()).getReturnedCount() +1)); - System.out.println(hm.get(c.getDayOfWeek().getValue()).getReturnedCount()); + // System.out.println(hm.get(c.getDayOfWeek().getValue()).getReturnedCount()); } } for (Map.Entry mapElement : hm.entrySet()) { @@ -511,7 +512,23 @@ public void setReturnedCount(Integer returnedCount) { } } +@Override +public List listcsv() { + return borrowRepository.findAllC(); +} + +@Override +public Page getAllBorrowedUserSearch(String keyword, Integer pageNo, Integer pageSize) { + Pageable paging = PageRequest.of(pageNo, pageSize); + System.out.println(keyword); + String k = keyword; + String k1 = keyword; + String k2 = keyword; + Page pagedResult = borrowRepository.findByKeywords(keyword, k, k1, k2, paging); + return pagedResult; + +} diff --git a/BackEnd/Library29.zip b/BackEnd/Library29.zip deleted file mode 100644 index 06ad1009..00000000 Binary files a/BackEnd/Library29.zip and /dev/null differ diff --git a/FrontEnd/iprjt/.browserslistrc b/FrontEnd/Library/.browserslistrc similarity index 100% rename from FrontEnd/iprjt/.browserslistrc rename to FrontEnd/Library/.browserslistrc diff --git a/FrontEnd/iprjt/.editorconfig b/FrontEnd/Library/.editorconfig similarity index 100% rename from FrontEnd/iprjt/.editorconfig rename to FrontEnd/Library/.editorconfig diff --git a/FrontEnd/iprjt/.gitignore b/FrontEnd/Library/.gitignore similarity index 100% rename from FrontEnd/iprjt/.gitignore rename to FrontEnd/Library/.gitignore diff --git a/FrontEnd/iprjt/.vscode/extensions.json b/FrontEnd/Library/.vscode/extensions.json similarity index 100% rename from FrontEnd/iprjt/.vscode/extensions.json rename to FrontEnd/Library/.vscode/extensions.json diff --git a/FrontEnd/iprjt/.vscode/launch.json b/FrontEnd/Library/.vscode/launch.json similarity index 100% rename from FrontEnd/iprjt/.vscode/launch.json rename to FrontEnd/Library/.vscode/launch.json diff --git a/FrontEnd/iprjt/.vscode/tasks.json b/FrontEnd/Library/.vscode/tasks.json similarity index 100% rename from FrontEnd/iprjt/.vscode/tasks.json rename to FrontEnd/Library/.vscode/tasks.json diff --git a/FrontEnd/iprjt/1.jpg b/FrontEnd/Library/1.jpg similarity index 100% rename from FrontEnd/iprjt/1.jpg rename to FrontEnd/Library/1.jpg diff --git a/FrontEnd/iprjt/README.md b/FrontEnd/Library/README.md similarity index 100% rename from FrontEnd/iprjt/README.md rename to FrontEnd/Library/README.md diff --git a/FrontEnd/iprjt/a.png b/FrontEnd/Library/a.png similarity index 100% rename from FrontEnd/iprjt/a.png rename to FrontEnd/Library/a.png diff --git a/FrontEnd/iprjt/angular.json b/FrontEnd/Library/angular.json similarity index 100% rename from FrontEnd/iprjt/angular.json rename to FrontEnd/Library/angular.json diff --git a/FrontEnd/iprjt/c.jpg b/FrontEnd/Library/c.jpg similarity index 100% rename from FrontEnd/iprjt/c.jpg rename to FrontEnd/Library/c.jpg diff --git a/FrontEnd/iprjt/cc.jpg b/FrontEnd/Library/cc.jpg similarity index 100% rename from FrontEnd/iprjt/cc.jpg rename to FrontEnd/Library/cc.jpg diff --git a/FrontEnd/iprjt/img.jpg b/FrontEnd/Library/img.jpg similarity index 100% rename from FrontEnd/iprjt/img.jpg rename to FrontEnd/Library/img.jpg diff --git a/FrontEnd/iprjt/karma.conf.js b/FrontEnd/Library/karma.conf.js similarity index 100% rename from FrontEnd/iprjt/karma.conf.js rename to FrontEnd/Library/karma.conf.js diff --git a/FrontEnd/iprjt/li.jpg b/FrontEnd/Library/li.jpg similarity index 100% rename from FrontEnd/iprjt/li.jpg rename to FrontEnd/Library/li.jpg diff --git a/FrontEnd/iprjt/lib.jpg b/FrontEnd/Library/lib.jpg similarity index 100% rename from FrontEnd/iprjt/lib.jpg rename to FrontEnd/Library/lib.jpg diff --git a/FrontEnd/iprjt/lib1.jpg b/FrontEnd/Library/lib1.jpg similarity index 100% rename from FrontEnd/iprjt/lib1.jpg rename to FrontEnd/Library/lib1.jpg diff --git a/FrontEnd/iprjt/package-lock.json b/FrontEnd/Library/package-lock.json similarity index 99% rename from FrontEnd/iprjt/package-lock.json rename to FrontEnd/Library/package-lock.json index 4e9600e2..6dd56684 100644 --- a/FrontEnd/iprjt/package-lock.json +++ b/FrontEnd/Library/package-lock.json @@ -23,6 +23,7 @@ "@popperjs/core": "^2.10.2", "bootstrap": "^5.2.3", "chart.js": "^4.1.2", + "file-saver": "^2.0.5", "material-icons": "^1.13.1", "ng-angular-popup": "^0.2.0", "ngx-pagination": "^6.0.3", @@ -35,6 +36,7 @@ "@angular/cli": "~14.2.5", "@angular/compiler-cli": "^14.2.0", "@ionic/angular-toolkit": "^7.0.0", + "@types/file-saver": "^2.0.5", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.3.0", "karma": "~6.4.0", @@ -3065,6 +3067,12 @@ "@types/range-parser": "*" } }, + "node_modules/@types/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", + "dev": true + }, "node_modules/@types/http-proxy": { "version": "1.17.9", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", @@ -5790,6 +5798,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -13992,6 +14005,12 @@ "@types/range-parser": "*" } }, + "@types/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==", + "dev": true + }, "@types/http-proxy": { "version": "1.17.9", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", @@ -16001,6 +16020,11 @@ "escape-string-regexp": "^1.0.5" } }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", diff --git a/FrontEnd/iprjt/package.json b/FrontEnd/Library/package.json similarity index 95% rename from FrontEnd/iprjt/package.json rename to FrontEnd/Library/package.json index 49938599..c8496af7 100644 --- a/FrontEnd/iprjt/package.json +++ b/FrontEnd/Library/package.json @@ -25,6 +25,7 @@ "@popperjs/core": "^2.10.2", "bootstrap": "^5.2.3", "chart.js": "^4.1.2", + "file-saver": "^2.0.5", "material-icons": "^1.13.1", "ng-angular-popup": "^0.2.0", "ngx-pagination": "^6.0.3", @@ -37,6 +38,7 @@ "@angular/cli": "~14.2.5", "@angular/compiler-cli": "^14.2.0", "@ionic/angular-toolkit": "^7.0.0", + "@types/file-saver": "^2.0.5", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.3.0", "karma": "~6.4.0", diff --git a/FrontEnd/iprjt/src/app.zip b/FrontEnd/Library/src/app.zip similarity index 100% rename from FrontEnd/iprjt/src/app.zip rename to FrontEnd/Library/src/app.zip diff --git a/FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.css b/FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.css rename to FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.css diff --git a/FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.html b/FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.html rename to FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.html diff --git a/FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.spec.ts b/FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.spec.ts rename to FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.ts b/FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/acceptrequest/acceptrequest.component.ts rename to FrontEnd/Library/src/app/acceptrequest/acceptrequest.component.ts diff --git a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.css b/FrontEnd/Library/src/app/addbooks/addbooks.component.css similarity index 86% rename from FrontEnd/iprjt/src/app/addbooks/addbooks.component.css rename to FrontEnd/Library/src/app/addbooks/addbooks.component.css index 79690e5a..65635de2 100644 --- a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.css +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.css @@ -19,4 +19,7 @@ td { border: none; padding-top: 6px;padding-bottom: 6px; - } \ No newline at end of file + } + .form-control{ + width: fit-content; + } \ No newline at end of file diff --git a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.html b/FrontEnd/Library/src/app/addbooks/addbooks.component.html similarity index 80% rename from FrontEnd/iprjt/src/app/addbooks/addbooks.component.html rename to FrontEnd/Library/src/app/addbooks/addbooks.component.html index 832bfe8d..81f0b029 100644 --- a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.html +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.html @@ -5,19 +5,27 @@

-
+ + +
+ + + +
+ + + +
- - +
- -
- - -
-
- + +
@@ -67,17 +75,17 @@ -
+        - + 
-
-
+
diff --git a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.spec.ts b/FrontEnd/Library/src/app/addbooks/addbooks.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/addbooks/addbooks.component.spec.ts rename to FrontEnd/Library/src/app/addbooks/addbooks.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.ts b/FrontEnd/Library/src/app/addbooks/addbooks.component.ts similarity index 77% rename from FrontEnd/iprjt/src/app/addbooks/addbooks.component.ts rename to FrontEnd/Library/src/app/addbooks/addbooks.component.ts index c651a081..f70a57f1 100644 --- a/FrontEnd/iprjt/src/app/addbooks/addbooks.component.ts +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { FormGroup, FormControl } from '@angular/forms'; import { MatDialog,MatDialogRef, MatDialogModule} from '@angular/material/dialog'; import { MatDialogConfig } from '@angular/material/dialog'; import { Router } from '@angular/router'; @@ -21,6 +22,8 @@ export class AddbooksComponent implements OnInit { booksList: any[]; books: any; booksId: any; + key: any; + pkey:any; categorydata:any; booksdata:any; @@ -42,7 +45,6 @@ result: any; booksCount: any; direction=-1; - key:any; selectedFiles?: FileList; currentFile?: File; // ObjSampleForm:FormGroup; @@ -53,11 +55,31 @@ currentFile?: File; } + search:FormGroup=new FormGroup({ + inp:new FormControl() + }) + + ngOnInit(): void { this.Load(); localStorage.removeItem('booksId'); + } + search1(key:any){ + console.log("before api=",key); + this.booksService.search(key,this.page,this.tableSize,this.sort).subscribe(response=>{ + this.result=response.content; + console.log("searchRslt=",this.result); + this.data=this.result; + this.count=response.totalElements; + console.log("count=",this.count); + this.pkey=this.search.controls['inp'].value; + console.log("pk",this.pkey) + }); +} + + Load() { this.booksService.pagination1(this.page,this.tableSize,this.sort,this.direction).subscribe(result=>{ this.result=result.content; @@ -90,7 +112,9 @@ sortfn(a:any){ } onTableDataChange(event:any) { - + this.pkey==this.search.controls['inp'].value; + console.log("p-",this.pkey) + if(this.pkey==null){ console.log("page=",event) this.booksService.pagination1(this.page,this.tableSize,this.sort,this.direction).subscribe(result=>{ this.result=result.content; @@ -98,7 +122,20 @@ onTableDataChange(event:any) { console.log("loaded books=",this.result); this.data=this.result; this.booksdata=this.result; - }) + }) + } + else{ + // this.pkey==this.search.controls['inp'].value; + console.log("page=",event) + console.log("pkey in page=",this.pkey) + this.booksService.search(this.pkey,this.page,this.tableSize,this.sort).subscribe(result=>{ + this.result=result.content; + this.count=result.totalElements + console.log("loaded books=",this.result); + this.data=this.result; + this.booksdata=this.result; + }) + } } diff --git a/FrontEnd/iprjt/src/app/addcategory/addcategory.component.css b/FrontEnd/Library/src/app/addcategory/addcategory.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/addcategory/addcategory.component.css rename to FrontEnd/Library/src/app/addcategory/addcategory.component.css diff --git a/FrontEnd/iprjt/src/app/addcategory/addcategory.component.html b/FrontEnd/Library/src/app/addcategory/addcategory.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/addcategory/addcategory.component.html rename to FrontEnd/Library/src/app/addcategory/addcategory.component.html diff --git a/FrontEnd/iprjt/src/app/addcategory/addcategory.component.spec.ts b/FrontEnd/Library/src/app/addcategory/addcategory.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/addcategory/addcategory.component.spec.ts rename to FrontEnd/Library/src/app/addcategory/addcategory.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/addcategory/addcategory.component.ts b/FrontEnd/Library/src/app/addcategory/addcategory.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/addcategory/addcategory.component.ts rename to FrontEnd/Library/src/app/addcategory/addcategory.component.ts diff --git a/FrontEnd/iprjt/src/app/app-routing.module.ts b/FrontEnd/Library/src/app/app-routing.module.ts similarity index 100% rename from FrontEnd/iprjt/src/app/app-routing.module.ts rename to FrontEnd/Library/src/app/app-routing.module.ts diff --git a/FrontEnd/iprjt/src/app/app.component.css b/FrontEnd/Library/src/app/app.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/app.component.css rename to FrontEnd/Library/src/app/app.component.css diff --git a/FrontEnd/iprjt/src/app/app.component.html b/FrontEnd/Library/src/app/app.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/app.component.html rename to FrontEnd/Library/src/app/app.component.html diff --git a/FrontEnd/iprjt/src/app/app.component.spec.ts b/FrontEnd/Library/src/app/app.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/app.component.spec.ts rename to FrontEnd/Library/src/app/app.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/app.component.ts b/FrontEnd/Library/src/app/app.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/app.component.ts rename to FrontEnd/Library/src/app/app.component.ts diff --git a/FrontEnd/iprjt/src/app/app.module.ts b/FrontEnd/Library/src/app/app.module.ts similarity index 95% rename from FrontEnd/iprjt/src/app/app.module.ts rename to FrontEnd/Library/src/app/app.module.ts index 7aa2c49b..bf0a1138 100644 --- a/FrontEnd/iprjt/src/app/app.module.ts +++ b/FrontEnd/Library/src/app/app.module.ts @@ -11,7 +11,7 @@ import { BodyComponent } from './body/body.component'; //import { ModalComponent } from './modal/modal.component'; import {MatDialogConfig, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS,} from '@angular/material/dialog'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; -import { provideCloudflareLoader } from '@angular/common'; +import { DatePipe, provideCloudflareLoader } from '@angular/common'; import { TokenInterceptorService } from './token-interceptor.service'; import { HomeguardGuard } from './homeguard.guard'; import { GuardserviceService } from './guardservice.service'; @@ -34,7 +34,7 @@ import { ViewAdminprofileComponent } from './view-adminprofile/view-adminprofile import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; // import { MatIconModule, MatToolbarModule, MatTooltipModule } from '@angular/material'; - +import { MatListModule } from '@angular/material/list'; import {MatIconModule} from '@angular/material/icon'; import { ImageuploadComponent } from './imageupload/imageupload.component'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; @@ -113,6 +113,8 @@ import {Chart} from 'chart.js'; MatSelectModule, MatDialogModule, MatInputModule, + MatListModule, + // Chart @@ -122,7 +124,7 @@ import {Chart} from 'chart.js'; //BrowserAnimationsModule ], // ,{provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: false}} - providers: [ {provide:HTTP_INTERCEPTORS,useClass:TokenInterceptorService,multi:true},[HomeguardGuard, GuardserviceService] ], + providers: [ {provide:HTTP_INTERCEPTORS,useClass:TokenInterceptorService,multi:true},[HomeguardGuard, GuardserviceService],[DatePipe] ], bootstrap: [AppComponent], entryComponents:[CategoryComponent,DemoComponent], }) diff --git a/FrontEnd/iprjt/src/app/body/body.component.css b/FrontEnd/Library/src/app/body/body.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/body/body.component.css rename to FrontEnd/Library/src/app/body/body.component.css diff --git a/FrontEnd/iprjt/src/app/body/body.component.html b/FrontEnd/Library/src/app/body/body.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/body/body.component.html rename to FrontEnd/Library/src/app/body/body.component.html diff --git a/FrontEnd/iprjt/src/app/body/body.component.spec.ts b/FrontEnd/Library/src/app/body/body.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/body/body.component.spec.ts rename to FrontEnd/Library/src/app/body/body.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/body/body.component.ts b/FrontEnd/Library/src/app/body/body.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/body/body.component.ts rename to FrontEnd/Library/src/app/body/body.component.ts diff --git a/FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.css b/FrontEnd/Library/src/app/bookreturn/bookreturn.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.css rename to FrontEnd/Library/src/app/bookreturn/bookreturn.component.css diff --git a/FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.html b/FrontEnd/Library/src/app/bookreturn/bookreturn.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.html rename to FrontEnd/Library/src/app/bookreturn/bookreturn.component.html diff --git a/FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.spec.ts b/FrontEnd/Library/src/app/bookreturn/bookreturn.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.spec.ts rename to FrontEnd/Library/src/app/bookreturn/bookreturn.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.ts b/FrontEnd/Library/src/app/bookreturn/bookreturn.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/bookreturn/bookreturn.component.ts rename to FrontEnd/Library/src/app/bookreturn/bookreturn.component.ts diff --git a/FrontEnd/iprjt/src/app/books.service.ts b/FrontEnd/Library/src/app/books.service.ts similarity index 91% rename from FrontEnd/iprjt/src/app/books.service.ts rename to FrontEnd/Library/src/app/books.service.ts index d8e264a6..c64c04e2 100644 --- a/FrontEnd/iprjt/src/app/books.service.ts +++ b/FrontEnd/Library/src/app/books.service.ts @@ -25,6 +25,14 @@ handleError(err: HttpErrorResponse): any { } ////////////////////////////////////////////// + + search(key: any, pageno: any, pagesize: any, sortby: any): Observable { + console.log('+++++++++++', key) + return this.http.get('http://localhost:8080/books/admin/searchBooks/?keyword=' + key + '&pageNo=' + pageno + '&pageSize=' + pagesize + '&sortBy=' + sortby) + } + + + uploadCsv(file: File): Observable { const formData: FormData = new FormData(); diff --git a/FrontEnd/iprjt/src/app/books/books.component.css b/FrontEnd/Library/src/app/books/books.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/books/books.component.css rename to FrontEnd/Library/src/app/books/books.component.css diff --git a/FrontEnd/iprjt/src/app/books/books.component.html b/FrontEnd/Library/src/app/books/books.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/books/books.component.html rename to FrontEnd/Library/src/app/books/books.component.html diff --git a/FrontEnd/iprjt/src/app/books/books.component.spec.ts b/FrontEnd/Library/src/app/books/books.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/books/books.component.spec.ts rename to FrontEnd/Library/src/app/books/books.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/books/books.component.ts b/FrontEnd/Library/src/app/books/books.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/books/books.component.ts rename to FrontEnd/Library/src/app/books/books.component.ts diff --git a/FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.css b/FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.css rename to FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.css diff --git a/FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.html b/FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.html rename to FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.html diff --git a/FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.spec.ts b/FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.spec.ts rename to FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.ts b/FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/booksdisplay/booksdisplay.component.ts rename to FrontEnd/Library/src/app/booksdisplay/booksdisplay.component.ts diff --git a/FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.css b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.css rename to FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.css diff --git a/FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.html b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html similarity index 100% rename from FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.html rename to FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html diff --git a/FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.spec.ts b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.spec.ts similarity index 100% rename from FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.spec.ts rename to FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.spec.ts diff --git a/FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.ts b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.ts similarity index 100% rename from FrontEnd/iprjt/src/app/borrow-detail-view/borrow-detail-view.component.ts rename to FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.ts diff --git a/FrontEnd/iprjt/src/app/borrow.service.ts b/FrontEnd/Library/src/app/borrow.service.ts similarity index 97% rename from FrontEnd/iprjt/src/app/borrow.service.ts rename to FrontEnd/Library/src/app/borrow.service.ts index a5b86b13..7e8bac39 100644 --- a/FrontEnd/iprjt/src/app/borrow.service.ts +++ b/FrontEnd/Library/src/app/borrow.service.ts @@ -28,7 +28,9 @@ handleError(err: HttpErrorResponse): any { } ////////////////////////////////////////////// - + export(): Observable { + return this.http.get('http://localhost:8080/borrow/admin/export', { responseType: 'blob' }); + } chartbar():Observable{ return this.http.get('http://localhost:8080/borrow/admin/chart') diff --git a/FrontEnd/iprjt/src/app/borrow/borrow.component.css b/FrontEnd/Library/src/app/borrow/borrow.component.css similarity index 100% rename from FrontEnd/iprjt/src/app/borrow/borrow.component.css rename to FrontEnd/Library/src/app/borrow/borrow.component.css diff --git a/FrontEnd/iprjt/src/app/borrow/borrow.component.html b/FrontEnd/Library/src/app/borrow/borrow.component.html similarity index 86% rename from FrontEnd/iprjt/src/app/borrow/borrow.component.html rename to FrontEnd/Library/src/app/borrow/borrow.component.html index 43dc0289..1cf3b619 100644 --- a/FrontEnd/iprjt/src/app/borrow/borrow.component.html +++ b/FrontEnd/Library/src/app/borrow/borrow.component.html @@ -8,6 +8,7 @@

Borrow Details

+
@@ -73,16 +74,24 @@

Borrow Details

{{post.status}} -    + + + + + + + + + @@ -124,10 +133,9 @@

Borrow Details

- -  
- -

+ + + - -
- - - - - - - - \ No newline at end of file