From 6e2f0b56dc999a782bd71a73af94584d9aa64a5b Mon Sep 17 00:00:00 2001 From: negilbabu Date: Tue, 10 Jan 2023 21:00:23 +0530 Subject: [PATCH 1/2] demo --- BackEnd/.vscode/settings.json | 3 +++ .../com/innovature/Library/controller/EmailController.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 BackEnd/.vscode/settings.json diff --git a/BackEnd/.vscode/settings.json b/BackEnd/.vscode/settings.json new file mode 100644 index 00000000..7b016a89 --- /dev/null +++ b/BackEnd/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/BackEnd/Library/src/main/java/com/innovature/Library/controller/EmailController.java b/BackEnd/Library/src/main/java/com/innovature/Library/controller/EmailController.java index 831fffa8..f5405b82 100644 --- a/BackEnd/Library/src/main/java/com/innovature/Library/controller/EmailController.java +++ b/BackEnd/Library/src/main/java/com/innovature/Library/controller/EmailController.java @@ -32,7 +32,7 @@ import com.innovature.Library.repository.UserRepository; import com.innovature.Library.service.EmailService; - +// tgsrhyrsrthr @RestController @RequestMapping("/email") public class EmailController { From f87eb92aefaf10d4753022a4f741796c69d5144b Mon Sep 17 00:00:00 2001 From: negilbabu Date: Fri, 13 Jan 2023 19:00:53 +0530 Subject: [PATCH 2/2] success --- BackEnd/Library/pom.xml | 6 ++ .../Library/controller/BooksController.java | 14 +++++ .../Library/controller/BorrowController.java | 53 ++++++++++++++++++ .../com/innovature/Library/entity/Borrow.java | 11 +++- .../Library/repository/BooksRepository.java | 3 + .../Library/repository/BorrowRepository.java | 35 +++++++++--- .../Library/service/BooksService.java | 2 + .../Library/service/BorrowService.java | 2 + .../service/impl/BooksServiceImpl.java | 12 ++++ .../service/impl/BorrowServiceImpl.java | 32 ++++++++++- .../src/app/addbooks/addbooks.component.html | 11 ++-- .../borrow-detail-view.component.html | 1 + .../src/app/borrow/borrow.component.html | 4 +- .../borrowhistory.component.html | 2 + .../src/app/sidenav2/sidenav2.component.html | 14 +---- .../Screenshot from 2023-01-10 09-58-21.png | Bin 0 -> 157127 bytes .../Screenshot from 2023-01-13 18-05-59.png | Bin 0 -> 115158 bytes 17 files changed, 170 insertions(+), 32 deletions(-) create mode 100644 FrontEnd/iprjt/src/assets/BooksImage/item_pics/Screenshot from 2023-01-10 09-58-21.png create mode 100644 FrontEnd/iprjt/src/assets/BooksImage/item_pics/Screenshot from 2023-01-13 18-05-59.png diff --git a/BackEnd/Library/pom.xml b/BackEnd/Library/pom.xml index abd0355b..955b437d 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..261de461 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,19 @@ public List getcountByCategoryId() { } + + @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 55f9c2d9..ead7d315 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 @@ -4,6 +4,13 @@ import java.util.Collection; import java.sql.Date; import java.util.List; +import java.io.IOException; + +import java.text.SimpleDateFormat; +import java.util.List; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; import javax.validation.Valid; @@ -21,6 +28,13 @@ 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; @@ -289,6 +303,45 @@ public BorrowDetailView updatePaymentStatus( + @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/entity/Borrow.java b/BackEnd/Library/src/main/java/com/innovature/Library/entity/Borrow.java index 4ab5584a..d28b3557 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 @@ -90,9 +90,10 @@ public Borrow(BorrowForm form, Books books, User user2) { public Borrow(Books book, User user) { this.books = book; - this.user = user; + this.user = user; this.status = "REQUESTED"; this.paymentStatus="UNBILLED"; + this.reason = "NA"; this.dueDays=(long) 0; this.fine=(long) 0; } @@ -192,4 +193,12 @@ public void setPaymentStatus(String paymentStatus) { this.paymentStatus = paymentStatus; } + 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 b34ad487..0ac9378f 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 @@ -103,8 +103,8 @@ public interface BorrowRepository extends PagingAndSortingRepositoryfindAllC(); + // @Query(value = "SELECT * FROM borrow",nativeQuery = true) + // ListfindAllC(); // @Query(value = "select * from borrow where issue_date between date_sub(curdate(),interval 7 day) and curdate()",nativeQuery = true) // ListfindAllC(); @@ -126,9 +126,28 @@ public interface BorrowRepository extends PagingAndSortingRepository findByReqStatusUser(Integer userId,Pageable paging); - - -} - -//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 + @Query(value = "SELECT * FROM borrow",nativeQuery = true) + ListfindAllC(); + + @Query(value = "select * from borrow where issue_date between date_sub(curdate(),interval 7 day) and curdate()",nativeQuery = true) + ListfindAllL7(); + + // @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'; + + // 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'); \ No newline at end of file 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 c781f9ff..58ef4199 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 @@ -68,7 +68,9 @@ public interface BorrowService { BorrowDetailView updatePaymentStatus(Integer borrowId, BorrowForm form); + Listlistcsv(); + // PagegetAllBorrowedUserSearch(String keyword, Integer pageNo,Integer pageSize); // public RentCharView getChart(); 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..50a8d175 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 @@ -144,7 +144,19 @@ public RedirectView uploadImage(MultipartFile multipartFile) throws IOException 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 af482d51..bd3ca36e 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 @@ -144,7 +144,7 @@ public BorrowDetailView updates(Integer borrowId, BorrowForm form) { borrow.setIssueDate(LocalDateTime.now()); borrow.setDueDate(form.getDueDate()); borrow.setReturnDate(form.getReturnDate()); - borrow.setReason(null); + borrow.setReason("NA"); borrow.setStatus("APPROVED"); books.setBooksCopies(books.getBooksCopies() - 1); return new BorrowDetailView(borrowRepository.save(borrow)); @@ -395,10 +395,10 @@ public rentChartView getChart() { hm.put(6, new Result(0, 0)); hm.put(7, new Result(0, 0)); - List s = borrowRepository.findAllC(); + List s = borrowRepository.findAllL7(); for (Borrow a : s) { - if (a.getStatus().equals("APPROVED")) { + if(a.getIssueDate()!=null) { LocalDateTime b = a.getIssueDate(); System.out.println("---------------------------" + b); @@ -522,4 +522,30 @@ public BorrowDetailView updatePaymentStatus(Integer borrowId, BorrowForm form) { return new BorrowDetailView(borrowRepository.save(borrow)); } + @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/FrontEnd/Library/src/app/addbooks/addbooks.component.html b/FrontEnd/Library/src/app/addbooks/addbooks.component.html index 81f0b029..d4dc59bd 100644 --- a/FrontEnd/Library/src/app/addbooks/addbooks.component.html +++ b/FrontEnd/Library/src/app/addbooks/addbooks.component.html @@ -11,9 +11,7 @@ - + @@ -23,8 +21,7 @@ - +
@@ -84,8 +81,8 @@
- + +
diff --git a/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html index ae1a079f..262dcb4e 100644 --- a/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html +++ b/FrontEnd/Library/src/app/borrow-detail-view/borrow-detail-view.component.html @@ -18,6 +18,7 @@

