1 package net.sumaris.core.vo.data;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import lombok.Data;
26 import lombok.experimental.FieldNameConstants;
27 import net.sumaris.core.model.data.IWithRecorderPersonEntity;
28 import net.sumaris.core.model.data.IWithVesselSnapshotEntity;
29 import net.sumaris.core.vo.administration.programStrategy.ProgramVO;
30 import net.sumaris.core.vo.administration.user.DepartmentVO;
31 import net.sumaris.core.vo.administration.user.PersonVO;
32 import net.sumaris.core.vo.referential.LocationVO;
33 import net.sumaris.core.vo.referential.ReferentialVO;
34 import org.apache.commons.lang3.builder.ToStringBuilder;
35 import org.apache.commons.lang3.builder.ToStringStyle;
36
37 import java.util.Date;
38 import java.util.List;
39 import java.util.Map;
40 import java.util.Set;
41
42 @Data
43 @FieldNameConstants
44 public class SaleVO implements IRootDataVO<Integer>,
45 IWithRecorderPersonEntity<Integer, PersonVO>,
46 IWithVesselSnapshotEntity<Integer, VesselSnapshotVO> {
47
48 private Integer id;
49 private String comments;
50 private Date creationDate;
51 private Date updateDate;
52 private Date controlDate;
53 private Date validationDate;
54 private Date qualificationDate;
55 private String qualificationComments;
56 private Integer qualityFlagId;
57 private DepartmentVO recorderDepartment;
58 private PersonVO recorderPerson;
59
60 private ProgramVO program;
61 private VesselSnapshotVO vesselSnapshot;
62 private Date startDateTime;
63 private Date endDateTime;
64 private LocationVO saleLocation;
65 private ReferentialVO saleType;
66
67 private Set<PersonVO> observers;
68 private List<SampleVO> samples;
69
70 private TripVO trip;
71 private Integer tripId;
72
73 private List<MeasurementVO> measurements;
74 private Map<Integer, String> measurementValues;
75
76 public String toString() {
77 return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
78 }
79
80 @Override
81 public Date getVesselDateTime() {
82 return startDateTime;
83 }
84 }