فهرست منبع

BaseCertificate added

Andrew Grant 2 ماه پیش
والد
کامیت
6af9eccf8a

+ 120 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/certificates/BaseCertificate.java

@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.certificates;
+
+import jakarta.persistence.Column;
+
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.MappedSuperclass;
+import org.springframework.format.annotation.DateTimeFormat;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.constants.ApplicationConstants;
+import scot.carricksoftware.grantswriter.domains.places.Organisation;
+import scot.carricksoftware.grantswriter.enums.certificates.CertificateType;
+
+
+@MappedSuperclass
+public class BaseCertificate extends BaseEntity {
+
+    @Column(name = "`certificate_number`")
+    private String certificateNumber;
+
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`certificate_type`")
+    private CertificateType certificateType;
+
+    @ManyToOne
+    @JoinColumn(name = "`organisation_id`")
+    private Organisation certificateSource;
+
+    @Column(name= "`certificate_date`")
+    @DateTimeFormat(pattern = ApplicationConstants.DATE_FORMAT)
+    private String certificateDate;
+
+    @ManyToOne
+    @JoinColumn(name = "`registration_authority`")
+    private Organisation registrationAuthority;
+
+    @Column(name = "`volume`")
+    private String volume;
+
+    @Column(name = "`number`")
+    private String number;
+
+    @SuppressWarnings("unused")
+    public String getCertificateNumber() {
+        return certificateNumber;
+    }
+
+    @SuppressWarnings("unused")
+    public void setCertificateNumber(String certificateNumber) {
+        this.certificateNumber = certificateNumber;
+    }
+
+    @SuppressWarnings("unused")
+    public Organisation getCertificateSource() {
+        return certificateSource;
+    }
+
+
+    @SuppressWarnings("unused")
+    public String getCertificateDate() {
+        return certificateDate;
+    }
+
+    @SuppressWarnings("unused")
+    public void setCertificateDate(String certificateDate) {
+        this.certificateDate = certificateDate;
+    }
+
+    @SuppressWarnings("unused")
+    public void setCertificateSource(Organisation organisation) {
+        this.certificateSource = organisation;
+    }
+
+    @SuppressWarnings("unused")
+    public CertificateType getCertificateType() {
+        return certificateType;
+    }
+
+    @SuppressWarnings("unused")
+    public void setCertificateType(CertificateType certificateType) {
+        this.certificateType = certificateType;
+    }
+
+    @SuppressWarnings("unused")
+    public Organisation getRegistrationAuthority() {
+        return registrationAuthority;
+    }
+
+    @SuppressWarnings("unused")
+    public void setRegistrationAuthority(Organisation registrationAuthority) {
+        this.registrationAuthority = registrationAuthority;
+    }
+
+    @SuppressWarnings("unused")
+    public String getVolume() {
+        return volume;
+    }
+
+    @SuppressWarnings("unused")
+    public void setVolume(String volume) {
+        this.volume = volume;
+    }
+
+    @SuppressWarnings("unused")
+    public String getNumber() {
+        return number;
+    }
+
+    @SuppressWarnings("unused")
+    public void setNumber(String number) {
+        this.number = number;
+    }
+}

+ 2 - 2
src/main/java/scot/carricksoftware/grantswriter/domains/certificates/birthcertificate/BirthCertificate.java

@@ -10,13 +10,13 @@ import jakarta.persistence.Entity;
 import jakarta.persistence.JoinColumn;
 import jakarta.persistence.ManyToOne;
 import org.springframework.format.annotation.DateTimeFormat;
-import scot.carricksoftware.grantswriter.BaseEntity;
 import scot.carricksoftware.grantswriter.constants.ApplicationConstants;
+import scot.carricksoftware.grantswriter.domains.certificates.BaseCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
 import scot.carricksoftware.grantswriter.domains.places.Place;
 
 @Entity
-public class BirthCertificate extends BaseEntity {
+public class BirthCertificate extends BaseCertificate {
 
     @SuppressWarnings("JpaDataSourceORMInspection")
     @ManyToOne()

+ 2 - 6
src/main/java/scot/carricksoftware/grantswriter/domains/certificates/deathcertificate/DeathCertificate.java

@@ -13,19 +13,15 @@ import jakarta.persistence.JoinColumn;
 import jakarta.persistence.Lob;
 import jakarta.persistence.ManyToOne;
 import org.springframework.format.annotation.DateTimeFormat;
-import scot.carricksoftware.grantswriter.BaseEntity;
 import scot.carricksoftware.grantswriter.constants.ApplicationConstants;
+import scot.carricksoftware.grantswriter.domains.certificates.BaseCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
 import scot.carricksoftware.grantswriter.domains.places.Place;
 import scot.carricksoftware.grantswriter.enums.general.Sex;
 
 @Entity
-public class DeathCertificate extends BaseEntity {
+public class DeathCertificate extends BaseCertificate {
 
-    /*
-     * Copyright (c) Andrew Grant of Carrick Software 24/03/2025, 10:07. All rights reserved.
-     *
-     */
 
 
     @SuppressWarnings("JpaDataSourceORMInspection")

+ 33 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/places/Organisation.java

@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.places;
+
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+@Entity
+public class Organisation extends BaseEntity {
+
+    @Column(name = "`name`")
+    private String name;
+
+    @SuppressWarnings("unused")
+    public String getName() {
+        return name;
+    }
+
+    @SuppressWarnings("unused")
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    @Override
+    public String toString() {
+        return name;
+    }
+}

+ 2 - 1
src/main/java/scot/carricksoftware/grantswriter/enums/certificates/CertificateType.java

@@ -7,7 +7,8 @@ package scot.carricksoftware.grantswriter.enums.certificates;
 
 public enum CertificateType {
 
-    @SuppressWarnings("unused") EXTRACT("Extract");
+    EXTRACT("Extract"),
+    COPY("Copy");
 
     @SuppressWarnings("unused")
     public final String label;