Borrow Details

DUE DATE : {{this.borrowdata.dueDate| date:'dd/MM/yyyy'}} DUE DAYS : {{this.borrowdata.dueDays}} FINE (INR) : {{this.borrowdata.fine}} + PAYMENT : {{this.borrowdata.paymentStatus}} RETURNED DATE :{{this.borrowdata.bookReturnedDate| date:'dd/MM/yyyy'}} STATUS : {{this.borrowdata.status}} Reason: {{this.borrowdata.reason}} diff --git a/FrontEnd/Library/src/app/borrow/borrow.component.html b/FrontEnd/Library/src/app/borrow/borrow.component.html index 1cf3b619..0241aacc 100644 --- a/FrontEnd/Library/src/app/borrow/borrow.component.html +++ b/FrontEnd/Library/src/app/borrow/borrow.component.html @@ -70,8 +70,8 @@

Borrow Details

{{post.books.booksName}} {{post.issueDate| date:'dd/MM/yyyy'}} {{post.dueDate| date:'dd/MM/yyyy'}} - {{post.fine}} - {{post.status}} + {{post.fine }} ( {{post.paymentStatus}} ) + {{post.status}} diff --git a/FrontEnd/Library/src/app/borrowhistory/borrowhistory.component.html b/FrontEnd/Library/src/app/borrowhistory/borrowhistory.component.html index 5a90ad61..b6867e75 100644 --- a/FrontEnd/Library/src/app/borrowhistory/borrowhistory.component.html +++ b/FrontEnd/Library/src/app/borrowhistory/borrowhistory.component.html @@ -47,6 +47,7 @@

Borrow Details

Reason DueDays Fine(INR) + Payment @@ -69,6 +70,7 @@

Borrow Details

{{borrow.reason}} {{borrow.dueDays}} {{borrow.fine}} + {{borrow.paymentStatus}}
diff --git a/FrontEnd/Library/src/app/sidenav2/sidenav2.component.html b/FrontEnd/Library/src/app/sidenav2/sidenav2.component.html index 36d449b9..f776a271 100644 --- a/FrontEnd/Library/src/app/sidenav2/sidenav2.component.html +++ b/FrontEnd/Library/src/app/sidenav2/sidenav2.component.html @@ -1,7 +1,6 @@ - - +