Subversion Repositories SmartDukaan

Rev

Rev 28029 | Rev 28967 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.model;

import java.time.LocalDateTime;
import java.util.List;

import com.spice.profitmandi.dao.enumuration.catalog.AchievementType;
import com.spice.profitmandi.dao.enumuration.catalog.OfferSchemeType;
import com.spice.profitmandi.service.offers.ItemCriteria;
import com.spice.profitmandi.service.offers.PartnerCriteria;

public class CreateOfferRequest {
        private int id;
        private boolean active;
        private boolean incrementalTarget;
        private String name;
        private LocalDateTime startDate;
        private LocalDateTime endDate;
        private String offerNotes;
        private String terms;
        private AchievementType targetType;
        private AchievementType payoutType;
        private String activationBrands;
        private OfferSchemeType schemeType;
        private double sellinPercentage;
        private double brandShareTerms;
        private ItemCriteria itemCriteria;
        private String itemCriteriaString;
        private LocalDateTime createdOn;
        private List<TargetSlab> targetSlabs;
        private PartnerCriteria partnerCriteria;
        private String partnerCriteriaString;
        
        public int getEligibleSale() {
                return eligibleSale;
        }
        public void setEligibleSale(int eligibleSale) {
                this.eligibleSale = eligibleSale;
        }

        public String getDashboardHtml() {
                String s= null;
                if(this.getTargetType().equals(AchievementType.VALUE)) {
                        
                } else {
                        
                }
                StringBuffer sb = new StringBuffer();
                if(this.getNextTargetSlab() != null) {
                        if(this.getCurrentTargetSlab()!=null) {
                                sb.append("Contgratulations for achieving ").append(this.getCurrentTarget()).append(". ");
                        }
                        sb.append("Sell ");
                        if(this.getTargetType().equals(AchievementType.VALUE)) {
                                sb.append("stock worth Rs.<span class=\"currency\">")
                                .append(this.getNextTargetSlab().getRemainingAmount(this.eligibleSale))
                                .append("</span> to earn ").append(this.getNextTargetSlab().getTargetDescription());
                        } else {
                                        sb.append(this.getNextTargetSlab().getRemainingAmount(this.eligibleSale))
                                        .append(" more unit(s) to earn ")
                                        .append(this.getNextTargetSlab().getTargetDescription()).append(" per unit");
                        }
                } else {
                        sb.append("Congratulations for achieving the highest slab of ");
                        if(this.getTargetType().equals(AchievementType.VALUE)) {
                                sb.append("Rs.<span class=\"currency\">")
                                .append(this.getCurrentTargetSlab().getOnwardsAmount())
                                .append("</span>");
                        } else {
                                sb.append(this.getCurrentTargetSlab().getOnwardsAmount()).append(" units")
                                .append(", you are eligible for ").append(this.getCurrentTargetSlab().getTargetDescription());
                                
                        }
                        sb.append(", keep it up!!");
                }
                return sb.toString();
        }
        
        
        public boolean isIncrementalTarget() {
                return incrementalTarget;
        }
        public void setIncrementalTarget(boolean incrementalTarget) {
                this.incrementalTarget = incrementalTarget;
        }
        @Override
        public String toString() {
                return "CreateOfferRequest [id=" + id + ", active=" + active + ", incrementalTarget=" + incrementalTarget
                                + ", name=" + name + ", startDate=" + startDate + ", endDate=" + endDate + ", offerNotes=" + offerNotes
                                + ", terms=" + terms + ", targetType=" + targetType + ", payoutType=" + payoutType
                                + ", activationBrands=" + activationBrands + ", schemeType=" + schemeType + ", sellinPercentage="
                                + sellinPercentage + ", brandShareTerms=" + brandShareTerms + ", itemCriteria=" + itemCriteria
                                + ", itemCriteriaString=" + itemCriteriaString + ", createdOn=" + createdOn + ", targetSlabs="
                                + targetSlabs + ", partnerCriteria=" + partnerCriteria + ", partnerCriteriaString="
                                + partnerCriteriaString + ", eligibleSale=" + eligibleSale + ", nextTargetSlab=" + nextTargetSlab
                                + ", currentTargetSlab=" + currentTargetSlab + "]";
        }



        private int eligibleSale;
        private TargetSlab nextTargetSlab;
        private TargetSlab currentTargetSlab;
        private String currentTarget;
        private String nextTarget;
        
        

