<?php
import("com.laurus.core.coreent.AbstractMergerBeanCollection");
import("com.laurus.core.coreent.AbstractMergerBean");
import("com.laurus.core.coreent.LCireBean");
import("com.laurus.erp.ent.*");
import("com.laurus.main.auth.ent.*");
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ItemDetailItemMerger
 *
 * @author Shripad
 */
class ItemDetailItemMerger extends AbstractMergerBean{
     /**
     * @columnName INVENTORY_ITEMS_DETAIL_SPECIFICATION
     * @type string
     * 
     */
    private $itemSpecification;
    /**
     * @columnName INVENTORY_ITEMS_DETAIL_ID
     * @type int
     * @primary 
     */
    private $itemDetailId;
    /**
     * @columnName ICIM_ID
     * @type int
     */
    private $itemIcimId;
    
    private $itemOrderItemDetailId;
     /**
     * @columnName  INVENTORY_ITEM_DEALER_ID
     * @type int
     * 
     */
    private $dealerId;
     /**
     * @columnName INVENTORY_ITEMS_CREATED_DATE
     * @type string
     * @jsonDate
     */
    private $itemDetailCreatedDate;
      /**
     * @columnName INVENTORY_ITEM_WARRANTY
     * @type int
     * 
     */
    private $warrenty;
     /**
     * @columnName  INVENTORY_ITEMS_DETAIL_EXPIRED_DATE
     * @type string
     * 
     */
    private $itemExpiredDate;
    /**
     * @columnName  INVENTORY_ITEMS_DETAIL_EXPIRED_STATUS
     * @type string
     * 
     */
    private $itemExpiredStatus;
     /**
     * @columnName  INVENTORY_ITEMS_DETAIL_TOTAL_AMOUNT
     * @type string
     * 
     */
    private $itemTotalAmount;
    private $dealer;
    /**
     * @columnName INVENTORY_ITEMS_DETAIL_QUANTITY
     * @type int
     * 
     */
    private $itemDetailQuantity;
    /**
     * @columnName INVENTORY_ITEMS_DETAIL_TOTAL_PRICE
     * @type int
     * 
     */
    private $itemDetailTotalPrice;
     /**
     * @columnName INVENTORY_ITEMS_DETAIL_EXT_1
     * @type int
     * 
     */
    private $itemDetailExt1;
    /**
     * @columnName INVENTORY_ITEMS_DETAIL_EXT_2
     * @type string
     * 
     */
    private $itemDetailExt2;
    /**
     * @columnName INVENTORY_ITEMS_DETAIL_EXT_3
     * @type string
     * 
     */
    private $itemDetailExt3;
     /**
     * @columnName INVENTORY_ITEMS_DETAIL_EXT_4
     * @type string
     * 
     */
    private $itemDetailExt4;
    /**
     * @columnName ITEM_ID
     * @type string
     * 
     */
    private $itemId;
    /**
     * @columnName ITEM_NAME
     * @type string
     * 
     */
    private $itemName;
    /**
     * @columnName ITEM_CREATED_DATE
     * @type string
     * @jsonDate
     */
    private $itemCreatedDate;
      /**
     * @columnName INVENTORY_ITEMS_DETAIL_TOTAL_AMOUNT
     * @type string
     * 
     */
    private $itemDetailTotalAmount;
       /**
     * @columnName ITEM_TYPE
     * @type string
     * 
     */
    private $itemType;
      /**
     * @columnName INVENTORY_ITEMS_DETAIL_DESCRIPTION
     * @type string
     * 
     */
    private $itemDetailDescription;
     /**
     * @columnName ITEM_MEASURE_ID
     * @type string
     */
    private $itemMeasureId;
    
    
    
