Subversion Repositories SmartDukaan

Rev

Rev 35997 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.entity.fofo;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

import javax.persistence.Column;
import javax.persistence.Convert;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;

@Entity
@Table(name = "fofo.purchase_return_order")
public class PurchaseReturnOrder implements Serializable {

        private static final long serialVersionUID = 1L;

        @Id
        @Column(name = "id")
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;

        @Column(name = "document_reference")
        private String documentReference;

        @Column(name = "debit_note_id")
        private Integer debitNoteId;

        @Column(name = "warehouse_id")
        private int warehouseId;

        @Column(name = "fofo_id")
        private int fofoId;

        @Column(name = "created_by")
        private String createdBy;

        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "create_timestamp")
        private LocalDateTime createTimestamp = LocalDateTime.now();

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

        @Column(name = "doa_certificate_valid")
        private Boolean doaCertificateValid;

        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "receive_timestamp")
        private LocalDateTime receiveTimestamp;

        @Column(name = "received_by")
        private String receivedBy;

        @Column(name = "finance_remark")
        private String financeRemark;

        @Column(name = "refund_amount")
        private Float refundAmount;

        @Column(name = "refunded_by")
        private String refundedBy;

        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "refund_timestamp")
        private LocalDateTime refundTimestamp;

        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "reject_timestamp")
        private LocalDateTime rejectTimestamp;

        @Column(name = "reject_remark")
        private String rejectRemark;

        @Column(name = "updated_by")
        private String updatedBy;

        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "retailer_acknowledge_timestamp")
        private LocalDateTime retailerAcknowledgeTimestamp;

        // Document reference prefixes
        public static final String DN_PREFIX = "DN:";
        public static final String INV_PREFIX = "INV:";
        public static final String SN_PREFIX = "SN:";

        public int getId() {
                return id;
        }

        public void setId(int id) {
                this.id = id;
        }

        public String getDocumentReference() {
                return documentReference;
        }

        public void setDocumentReference(String documentReference) {
                this.documentReference = documentReference;
        }

        public Integer getDebitNoteId() {
                return debitNoteId;
        }

        public void setDebitNoteId(Integer debitNoteId) {
                this.debitNoteId = debitNoteId;
        }

        public int getWarehouseId() {
                return warehouseId;
        }

        public void setWarehouseId(int warehouseId) {
                this.warehouseId = warehouseId;
        }

        public int getFofoId() {
                return fofoId;
        }

        public void setFofoId(int fofoId) {
                this.fofoId = fofoId;
        }

        public String getCreatedBy() {
                return createdBy;
        }

        public void setCreatedBy(String createdBy) {
                this.createdBy = createdBy;
        }

        public LocalDateTime getCreateTimestamp() {
                return createTimestamp;
        }

        public void setCreateTimestamp(LocalDateTime createTimestamp) {
                this.createTimestamp = createTimestamp;
        }

        public String getRemark() {
                return remark;
        }

        public void setRemark(String remark) {
                this.remark = remark;
        }

        public Boolean getDoaCertificateValid() {
                return doaCertificateValid;
        }

        public void setDoaCertificateValid(Boolean doaCertificateValid) {
                this.doaCertificateValid = doaCertificateValid;
        }

        public LocalDateTime getReceiveTimestamp() {
                return receiveTimestamp;
        }

        public void setReceiveTimestamp(LocalDateTime receiveTimestamp) {
                this.receiveTimestamp = receiveTimestamp;
        }

        public String getReceivedBy() {
                return receivedBy;
        }

        public void setReceivedBy(String receivedBy) {
                this.receivedBy = receivedBy;
        }

        public String getFinanceRemark() {
                return financeRemark;
        }

        public void setFinanceRemark(String financeRemark) {
                this.financeRemark = financeRemark;
        }

        public Float getRefundAmount() {
                return refundAmount;
        }

        public void setRefundAmount(Float refundAmount) {
                this.refundAmount = refundAmount;
        }

        public String getRefundedBy() {
                return refundedBy;
        }

        public void setRefundedBy(String refundedBy) {
                this.refundedBy = refundedBy;
        }

        public LocalDateTime getRefundTimestamp() {
                return refundTimestamp;
        }

        public void setRefundTimestamp(LocalDateTime refundTimestamp) {
                this.refundTimestamp = refundTimestamp;
        }

        public LocalDateTime getRejectTimestamp() {
                return rejectTimestamp;
        }

        public void setRejectTimestamp(LocalDateTime rejectTimestamp) {
                this.rejectTimestamp = rejectTimestamp;
        }

        public String getRejectRemark() {
                return rejectRemark;
        }

        public void setRejectRemark(String rejectRemark) {
                this.rejectRemark = rejectRemark;
        }

        public String getUpdatedBy() {
                return updatedBy;
        }

        public void setUpdatedBy(String updatedBy) {
                this.updatedBy = updatedBy;
        }

        public LocalDateTime getRetailerAcknowledgeTimestamp() {
                return retailerAcknowledgeTimestamp;
        }

        public void setRetailerAcknowledgeTimestamp(LocalDateTime retailerAcknowledgeTimestamp) {
                this.retailerAcknowledgeTimestamp = retailerAcknowledgeTimestamp;
        }

        public String getFormattedRetailerAcknowledgeTimestamp() {
                if (retailerAcknowledgeTimestamp == null) return null;
                return retailerAcknowledgeTimestamp.format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
        }

        public String getFormattedRejectTimestamp() {
                if (rejectTimestamp == null) return null;
                return rejectTimestamp.format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
        }

        public String getFormattedCreateTimestamp() {
                if (createTimestamp == null) return null;
                return createTimestamp.format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
        }

        public String getFormattedReceiveTimestamp() {
                if (receiveTimestamp == null) return null;
                return receiveTimestamp.format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
        }

        public String getFormattedRefundTimestamp() {
                if (refundTimestamp == null) return null;
                return refundTimestamp.format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"));
        }

        @Override
        public int hashCode() {
                return id;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj) return true;
                if (obj == null || getClass() != obj.getClass()) return false;
                PurchaseReturnOrder other = (PurchaseReturnOrder) obj;
                return id == other.id;
        }

        @Override
        public String toString() {
                return "PurchaseReturnOrder{" +
                                "id=" + id +
                                ", documentReference='" + documentReference + '\'' +
                                ", debitNoteId=" + debitNoteId +
                                ", warehouseId=" + warehouseId +
                                ", fofoId=" + fofoId +
                                ", createdBy='" + createdBy + '\'' +
                                ", remark='" + remark + '\'' +
                                ", doaCertificateValid=" + doaCertificateValid +
                                ", receiveTimestamp=" + receiveTimestamp +
                                ", refundAmount=" + refundAmount +
                                '}';
        }
}