From b1cd6b9f710ffa84c4995b6d70a27d9b3f9134c3 Mon Sep 17 00:00:00 2001
From: vesal <vesal@jyu.fi>
Date: Mon, 27 Mar 2023 11:39:08 +0300
Subject: [PATCH] Osaa lajitella avaimen perusteella muidenkin kenttien mukaan

---
 luennot/live23/src/kerho/Jasen.java | 35 ++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/luennot/live23/src/kerho/Jasen.java b/luennot/live23/src/kerho/Jasen.java
index d2adfc3..c8c28c9 100644
--- a/luennot/live23/src/kerho/Jasen.java
+++ b/luennot/live23/src/kerho/Jasen.java
@@ -48,10 +48,18 @@ public class Jasen implements Cloneable, Tietue {
         
         @Override
         public int compare(Jasen jasen1, Jasen jasen2) {
-            return jasen1.anna(k).compareTo(jasen2.anna(k));
+            return jasen1.getAvain(k).compareTo(jasen2.getAvain(k));
         }
     }
     
+    // Hetun tapauksessa
+    // 311201  => 011231
+    // 121299  => 991212
+    // Jäsenmaksun tapaukssa
+    // 11.00   =>  000011.00
+    // 9.00    =>  000009.00 
+    
+    
     
     /**
      * @return montako kenttaa
@@ -111,6 +119,31 @@ public class Jasen implements Cloneable, Tietue {
     }
 
     
+    /** 
+     * Antaa k:n kentän sisällön merkkijonona 
+     * @param k monenenko kentän sisältö palautetaan 
+     * @return kentän sisältö merkkijonona 
+     */ 
+    public String getAvain(int k) { 
+        switch ( k ) { 
+        case 0: return "" + tunnusNro; 
+        case 1: return "" + nimi.toUpperCase(); 
+        case 2: return "" + hetu; // vaihda vuosi ja pvm keskenään 
+        case 3: return "" + katuosoite; 
+        case 4: return "" + postinumero; 
+        case 5: return "" + postiosoite; 
+        case 6: return "" + kotipuhelin; 
+        case 7: return "" + tyopuhelin; 
+        case 8: return "" + autopuhelin; 
+        case 9: return "" + String.format("%4d", liittymisvuosi); 
+        case 10: return "" + jmaksu; 
+        case 11: return "" + maksu; 
+        case 12: return "" + lisatietoja; 
+        default: return "Äääliö"; 
+        } 
+    } 
+
+    
     /**
      * Antaa k:n kentän sisällön merkkijonona
      * @param k monenenko kentän sisältö palautetaan
-- 
GitLab