    /**
     * @columnName IMAGE_ID
     * @type string
     */
    private $imageId;
    /**
     * @columnName IMAGE_NAME
     * @type string
     */
    private $imageName;
    private $imagePath;
    /**
     * @columnName IMAGE_CREATED_DATE
     * @type int
     * @jsonDate
     */
    private $imageCreatedDate;
    /**
     * @columnName COMPANY_ID
     * @type string
     * @primary
     */
    private $shopId;
    /**
     * @columnName COMPANY_NAME
     * @type string
     */
    private $shopName;
    /**
     * @columnName COMPANY_BRIEF
     * @type string
     */
    private $shopBrief;
    /**
     * @columnName COMPANY_WEBSITE
     * @type string
     */
    private $shopWebsite;
    /**
     * @columnName ADD_ADDRESS_ID
     * @type string
     */
    private $addressId;
    /**
     * @columnName ADD_CITY
     * @type string
     */
    private $addressCity;
    /**
     * @columnName ADD_STATE
     * @type string
     */
    private $addressState;
    /**
     * @columnName ADD_DISTRICT
     * @type string
     */
    private $addressDistrict;
    /**
     * @columnName ADD_COUNTRY
     * @type string
     */
    private $addressCountry;
    /**
     * @columnName ADD_PINCODE
     * @type string
     */
    private $addressPincode;
    /**
     * @columnName ADD_ADDRESS_LINE_1
     * @type string
     */
    private $addressLine1;
    /**
     * @columnName ADD_ADDRESS_LINE_2
     * @type string
     */
    private $addressLine2;
    /**
     * @columnName ADD_LAT
     * @type string
     */
    private $addressLat;
    /**
     * @columnName ADD_LONG
     * @type string
     */
    private $addressLong;
    
    /**
     * @columnName MEASURE_ID
     * @type int
     */
    private $measureId;
    /**
     * @columnName MEASURE_NAME
     * @type string
     */
    private $measureName;
    
    
    public function getAddressLat() {
        return $this->addressLat;
    }

    public function setAddressLat($addressLat) {
        $this->addressLat = $addressLat;
    }

    public function getAddressLong() {
        return $this->addressLong;
    }

    public function setAddressLong($addressLong) {
        $this->addressLong = $addressLong;
    }

    public function getAddressId() {
        return $this->addressId;
    }

    public function setAddressId($addressId) {
        $this->addressId = $addressId;
    }

    public function getAddressCity() {
        return $this->addressCity;
    }

    public function setAddressCity($addressCity) {
        $this->addressCity = $addressCity;
    }

    public function getAddressState() {
        return $this->addressState;
    }

    public function setAddressState($addressState) {
        $this->addressState = $addressState;
    }

    public function getAddressDistrict() {
        return $this->addressDistrict;
    }

    public function setAddressDistrict($addressDistrict) {
        $this->addressDistrict = $addressDistrict;
    }

    public function getAddressCountry() {
        return $this->addressCountry;
    }

    public function setAddressCountry($addressCountry) {
        $this->addressCountry = $addressCountry;
    }

    public function getAddressPincode() {
        return $this->addressPincode;
    }

    public function setAddressPincode($addressPincode) {
        $this->addressPincode = $addressPincode;
    }

    public function getAddressLine1() {
        return $this->addressLine1;
    }

    public function setAddressLine1($addressLine1) {
        $this->addressLine1 = $addressLine1;
    }

    public function getAddressLine2() {
        return $this->addressLine2;
    }

    public function setAddressLine2($addressLine2) {
        $this->addressLine2 = $addressLine2;
    }

    public function getShopId() {
        return $this->shopId;
    }

    public function setShopId($shopId) {
        $this->shopId = $shopId;
    }

    public function getShopName() {
        return $this->shopName;
    }

    public function setShopName($shopName) {
        $this->shopName = $shopName;
    }

    public function getShopBrief() {
        return $this->shopBrief;
    }

    public function setShopBrief($shopBrief) {
        $this->shopBrief = $shopBrief;
    }

    public function getShopWebsite() {
        return $this->shopWebsite;
    }

    public function setShopWebsite($shopWebsite) {
        $this->shopWebsite = $shopWebsite;
    }

    public function getImageCreatedDate() {
        return $this->imageCreatedDate;
    }

    public function setImageCreatedDate($imageCreatedDate) {
        $this->imageCreatedDate = $imageCreatedDate;
    }

