cmfcmf / sap-hana-scala Goto Github PK
View Code? Open in Web Editor NEWScala + SAP Hana University Project
Home Page: http://localhost:8080
Scala + SAP Hana University Project
Home Page: http://localhost:8080
Es sollte eine einfache Order Klasse geben, der man im Constructor ein resultSet gibt (was dann ja eine Zeile der ACDOCA Tabelle darstellt) und die daraus ihre relevanten Instanzvariablen setzt.
Also alle Scripts und CSS Dateien runterladen und lokal einbinden. http://scalatra.org/2.4/guides/views/scalate.html
SQL-Query
Gegeben: String, der Land oder Region sein kann, Anfangsdatum, Enddatum
Rückgabe: Finde den Umsatz, der im Zeitraum Anfangsdatum bis Enddatum in der Region/dem Land erzielt wurde.
Schreibe einen SQL Query:
Gegeben: Kundennummer, PLZ, Name, LIMIT
Rückgabe: Finde alle Kundern, die auf die Eingabe passen, wobei möglichst "fuzzy" gesucht werden sollte
Diese dann in einer Liste anzeigen mit "Mehr Details" Knöpfen, die dann jeweils noch zusätzliche Details zu den Kunden anzeigen.
Darstellung aller offenen Posten des Kunden in Tabellenform.
Angabe der durchschnittlichen Dauer bis zum Begleich der Außenstände. Am besten unterhalt der Kundendaten - leicht separiert.
Wenn wir auf der bestehenden Architektur aufbauen, dann macht es Sinn, CallcenterServlet umzubenennen in CustomerServlet und dies als Controller für kundenbezogene Funktionen anzusehen.
Kommentare dazu erwünscht! @cmfcmf @Hannes01071995 @frederike-ramin @Blaidd-Drwg
Stattdessen sollte dies zurückgegeben werden und alle Operationen auf der Datenbank sollten nichts zurück- und ausgeben. Die Rückgabe an den User könnte mit Hilfe von Flashnachrichten erfolgen: http://scalatra.org/2.4/guides/http/flash.html
Schreibe einen SQL Query:
Gegeben: Kundennummer, Liste von Jahren
Rückgabe: Berechne die Umsätze und Gewinne pro gegebenem Jahr für den Kunden
Per Post Parameter gibt es Kundennummer, PLZ, Name, die an das Model weitergeleitet werden sollen, dass dann eine Liste von Customer Klassen zurückgibt, welche dann vom Controller als HTML ausgeben werden soll.
Aktuell ist eine statische Google Map eingebunden (Location per codierter ID).
ToDo: Nutze GoogleMaps (embeded?) API um entsprechend dem Kunden auf der Detailseite die Adresse des Kunden auf der Karte anzuzeigen.
Order sollte die Eigenschaft (un)beglichen aufweisen. ggf. auch Subclass?
Wenn man das Datum nach der Vorschau (schonmal eingegebene Daten) auswählt und das Eingabefeld wechselt, wird statt des Datums, das bis eben noch drinstand, das aktuelle Datum (28.5.2016) reingeschrieben.
Entsprechendes Attribut sollte in Klasse customer definiert/berechnet werden.
Per Post Parameter gibt es eine Kundennummer die an das Model weitergeleitet werden soll, dass dann eine Liste von sowohl Order Klassen zurückgibt, als auch die Umsätze und Gewinne, welche dann vom Controller als HTML ausgeben werden sollen.
Es sollte eine einfache Customer Klasse geben, der man im Constructor ein resultSet gibt (was dann ja eine Zeile der Kunden Tabelle darstellt) und die daraus ihre Instanzvariablen Kundennummer, Land, Name, Ort, usw. setzt.
DataStore sollte um entsprechende Funktionen/Erweiterungen ergänzt werden, sodass die neuen SQL-Queries abgedeckt werden.
SQL-Query
Gegeben: Kunde, Enddatum
Rückgabe: Liste alle Bestellungen auf, die bis zum Enddatum vom Kunden nicht beglichen wurden; Finde die durchschnittliche Differenz zwischen dem Datum einer Bestellung und dem Datum deren Zahlung
Schreibe einen SQL Query:
Gegeben: Kundennummer, LIMIT
Rückgabe: Finde die neusten LIMIT Bestellungen
Aktuell ist das etwas verwirrend, unsere DatabaseConnection Klasse stellt ja nicht die Verbindung dar, sondern öffnet intern die Verbindung und bietet darauf Operationen an. Vorschlag: DataBackend oder irgendwie sowas.
BigDecimal: amount
und String: currency
sowie überladenen +
und -
Operatoren, mit der man Geld Objekte zusammenrechnen kann, falls die currency
übereinstimmt.EUR 1.000.000
).1000000
)SQL-Query
Gegeben: Kundennummer (können Kundensuche aus Ü1 wiederverwenden), Anfangsdatum, Enddatum
Rückgabe: Liste alle Produktarten auf, die im Zeitraum Anfangsdatum bis Enddatum an den Kunden verkauft wurden;
Finde den prozentuellen Anteil jeder Produktart am Gesamtumsatz für den Kunden.
SQL-Query
Gegeben: LIMIT, Anfangsdatum, Enddatum
Rückgabe: Liste LIMIT Produkte (ID+Name) auf, sortiert nach dem Umsatz, den sie im Zeitraum Anfangsdatum bis Enddatum eingebracht haben
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.