        public String getCurrentTarget() {
                return currentTarget;
        }
        public void setCurrentTarget(String currentTarget) {
                this.currentTarget = currentTarget;
        }
        public String getNextTarget() {
                return nextTarget;
        }
        public void setNextTarget(String nextTarget) {
                this.nextTarget = nextTarget;
        }
        public TargetSlab getNextTargetSlab() {
                return nextTargetSlab;
        }
        public void setNextTargetSlab(TargetSlab nextTargetSlab) {
                this.nextTargetSlab = nextTargetSlab;
        }
        public TargetSlab getCurrentTargetSlab() {
                return currentTargetSlab;
        }
        public void setCurrentTargetSlab(TargetSlab currentTargetSlab) {
                this.currentTargetSlab = currentTargetSlab;
        }

        public boolean isActive() {
                return active;
        }

        public void setActive(boolean active) {
                this.active = active;
        }

        public LocalDateTime getCreatedOn() {
                return createdOn;
        }
        
        
        
        

        public AchievementType getPayoutType() {
                return payoutType;
        }
        public void setPayoutType(AchievementType payoutType) {
                this.payoutType = payoutType;
        }
        public String getActivationBrands() {
                return activationBrands;
        }
        public void setActivationBrands(String activationBrands) {
                this.activationBrands = activationBrands;
        }
        public void setCreatedOn(LocalDateTime createdOn) {
                this.createdOn = createdOn;
        }


        public String getItemCriteriaString() {
                return itemCriteriaString;
        }

        public String getPartnerCriteriaString() {
                return partnerCriteriaString;
        }

        public void setPartnerCriteriaString(String partnerCriteriaString) {
                this.partnerCriteriaString = partnerCriteriaString;
        }

        public PartnerCriteria getPartnerCriteria() {
                return partnerCriteria;
        }

        public void setPartnerCriteria(PartnerCriteria partnerCriteria) {
                this.partnerCriteria = partnerCriteria;
        }

        public ItemCriteria getItemCriteria() {
                return itemCriteria;
        }

        public void setItemCriteria(ItemCriteria itemCriteria) {
                this.itemCriteria = itemCriteria;
        }

        public double getBrandShareTerms() {
                return brandShareTerms;
        }

        public void setBrandShareTerms(double brandShareTerms) {
                this.brandShareTerms = brandShareTerms;
        }

        public List<TargetSlab> getTargetSlabs() {
                return targetSlabs;
        }

        public void setTargetSlabs(List<TargetSlab> targetSlabs) {
                this.targetSlabs = targetSlabs;
        }

        public int getId() {
                return id;
        }

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

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public LocalDateTime getStartDate() {
                return startDate;
        }

        public void setStartDate(LocalDateTime startDate) {
                this.startDate = startDate;
        }

        public LocalDateTime getEndDate() {
                return endDate;
        }

        public void setEndDate(LocalDateTime endDate) {
                this.endDate = endDate;
        }

        public AchievementType getTargetType() {
                return targetType;
        }

        public void setTargetType(AchievementType targetType) {
                this.targetType = targetType;
        }

        public OfferSchemeType getSchemeType() {
                return schemeType;
        }

        public void setSchemeType(OfferSchemeType schemeType) {
                this.schemeType = schemeType;
        }

        public double getSellinPercentage() {
                return sellinPercentage;
        }

        public void setSellinPercentage(double sellinPercentage) {
                this.sellinPercentage = sellinPercentage;
        }

        public String getOfferNotes() {
                return offerNotes;
        }

        public void setOfferNotes(String offerNotes) {
                this.offerNotes = offerNotes;
        }

        public String getTerms() {
                return terms;
        }

        public void setTerms(String terms) {
                this.terms = terms;
        }

        public void setItemCriteriaString(String itemCriteriaString) {
                this.itemCriteriaString = itemCriteriaString;
        }