    public function getImageId() {
        return $this->imageId;
    }

    public function setImageId($imageId) {
        $this->imageId = $imageId;
    }

    public function getImageName() {
        return $this->imageName;
    }

    public function setImageName($imageName) {
        $this->imageName = $imageName;
    }

    public function getImagePath() {
        return $this->imagePath;
    }

    public function setImagePath($imagePath) {
        $this->imagePath = $imagePath;
    }

    public function getItemDetailDescription() {
        return $this->itemDetailDescription;
    }

    public function setItemDetailDescription($itemDetailDescription) {
        $this->itemDetailDescription = $itemDetailDescription;
    }

    public function getItemType() {
        return $this->itemType;
    }

    public function setItemType($itemType) {
        $this->itemType = $itemType;
    }
    
    public function getItemCreatedDate() {
        return $this->itemCreatedDate;
    }

    public function setItemCreatedDate($itemCreatedDate) {
        $this->itemCreatedDate = $itemCreatedDate;
    }

    public function getItemDetailTotalAmount() {
        return $this->itemDetailTotalAmount;
    }

    public function setItemDetailTotalAmount($itemDetailTotalAmount) {
        $this->itemDetailTotalAmount = $itemDetailTotalAmount;
    }
    
    public function getItemId() {
        return $this->itemId;
    }

    public function getItemName() {
        return $this->itemName;
    }
    public function setItemId($itemId) {
        $this->itemId = $itemId;
    }

    public function setItemName($itemName) {
        $this->itemName = $itemName;
    }

            
     /**
     * @compositeEntity INVENTORY_ITEMS_DETAIL_EXT_1
     * @compositeType Color
     * 
     */
     public function getItemSpecification() {
         return $this->itemSpecification;
     }

     public function getItemDetailId() {
         return $this->itemDetailId;
     }

     public function getItemIcimId() {
         return $this->itemIcimId;
     }

     public function getItemOrderItemDetailId() {
         return $this->itemOrderItemDetailId;
     }
     
     public function getItemMeasureId() {
         return $this->itemMeasureId;
     }

     public function setItemMeasureId($itemMeasureId) {
         $this->itemMeasureId = $itemMeasureId;
     }

     
     public function getDealerId() {
         return $this->dealerId;
     }

     public function getItemDetailCreatedDate() {
         return $this->itemDetailCreatedDate;
     }

     public function getWarrenty() {
         return $this->warrenty;
     }

     public function getItemExpiredDate() {
         return $this->itemExpiredDate;
     }

     public function getItemExpiredStatus() {
         return $this->itemExpiredStatus;
     }

     public function getItemTotalAmount() {
         return $this->itemTotalAmount;
     }

     public function getDealer() {
         return $this->dealer;
     }

     public function getItemDetailQuantity() {
         return $this->itemDetailQuantity;
     }

     public function getItemDetailTotalPrice() {
         return $this->itemDetailTotalPrice;
     }

     public function getItemDetailExt1() {
         return $this->itemDetailExt1;
     }

     public function getItemDetailExt2() {
         return $this->itemDetailExt2;
     }

     public function getItemDetailExt3() {
         return $this->itemDetailExt3;
     }

     public function getItemDetailExt4() {
         return $this->itemDetailExt4;
     }
     
     public function setItemSpecification($itemSpecification) {
         $this->itemSpecification = $itemSpecification;
     }

     public function setItemDetailId($itemDetailId) {
         $this->itemDetailId = $itemDetailId;
     }

     public function setItemIcimId($itemIcimId) {
         $this->itemIcimId = $itemIcimId;
     }

     public function setItemOrderItemDetailId($itemOrderItemDetailId) {
         $this->itemOrderItemDetailId = $itemOrderItemDetailId;
     }

     public function setDealerId($dealerId) {
         $this->dealerId = $dealerId;
     }

     public function setItemDetailCreatedDate($itemDetailCreatedDate) {
         $this->itemDetailCreatedDate = $itemDetailCreatedDate;
     }

     public function setWarrenty($warrenty) {
         $this->warrenty = $warrenty;
     }

