Untitled

 avatar
unknown
java
7 days ago
2.8 kB
2
Indexable
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@SQLRestriction(CLAUSE_RECORD_STATUS_ACTIVE)
@Entity
@Table(name = "izvestaj")
public class Report extends UserAuditEntity {

    @NotBlank
    @Column(name = "naziv")
    private String name;

    @Column(name = "opis")
    private String description;

    @NotNull
    @Lob
    @Basic(fetch = FetchType.LAZY)
    @Column(name = "jasper")
    private byte[] jasper;

    @NotBlank
    @Column(name = "jasper_naziv")
    private String jasperName;

    @OneToMany(mappedBy = "report", cascade = CascadeType.ALL)
    private List<ReportParam> reportParams;

    public void delete() {
        setRecordStatus(EnumRecordStatus.SOFT_DELETED);
        reportParams.forEach(ReportParam::delete);
    }
}

@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@SQLRestriction(CLAUSE_RECORD_STATUS_ACTIVE)
@Entity
@Table(name = "izvestaj_parametar")
public class ReportParam extends UserAuditEntity {

    @NotNull
    @ManyToOne
    @JoinColumn(name = "id_izvestaj")
    private Report report;

    @NotNull
    @Enumerated(EnumType.STRING)
    @Column(name = "parametar_tip_enum")
    private EnumParamType paramType;

    @Column(name = "naziv")
    private String name;

    @NotBlank
    @Column(name = "sifra")
    private String code;

    @NotNull
    @Column(name = "obavezan")
    private Boolean required;

    public void delete() {
        setRecordStatus(EnumRecordStatus.SOFT_DELETED);
    }


}


@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@SQLRestriction(CLAUSE_RECORD_STATUS_ACTIVE)
@Entity
@Table(name = "generisan_izvestaj")
public class GeneratedReport extends UserAuditEntity {

	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_izvestaj")
	private Report report;

	@NotNull
	@Lob
	@Basic(fetch = FetchType.LAZY)
	@Column(name = "sadrzaj")
	private byte[] content;

	@OneToMany(mappedBy = "generatedReport", cascade = { CascadeType.ALL })
	private List<GeneratedReportParam> generatedReportParams;

	public void delete() {
		setRecordStatus(EnumRecordStatus.SOFT_DELETED);
		generatedReportParams.forEach(GeneratedReportParam::delete);
	}
}


@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@SQLRestriction(CLAUSE_RECORD_STATUS_ACTIVE)
@Entity
@Table(name = "generisan_izvestaj_parametar")
public class GeneratedReportParam extends UserAuditEntity {

	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_generisan_izvestaj")
	private GeneratedReport generatedReport;

	@NotNull
	@ManyToOne
	@JoinColumn(name = "id_izvestaj_parametar")
	private ReportParam reportParam;

	@NotBlank
	@Column(name = "vrednost")
	private String value;

	public void delete() {
		setRecordStatus(EnumRecordStatus.SOFT_DELETED);
	}

}
Editor is loading...
Leave a Comment