Invoice generation bugfix, project humanId generation changed
authorelgekko <vasary@elgekko.net>
Tue, 2 May 2023 09:56:29 +0000 (11:56 +0200)
committerelgekko <vasary@elgekko.net>
Tue, 2 May 2023 09:56:29 +0000 (11:56 +0200)
TODO.txt
lis-services/src/main/java/hu/user/lis/services/data/InvoiceServiceImpl.java
lis-services/src/main/java/hu/user/lis/services/data/ProjectServiceImpl.java

index 7605d62f8b717758d94606c47194e53571ef8d26..e4035c3340b1060f9ee9b604283d819a885e8bab 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
 - Authorizáció: SAP S3 authorization objects leírás
 - Munkalap rögzítés úgy, hogy raktáron lévő alkatrészt is fel lehessen vinni a munkalapra.
 - Plugin: lehet egyedi testreszabási igény, de ennek valahogy el kell teljesen különülnie a "core" forráskódtól. Pl. javascript motort be lehetne építeni, a szkriptek pedig meghatározott pontokon lehetnének becsatolva a logikába. Számla részletezés volt a példa (10000EUR számla 3 részletben forintban, kérdés mennyi pl. az utsó számla összege); 10 custom mező, javascripttel futna a custom mezők módosítására.
+
+
+- A projektszám formátuma más kell, hogy legyen (Csabi).
+- Munkatárs táblázatban a szerkesztés gomb nem aktív.
+- Számlához kellene a számla sorszáma.
+- A be és kimenő számlák táblázatban szerepeljen a teljesítés dátuma a fizetési határidő oszlop előtt.
+- Projekt résztvevők így nagyok helyet foglalnak el. Inkább legyen egy nyomógomb a projekt szerkesztő tetején egy dialógus ablakban lehet szerkeszteni a résztvevőket.
+- Treasury táblázat a következő.
+- Tresaury táblázat után pedig a munkalap táblázat.
+- A projekt szerkesztés/részletezés tetején az adatok legyenek bal oldalon bekeretezve.
+    A jobb oldalon pedig legyen látható a projekt árrése.
+    Az árrés annyi sorból áll ahány devizanem van a projekt számláiban. Egy adott devizanem esetén a számolás:
+    Kimenő - Bejövő - Treasury eladás + Treasury vétel
\ No newline at end of file
index 54c91b3a59bfefd537e83cda14ab62bbff160f58..518a08a17ec4382941d29d7c5efa235d4469b4d3 100644 (file)
@@ -752,11 +752,12 @@ public class InvoiceServiceImpl implements InvoiceService {
         int count = RandomUtils.nextInt(2, 5);
         List<Invoice> result = new ArrayList<>();
         for (int i = 0; i < count; i++) {
-            int index = RandomUtils.nextInt(0, GENERATE_COUNT);
             if (income) {
+                int index = RandomUtils.nextInt(0, incomingEntities.size());
                 result.add(incomingEntities.get(index));
                 incomingEntities.remove(index);
             } else {
+                int index = RandomUtils.nextInt(0, outgoingEntities.size());
                 result.add(outgoingEntities.get(index));
                 outgoingEntities.remove(index);
             }
index a27ee3176fe3d1484ec08aa3b7f94030412826c0..f22292375935ec276a6fbcd315c874d3af674866 100644 (file)
@@ -11,9 +11,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.lang.reflect.Field;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.concurrent.TimeUnit;
 
 @Service
 @Log4j2
@@ -62,12 +66,14 @@ public class ProjectServiceImpl implements ProjectService {
     }
 
     private List<Project> generate() {
-        // sanyi
         List<Project> result = new ArrayList<>();
+        DateFormat dateFormat = new SimpleDateFormat("yyyy");
         for (int i = 0; i < 20; i++) {
             String id = RandomStringUtils.random(8, "0123456789abcdef");
             String name = dataGeneratorService.faker().commerce().productName();
-            String humanId = dataGeneratorService.faker().code().isbn10(true);
+            Date dt = dataGeneratorService.faker().date().past(i + 1, TimeUnit.DAYS);
+            //"2023-0054"
+            String humanId = String.format("%s-%s", dateFormat.format(dt), String.format("%04d", i));
             String contactName = dataGeneratorService.faker().name().fullName();
             Partner partner = partnerService.getRandom();
             Project entity = Project.builder()
@@ -86,7 +92,6 @@ public class ProjectServiceImpl implements ProjectService {
     }
 
     private List<Project> generate2() {
-        // sanyi
         List<Project> result = new ArrayList<>();
 
         String id = "2022-0027";