Initial Commit
This commit is contained in:
parent
150081e5f4
commit
e59038ce18
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
# Created by https://www.gitignore.io/api/intellij
|
||||
# Edit at https://www.gitignore.io/?templates=intellij
|
||||
|
||||
### Intellij ###
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
||||
### Intellij Patch ###
|
||||
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
|
||||
|
||||
# *.iml
|
||||
# modules.xml
|
||||
# .idea/misc.xml
|
||||
# *.ipr
|
||||
|
||||
# Sonarlint plugin
|
||||
.idea/**/sonarlint/
|
||||
|
||||
# SonarQube Plugin
|
||||
.idea/**/sonarIssues.xml
|
||||
|
||||
# Markdown Navigator plugin
|
||||
.idea/**/markdown-navigator.xml
|
||||
.idea/**/markdown-navigator/
|
||||
|
||||
# End of https://www.gitignore.io/api/intellij
|
||||
|
|
@ -1 +1,2 @@
|
|||
arbeitszeiterfassung
|
||||
# Arbeitszeiterfassung
|
||||

|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.4 MiB |
|
|
@ -0,0 +1,117 @@
|
|||
package gfn.marc;
|
||||
|
||||
import java.time.YearMonth;
|
||||
|
||||
public class Main {
|
||||
|
||||
// Testdaten
|
||||
static int[][] zeiten = {
|
||||
{2, 480},
|
||||
{2, 1_040},
|
||||
{3, 470},
|
||||
{6, 480},
|
||||
{6, 960},
|
||||
{7, 990},
|
||||
{8, 480},
|
||||
{8, 960},
|
||||
{30, 990}
|
||||
};
|
||||
|
||||
public static void main(String[] args) {
|
||||
int persnr = 12345;
|
||||
erzeugeListe(persnr, zeiten, 2013, 5);
|
||||
}
|
||||
|
||||
// zu programmierende Methode
|
||||
static void erzeugeListe(int persnr, int[][] zeiten, int jahr, int monat) {
|
||||
|
||||
int anwesenheitMonat = 0;
|
||||
int tag = 1;
|
||||
schreibeKopfzeile(persnr, jahr, monat);
|
||||
for (int i = 0; tag <= tageImMonat(monat, jahr); ) {
|
||||
int min1 = -1;
|
||||
int min2 = -1;
|
||||
int anwesenheitTag = -1;
|
||||
String bemerkung = "";
|
||||
|
||||
if (i < zeiten.length && zeiten[i][0] == tag) {
|
||||
min1 = zeiten[i][1];
|
||||
}
|
||||
if (i + 1 < zeiten.length && zeiten[i + 1][0] == tag) {
|
||||
min2 = zeiten[i + 1][1];
|
||||
}
|
||||
if (min1 == -1 ^ min2 == -1) {
|
||||
bemerkung = "eine Buchung fehlt";
|
||||
i++;
|
||||
}
|
||||
if (min1 != -1 && min2 != -1) {
|
||||
anwesenheitTag = min2 - min1;
|
||||
anwesenheitMonat += anwesenheitTag;
|
||||
i += 2;
|
||||
}
|
||||
if (min1 == -1 && min2 == -1)
|
||||
bemerkung = "nicht anwesend";
|
||||
|
||||
|
||||
schreibeZeile(tag, min1, min2, anwesenheitTag, bemerkung);
|
||||
tag++;
|
||||
}
|
||||
|
||||
schreibeFusszeile(anwesenheitMonat);
|
||||
|
||||
}
|
||||
|
||||
// gegebene Methoden
|
||||
static int tageImMonat(int monat, int jahr) {
|
||||
YearMonth yearMonth = YearMonth.of(jahr, monat);
|
||||
return yearMonth.lengthOfMonth();
|
||||
}
|
||||
|
||||
static void schreibeKopfzeile(int persnr, int jahr, int monat) {
|
||||
String[] monate = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September",
|
||||
"Oktober", "November", "Dezember"};
|
||||
System.out.println("\nMitarbeiter: " + persnr + " " + monate[monat + 1] + " " + jahr + "\n");
|
||||
System.out.println("Tag Kommen Gehen Anwesenheit Bemerkung");
|
||||
System.out.println("========================================================");
|
||||
}
|
||||
|
||||
static void schreibeZeile(int tag, int min1, int min2, int anwesenheitTag, String bemerkung) {
|
||||
String kommen = " ";
|
||||
String gehen = " ";
|
||||
String anwesenheit = "00:00";
|
||||
String tagString = tag < 10 ? " " + tag : "" + tag;
|
||||
if (min1 != -1) {
|
||||
int h = min1 / 60;
|
||||
int m = min1 % 60;
|
||||
String stunde = h < 10 ? "0" + h : "" + h;
|
||||
String minute = m < 10 ? "0" + m : "" + m;
|
||||
kommen = stunde + ":" + minute + " ";
|
||||
}
|
||||
if (min2 != -1) {
|
||||
int h = min2 / 60;
|
||||
int m = min2 % 60;
|
||||
String stunde = h < 10 ? "0" + h : "" + h;
|
||||
String minute = m < 10 ? "0" + m : "" + m;
|
||||
gehen = stunde + ":" + minute + " ";
|
||||
}
|
||||
if (anwesenheitTag != -1) {
|
||||
int h = anwesenheitTag / 60;
|
||||
int m = anwesenheitTag % 60;
|
||||
String stunde = h < 10 ? "0" + h : "" + h;
|
||||
String minute = m < 10 ? "0" + m : "" + m;
|
||||
anwesenheit = stunde + ":" + minute;
|
||||
}
|
||||
System.out.println(tagString + " " + kommen + " " + gehen + " " + anwesenheit + " " + bemerkung);
|
||||
}
|
||||
|
||||
static void schreibeFusszeile(int anwesenheitMonat) {
|
||||
int h = anwesenheitMonat / 60;
|
||||
int m = anwesenheitMonat % 60;
|
||||
String stunde = h < 10 ? "0" + h : "" + h;
|
||||
String minute = m < 10 ? "0" + m : "" + m;
|
||||
System.out.println("========================================================");
|
||||
System.out.println("Summe Anwesenheit: " + stunde + ":" + minute);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue