Information

0
Story Points

Technologies

Decompiled Java File
package com.mpdmal.cloudental.entities;

import com.mpdmal.cloudental.entities.Discount;
import com.mpdmal.cloudental.entities.Patienthistory;
import com.mpdmal.cloudental.entities.PricelistItem;
import com.mpdmal.cloudental.entities.Visit;
import com.mpdmal.cloudental.entities.base.DBEntity;
import com.mpdmal.cloudental.util.CloudentUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

@Entity
public class Activity extends DBEntity implements Serializable {
   private static final long serialVersionUID = 1L;
   public static final String DEFAULT_ACTIVITY_IDENTIFIER_DESCR = "def act| cdent";
   @Id
   @GeneratedValue(
      strategy = GenerationType.IDENTITY
   )
   private Integer id;
   @NotNull
   private String description;
   @Temporal(TemporalType.TIMESTAMP)
   private Date enddate;
   @NotNull
   @Temporal(TemporalType.TIMESTAMP)
   private Date startdate;
   @NotNull
   @ManyToOne(
      fetch = FetchType.LAZY
   )
   @JoinColumn(
      name = "patienthistid"
   )
   private Patienthistory patienthistory;
   @NotNull
   @ManyToOne(
      fetch = FetchType.LAZY
   )
   @JoinColumn(
      name = "priceable"
   )
   private PricelistItem priceable;
   @NotNull
   @ManyToOne(
      fetch = FetchType.LAZY
   )
   @JoinColumn(
      name = "discount"
   )
   private Discount discount;
   @OneToMany(
      cascade = {CascadeType.ALL},
      mappedBy = "activity",
      fetch = FetchType.EAGER
   )
   private Collection visits;
   @NotNull
   private boolean isopen = true;
   @Column(
      precision = 131089
   )
   private BigDecimal price;

   public Integer getId() {
      return this.id;
   }

   public void setOpen(boolean isOpen) {
      if(this.enddate == null) {
         CloudentUtils.logError("wont close an activity without an enddate " + this.getId() + "|" + this.getDescription());
      } else {
         this.isopen = isOpen;
      }
   }

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

   public void setDescription(String description) {
      this.description = description;
   }

   public void setEnddate(Date enddate) {
      if(enddate != null && enddate.getTime() > this.startdate.getTime()) {
         this.enddate = enddate;
         CloudentUtils.logMessage("Activity closed " + this.id + "(" + this.description + ")");
         this.isopen = false;
      }

   }

   public void setStartdate(Date startdate) {
      this.startdate = startdate;
   }

   public void setPriceable(PricelistItem priceable) {
      this.priceable = priceable;
   }

   public void setDiscount(Discount discount) {
      this.discount = discount;
   }

   public void setPatienthistory(Patienthistory patienthistory) {
      this.patienthistory = patienthistory;
   }

   public void setPrice(BigDecimal price) {
      this.price = price;
   }

   public void setVisits(Collection visits) {
      if(visits == null) {
         visits = new ArrayList();
      } else {
         ((Collection)visits).clear();
      }

      Iterator var2 = ((Collection)visits).iterator();

      while(var2.hasNext()) {
         Visit visit = (Visit)var2.next();
         this.addVisit(visit);
      }

   }

   public void addVisit(Visit v) {
      if(this.visits == null) {
         this.visits = new ArrayList();
      }

      this.visits.add(v);
   }

   public void removeVisit(Visit v) {
      if(this.visits.contains(v)) {
         this.visits.remove(v);
      }

   }

   public String getDescription() {
      return this.description;
   }

   public Date getEnddate() {
      return this.enddate;
   }

   public Date getStartdate() {
      return this.startdate;
   }

   public PricelistItem getPriceable() {
      return this.priceable;
   }

   public Discount getDiscount() {
      return this.discount;
   }

   public Patienthistory getPatienthistory() {
      return this.patienthistory;
   }

   public Collection getVisits() {
      return this.visits;
   }

   public BigDecimal getPrice() {
      return this.price;
   }

   public boolean isOpen() {
      return this.isopen;
   }

   public String getXML() {
      StringBuilder ans = new StringBuilder("<activity></activity>");
      ans.insert(ans.indexOf("</activity"), "<description>" + this.description + "</description>");
      ans.insert(ans.indexOf("</activity"), "<price>" + this.priceable.getPrice() + "</price>");
      ans.insert(ans.indexOf("</activity"), "<isOpen>" + this.isopen + "</isOpen>");
      ans.insert(ans.indexOf("</activity"), "<startdate>" + this.startdate + "</startdate>");
      ans.insert(ans.indexOf("</activity"), "<enddate>" + this.enddate + "</enddate>");
      ans.insert(ans.indexOf("</activity"), "<visits>");
      if(this.visits != null) {
         Iterator var2 = this.visits.iterator();

         while(var2.hasNext()) {
            Visit visit = (Visit)var2.next();
            ans.insert(ans.indexOf("</activity"), visit.getXML());
         }
      }

      ans.insert(ans.indexOf("</activity"), "</visits>");
      return ans.toString();
   }
}
Page generated: Oct 19, 2017 2:34:18 PM