mazurmaksim / sta-proj Goto Github PK
View Code? Open in Web Editor NEWStudent accounting web app
Student accounting web app
configuring a view resolver
В контроллері net.students.accounting.controller.MainController створити два ендпоінта для завантаження xlsx файлів.
Процесор який створює файл net.students.accounting.controller.MainController
Маппер net.students.accounting.mapper.StudentListDataMapper
Приклад як можна реалізувати завантаження файла
Контроллер
@GetMapping("/cryptocurrencies/csv")
public void exportToCsv(HttpServletResponse servletResponse) throws IOException {
servletResponse.setContentType("text/csv");
servletResponse.addHeader("Content-Disposition","attachment; filename=\"statistics.csv\"");
csvExportService.writeStatisticToCsv(servletResponse.getWriter());
}
шось подібне має бути для xlsx
Написати тест.
Create package exception, then add two classes CustomizedResponseEntityExceptionHandler (has to extends from ResponseEntityExceptionHandler) and ExceptionResponse.
@ExceptionHandler(UserNotFoundException.class)
public final ResponseEntity<Object> handleUserNotFoundExceptions(Exception ex, WebRequest request) {
ExceptionResponse exceptionResponse =
new ExceptionResponse(new Date(), ex.getMessage(),
request.getDescription(false));
return new ResponseEntity(exceptionResponse, HttpStatus.NOT_FOUND);
}
And for other exceptions
@ExceptionHandler(Exception.class)
public final ResponseEntity<Object> handleAllExceptions(Exception ex, WebRequest request) {
ExceptionResponse exceptionResponse =
new ExceptionResponse(new Date(), ex.getMessage(),
request.getDescription(false));
return new ResponseEntity(exceptionResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
Fix tests if it needed
In Controller class you have to throw exceptions if student not found. And customize Response entities. Check response codes.
Every student get grant every months. Realize this in entity. Add migration script. Write tests.
Make bold style and bigger font to title. Add green background color.
Realize xls report with all data about students. Make cells
|Name| Last Name| Middle Name| Group| Inn | Grants | Phone Number |
Add integration test
Додати в базу довідник податків, з цього довідника мають братись значення для оподаткування стипендії і військового зборів.
Створити сутність
TaxDictionary -
armyTax - військовий податок
incomeTax - податок на прибуток
subsistenceLevel - прожитковий мінімум
Додати репозиторій і сервіси.
Якщо розмір стипендіі перевищує 3180 - це прожитковий мінімум помножено на 1,4
то рахувати податок
Військовий збір - 1,5%
Формула - 3592.5 - (3592.5-3180) *1,5%
де 3592.5 це стипендія студента.
Дані брати з створеного довідника #27
Add Logger
Створити таблицю system_properties в базі даних, зробити entity, repository i service
Add to repository CI
When i add grants entity then broke mapper net.students.accounting.mapper.StudentDataMapper. Fix mapper and write test. Fix other tests if needed
Якщо розмір стипендіі перевищує 3180 - це прожитковий мінімум помножено на 1,4
то рахувати податок
Податок на доходи - 18%
Формула - 3592.5 - (3592.5-3180) *18%
де 3592.5 це стипендія студента.
Дані брати з створеного довідника #27
Create table PROPERTIES. Realize Logic.
Add flyway and migration scripts
Add mysql docker container an connect to it
Додати в базу довідник податків, з цього довідника мають братись значення для оподаткування стипендії і військового зборів.
Створити сутність
TaxDictionary -
armyTax - військовий податок
incomeTax - податок на прибуток
subsistenceLevel - прожитковий мінімум
Тести
Realize simple Jasper Reports
Calculate summary grants for every student put this data to XSLX row and name this row "Summary grants"
In the table STUDENTS add photo url and upload user pic to destination folder.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.