     public function setItemExpiredDate($itemExpiredDate) {
         $this->itemExpiredDate = $itemExpiredDate;
     }

     public function setItemExpiredStatus($itemExpiredStatus) {
         $this->itemExpiredStatus = $itemExpiredStatus;
     }

     public function setItemTotalAmount($itemTotalAmount) {
         $this->itemTotalAmount = $itemTotalAmount;
     }

     public function setDealer($dealer) {
         $this->dealer = $dealer;
     }

     public function setItemDetailQuantity($itemDetailQuantity) {
         $this->itemDetailQuantity = $itemDetailQuantity;
     }

     public function setItemDetailTotalPrice($itemDetailTotalPrice) {
         $this->itemDetailTotalPrice = $itemDetailTotalPrice;
     }

     public function setItemDetailExt1($itemDetailExt1) {
         $this->itemDetailExt1 = $itemDetailExt1;
     }

     public function setItemDetailExt2($itemDetailExt2) {
         $this->itemDetailExt2 = $itemDetailExt2;
     }

     public function setItemDetailExt3($itemDetailExt3) {
         $this->itemDetailExt3 = $itemDetailExt3;
     }

     public function setItemDetailExt4($itemDetailExt4) {
         $this->itemDetailExt4 = $itemDetailExt4;
     }
     
     public function getMeasureId() {
        return $this->measureId;
    }

    public function setMeasureId($measureId) {
        $this->measureId = $measureId;
    }

    public function getMeasureName() {
        return $this->measureName;
    }

    public function setMeasureName($measureName) {
        $this->measureName = $measureName;
    }

     
     public function getActualResponseBean() {
         $itemDetail=new ExtendedInvItemDetails();
        $itemDetail->setItemDetailId($this->itemDetailId);
        $itemDetail->setItemDetailCreatedDate($this->itemDetailCreatedDate);
        $itemDetail->setItemDetailTotalPrice($this->itemDetailTotalPrice);
        $itemDetail->setItemIcimId($this->itemIcimId);
        $itemDetail->setItemDetailExt1($this->itemDetailExt1);
        $itemDetail->setItemSpecification($this->itemSpecification);
        $itemDetail->setItemDescription($this->itemDetailDescription);
        $itemDetail->setItemTotalAmount($this->itemDetailTotalAmount);
        return $itemDetail;
        
    }
    
    public function getItemObject() {
        $item=new ExtendedItems();
        $item->setItemId($this->itemId);
        $item->setItemName($this->itemName);
        $item->setItemDesc($this->itemDesc);
        $item->setItemMeasuredId($this->itemMeasureId);
        $item->setItemCreatedDate($this->itemCreatedDate);
        $item->setItemType($this->itemType);
        
        $image=new ExtendedImage();
        $image->setId($this->imageId);
        $image->setImageName($this->imageName);
        $image->setImagePath($_SERVER['V_PATH'] . "content/" . base64_encode($this->imageId));
        $image->setCreatedDate($this->imageCreatedDate);
        $item->setItemImage($image);
        
        $shop=new Company();
        $shop->setId($this->shopId);
        $shop->setCompname($this->shopName);
        $shop->setWebsite($this->shopWebsite);
        $shop->setBrief($this->shopBrief);
        
        $address=new Address();
        $address->setAddressId($this->addressId);
        $address->setAddressLine1($this->addressLine1);
        $address->setAddressLine2($this->addressLine2);
        $address->setCity($this->addressCity);
        $address->setState($this->addressState);
        $address->setCountry($this->addressCountry);
        $address->setDistrict($this->addressDistrict);
        $address->setLat($this->addressLat);
        $address->setLong($this->addressLong);
        
        $measure=new Measures();
        $measure->setMeasureId($this->measureId);
        $measure->setMeasureName($this->measureName);
        
        if($address->getAddressId()){
            $shop->setAddress($address);
        }        
        if($shop->getId()){
            $item->setShopDetail($shop);
        }
        if($measure->getMeasureId()){
            $item->setMeasureDetail($measure);
        }
        return $item;
    }

              //put your code here
}

?>
