Rev 27730 | Rev 27737 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.entity.warehouse;import java.time.LocalDateTime;import javax.persistence.Column;import javax.persistence.Convert;import javax.persistence.Entity;import javax.persistence.EnumType;import javax.persistence.Enumerated;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.NamedQueries;import javax.persistence.NamedQuery;import javax.persistence.Table;import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;import in.shop2020.warehouse.ScanType;/*** This class basically contains scheme details** @author Govind Kumar**/@Entity@Table(name = "warehouse.scanNew", schema = "warehouse")@NamedQueries({@NamedQuery(name = "warehouse.selectOurPurchase", query = "select new com.spice.profitmandi.dao.model.OurPurchaseModel(li.brand, "+ " sum(case when sn.scannedAt >= :today then CAST(sn.quantity * li.unitPrice AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :threedays and sn.scannedAt < :endDate then CAST(sn.quantity * li.unitPrice AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :fifteendays and sn.scannedAt < :endDate then CAST(sn.quantity * li.unitPrice AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :startDate then CAST(sn.quantity * li.unitPrice AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :today then sn.quantity else 0 end),"+ " sum(case when sn.scannedAt >= :threedays and sn.scannedAt < :endDate then CAST(sn.quantity AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :fifteendays and sn.scannedAt < :endDate then CAST(sn.quantity AS int) else 0 end),"+ " sum(case when sn.scannedAt >= :startDate then CAST(sn.quantity AS int) else 0 end)" + " )"+ " from WarehouseScan sn join WarehouseInventoryItem it on sn.inventoryItemId = it.id join WarehousePurchase p on it.purchaseId = p.id "+ " join WarehousePurchaseOrder po on po.id = p.poId join WarehouseLineItem li on li.purchaseOrderId = po.id "+ " and po.warehouseId in :warehouseId where sn.scannedAt >= :dataDate and sn.type = 'PURCHASE' group by li.brand"),})public class WarehouseScan {@Id@Column(name = "id", unique = true, updatable = false)@GeneratedValue(strategy = GenerationType.IDENTITY)private int id;@Column(name = "inventoryItemId")private int inventoryItemId;@Column(name = "quantity")private Integer quantity;@Column(name = "orderId")private Integer orderId; // The order that was fulfilled with thin scan!@Column(name = "warehouseId")private int warehouseId;@Column(name = "transferLotId")private Integer transferLotId;@Column(name = "type")@Enumerated(EnumType.STRING)private ScanType type;@Convert(converter = LocalDateTimeAttributeConverter.class)@Column(name = "scannedAt")private LocalDateTime scannedAt;@Column(name = "remarks")private String remarks;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getInventoryItemId() {return inventoryItemId;}public void setInventoryItemId(int inventoryItemId) {this.inventoryItemId = inventoryItemId;}public Integer getQuantity() {return quantity;}public void setQuantity(Integer quantity) {this.quantity = quantity;}public Integer getOrderId() {return orderId;}public void setOrderId(Integer orderId) {this.orderId = orderId;}public int getWarehouseId() {return warehouseId;}public void setWarehouseId(int warehouseId) {this.warehouseId = warehouseId;}public Integer getTransferLotId() {return transferLotId;}public void setTransferLotId(Integer transferLotId) {this.transferLotId = transferLotId;}public ScanType getType() {return type;}public void setType(ScanType type) {this.type = type;}public LocalDateTime getScannedAt() {return scannedAt;}public void setScannedAt(LocalDateTime scannedAt) {this.scannedAt = scannedAt;}public String getRemarks() {return remarks;}public void setRemarks(String remarks) {this.remarks = remarks;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + id;result = prime * result + inventoryItemId;result = prime * result + ((orderId == null) ? 0 : orderId.hashCode());result = prime * result + ((quantity == null) ? 0 : quantity.hashCode());result = prime * result + ((remarks == null) ? 0 : remarks.hashCode());result = prime * result + ((scannedAt == null) ? 0 : scannedAt.hashCode());result = prime * result + ((transferLotId == null) ? 0 : transferLotId.hashCode());result = prime * result + ((type == null) ? 0 : type.hashCode());result = prime * result + warehouseId;return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;WarehouseScan other = (WarehouseScan) obj;if (id != other.id)return false;if (inventoryItemId != other.inventoryItemId)return false;if (orderId == null) {if (other.orderId != null)return false;} else if (!orderId.equals(other.orderId))return false;if (quantity == null) {if (other.quantity != null)return false;} else if (!quantity.equals(other.quantity))return false;if (remarks == null) {if (other.remarks != null)return false;} else if (!remarks.equals(other.remarks))return false;if (scannedAt == null) {if (other.scannedAt != null)return false;} else if (!scannedAt.equals(other.scannedAt))return false;if (transferLotId == null) {if (other.transferLotId != null)return false;} else if (!transferLotId.equals(other.transferLotId))return false;if (type != other.type)return false;if (warehouseId != other.warehouseId)return false;return true;}@Overridepublic String toString() {return "WarehouseScan [id=" + id + ", inventoryItemId=" + inventoryItemId + ", quantity=" + quantity+ ", orderId=" + orderId + ", warehouseId=" + warehouseId + ", transferLotId=" + transferLotId+ ", type=" + type + ", scannedAt=" + scannedAt + ", remarks=" + remarks + "]";}}