Subversion Repositories SmartDukaan

Rev

Rev 21924 | Rev 22009 | Go to most recent revision | View as "text/plain" | 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;

/**
 * This class basically contains api details
 * 
 * @author ashikali
 *
 */
@Entity
@Table(name="fofo.purchase", schema = "fofo")

public class Purchase implements Serializable{
        
        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + (completed ? 1231 : 1237);
                result = prime * result + ((createTimestamp == null) ? 0 : createTimestamp.hashCode());
                result = prime * result + fofoId;
                result = prime * result + id;
                result = prime * result + nonSerializedQuantity;
                result = prime * result + ((purchaseReference == null) ? 0 : purchaseReference.hashCode());
                result = prime * result + serializedQuantity;
                result = prime * result + unfullfilledNonSerializedQuantity;
                result = prime * result + unfullfilledSerializedQuantity;
                return result;
        }
        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                Purchase other = (Purchase) obj;
                if (completed != other.completed)
                        return false;
                if (createTimestamp == null) {
                        if (other.createTimestamp != null)
                                return false;
                } else if (!createTimestamp.equals(other.createTimestamp))
                        return false;
                if (fofoId != other.fofoId)
                        return false;
                if (id != other.id)
                        return false;
                if (nonSerializedQuantity != other.nonSerializedQuantity)
                        return false;
                if (purchaseReference == null) {
                        if (other.purchaseReference != null)
                                return false;
                } else if (!purchaseReference.equals(other.purchaseReference))
                        return false;
                if (serializedQuantity != other.serializedQuantity)
                        return false;
                if (unfullfilledNonSerializedQuantity != other.unfullfilledNonSerializedQuantity)
                        return false;
                if (unfullfilledSerializedQuantity != other.unfullfilledSerializedQuantity)
                        return false;
                return true;
        }

        private static final long serialVersionUID = 1L;
        
        public Purchase() {
        }
        
        @Id
        @Column(name="id")
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int id;
        
        @Column(name = "fofo_id")
        private int fofoId;
        
        @Column(name="purchase_reference")
        private String purchaseReference;
        
        @Column(name = "serialized_quantity")
        private int serializedQuantity;
        
        @Column(name = "non_serialized_quantity")
        private int nonSerializedQuantity;
        
        @Column(name = "unfullfilled_serialized_quantity")
        private int unfullfilledSerializedQuantity;
        
        @Column(name = "unfullfilled_non_serialized_quantity")
        private int unfullfilledNonSerializedQuantity;
        
        @Column(name = "completed", columnDefinition="tinyint(1) default 0")
        private boolean completed;
        
        @Convert(converter = LocalDateTimeAttributeConverter.class)
        @Column(name = "create_timestamp")
        private LocalDateTime createTimestamp = LocalDateTime.now();
        
        public int getId() {
                return id;
        }
        public void setId(int id) {
                this.id = id;
        }
        
        public int getFofoId() {
                return fofoId;
        }
        public void setFofoId(int fofoId) {
                this.fofoId = fofoId;
        }
        
    public String getPurchaseReference() {
                return purchaseReference;
        }
        public void setPurchaseReference(String purchaseReference) {
                this.purchaseReference = purchaseReference;
        }
        public int getSerializedQuantity() {
                return serializedQuantity;
        }
        public void setSerializedQuantity(int serializedQuantity) {
                this.serializedQuantity = serializedQuantity;
        }
        public int getNonSerializedQuantity() {
                return nonSerializedQuantity;
        }
        public void setNonSerializedQuantity(int nonSerializedQuantity) {
                this.nonSerializedQuantity = nonSerializedQuantity;
        }
        public int getUnfullfilledSerializedQuantity() {
                return unfullfilledSerializedQuantity;
        }
        public void setUnfullfilledSerializedQuantity(int unfullfilledSerializedQuantity) {
                this.unfullfilledSerializedQuantity = unfullfilledSerializedQuantity;
        }
        public int getUnfullfilledNonSerializedQuantity() {
                return unfullfilledNonSerializedQuantity;
        }
        public void setUnfullfilledNonSerializedQuantity(int unfullfilledNonSerializedQuantity) {
                this.unfullfilledNonSerializedQuantity = unfullfilledNonSerializedQuantity;
        }
        public boolean isCompleted() {
                return completed;
        }
        public void setCompleted(boolean completed) {
                this.completed = completed;
        }
        @Override
        public String toString() {
                return "Purchase [id=" + id + ", purchaseReference=" + purchaseReference + ", serializedQuantity="
                                + serializedQuantity + ", nonSerializedQuantity=" + nonSerializedQuantity
                                + ", unfullfilledSerializedQuantity=" + unfullfilledSerializedQuantity
                                + ", unfullfilledNonSerializedQuantity=" + unfullfilledNonSerializedQuantity + ", completed="
                                + completed + ", createTimestamp=" + createTimestamp + "]";
        }
        public LocalDateTime getCreateTimestamp() {
                return createTimestamp;
        }
    public void setCreateTimestamp(LocalDateTime createTimestamp) {
                this.createTimestamp = createTimestamp;
        }
    
    public String getFormattedDate(){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-YYYY HH:mm");
                return this.createTimestamp.format(formatter);
    }
        
    
}