        @Override
        public boolean equals(Object obj) {
                if (this == obj)
                        return true;
                if (obj == null)
                        return false;
                if (getClass() != obj.getClass())
                        return false;
                CreateOfferRequest other = (CreateOfferRequest) obj;
                if (activationBrands == null) {
                        if (other.activationBrands != null)
                                return false;
                } else if (!activationBrands.equals(other.activationBrands))
                        return false;
                if (active != other.active)
                        return false;
                if (Double.doubleToLongBits(brandShareTerms) != Double.doubleToLongBits(other.brandShareTerms))
                        return false;
                if (createdOn == null) {
                        if (other.createdOn != null)
                                return false;
                } else if (!createdOn.equals(other.createdOn))
                        return false;
                if (currentTargetSlab == null) {
                        if (other.currentTargetSlab != null)
                                return false;
                } else if (!currentTargetSlab.equals(other.currentTargetSlab))
                        return false;
                if (eligibleSale != other.eligibleSale)
                        return false;
                if (endDate == null) {
                        if (other.endDate != null)
                                return false;
                } else if (!endDate.equals(other.endDate))
                        return false;
                if (id != other.id)
                        return false;
                if (incrementalTarget != other.incrementalTarget)
                        return false;
                if (itemCriteria == null) {
                        if (other.itemCriteria != null)
                                return false;
                } else if (!itemCriteria.equals(other.itemCriteria))
                        return false;
                if (itemCriteriaString == null) {
                        if (other.itemCriteriaString != null)
                                return false;
                } else if (!itemCriteriaString.equals(other.itemCriteriaString))
                        return false;
                if (name == null) {
                        if (other.name != null)
                                return false;
                } else if (!name.equals(other.name))
                        return false;
                if (nextTargetSlab == null) {
                        if (other.nextTargetSlab != null)
                                return false;
                } else if (!nextTargetSlab.equals(other.nextTargetSlab))
                        return false;
                if (offerNotes == null) {
                        if (other.offerNotes != null)
                                return false;
                } else if (!offerNotes.equals(other.offerNotes))
                        return false;
                if (partnerCriteria == null) {
                        if (other.partnerCriteria != null)
                                return false;
                } else if (!partnerCriteria.equals(other.partnerCriteria))
                        return false;
                if (partnerCriteriaString == null) {
                        if (other.partnerCriteriaString != null)
                                return false;
                } else if (!partnerCriteriaString.equals(other.partnerCriteriaString))
                        return false;
                if (payoutType != other.payoutType)
                        return false;
                if (schemeType != other.schemeType)
                        return false;
                if (Double.doubleToLongBits(sellinPercentage) != Double.doubleToLongBits(other.sellinPercentage))
                        return false;
                if (startDate == null) {
                        if (other.startDate != null)
                                return false;
                } else if (!startDate.equals(other.startDate))
                        return false;
                if (targetSlabs == null) {
                        if (other.targetSlabs != null)
                                return false;
                } else if (!targetSlabs.equals(other.targetSlabs))
                        return false;
                if (targetType != other.targetType)
                        return false;
                if (terms == null) {
                        if (other.terms != null)
                                return false;
                } else if (!terms.equals(other.terms))
                        return false;
                return true;
        }

        @Override
        public int hashCode() {
                final int prime = 31;
                int result = 1;
                result = prime * result + ((activationBrands == null) ? 0 : activationBrands.hashCode());
                result = prime * result + (active ? 1231 : 1237);
                long temp;
                temp = Double.doubleToLongBits(brandShareTerms);
                result = prime * result + (int) (temp ^ (temp >>> 32));
                result = prime * result + ((createdOn == null) ? 0 : createdOn.hashCode());
                result = prime * result + ((currentTargetSlab == null) ? 0 : currentTargetSlab.hashCode());
                result = prime * result + eligibleSale;
                result = prime * result + ((endDate == null) ? 0 : endDate.hashCode());
                result = prime * result + id;
                result = prime * result + (incrementalTarget ? 1231 : 1237);
                result = prime * result + ((itemCriteria == null) ? 0 : itemCriteria.hashCode());
                result = prime * result + ((itemCriteriaString == null) ? 0 : itemCriteriaString.hashCode());
                result = prime * result + ((name == null) ? 0 : name.hashCode());
                result = prime * result + ((nextTargetSlab == null) ? 0 : nextTargetSlab.hashCode());
                result = prime * result + ((offerNotes == null) ? 0 : offerNotes.hashCode());
                result = prime * result + ((partnerCriteria == null) ? 0 : partnerCriteria.hashCode());
                result = prime * result + ((partnerCriteriaString == null) ? 0 : partnerCriteriaString.hashCode());
                result = prime * result + ((payoutType == null) ? 0 : payoutType.hashCode());
                result = prime * result + ((schemeType == null) ? 0 : schemeType.hashCode());
                temp = Double.doubleToLongBits(sellinPercentage);
                result = prime * result + (int) (temp ^ (temp >>> 32));
                result = prime * result + ((startDate == null) ? 0 : startDate.hashCode());
                result = prime * result + ((targetSlabs == null) ? 0 : targetSlabs.hashCode());
                result = prime * result + ((targetType == null) ? 0 : targetType.hashCode());
                result = prime * result + ((terms == null) ? 0 : terms.hashCode());
                return result;
        }
}