#
#= wholesale_prices モデル
# Authors:: Sumiyo Yamamoto
# Copyright:: Copyright (C) OrbusNeich Medical K.K.  2010.
#--
# date        name                   note
# 2010.11.5   Sumiyo Yamamoto        新規登録
#-------------------------------------------------------------------------------
#++
class WholesalePrice < Comm::BaseModel::Master
  named_scope :customer_id_is, lambda{ |id| {
    :conditions => ["customer_id = ?", id.to_i]
  }}
  named_scope :warehouse_id_is, lambda{ |id| {
    :conditions => ["warehouse_id = ?", id.to_i]
  }}
  named_scope :supplier_id_is, lambda{ |id| {
    :conditions => ["supplier_id = ?", id.to_i]
  }}
  named_scope :product_set_is, lambda{ |id| {
    :conditions => ["product_set_id = ?", id.to_i]
  }}
  named_scope :product_is, lambda{ |id| {
    :conditions => ["product_id = ?", id.to_i]
  }}
  named_scope :find_target, lambda{ |params| {
    :conditions => ["warehouse_id = ? AND customer_id = ? AND supplier_id = ?", params[:warehouse_id].to_i, params[:customer_id].to_i, params[:supplier_id].to_i]
  }}
  def validate
    emsg = ''
    #ars = WholesalePrice.customer_id_is(self.customer_id).warehouse_id_is(self.warehouse_id).supplier_id_is(self.supplier_id).product_set_is(self.product_set_id).product_is(self.product_id).id_is_not(self.id)
    ars = WholesalePrice.find(:all, 
                              :conditions => ["customer_id=? AND warehouse_id=? AND supplier_id=? AND product_category_id=? AND product_set_id=? AND product_id=? AND #{get_sql_cond_null("id", "!=")}",
                                               self.customer_id, self.warehouse_id, self.supplier_id, self.product_category_id, self.product_set_id, self.product_id])
    Rails.logger.debug("□DEBUG:ars:"+ars.inspect)
    record_num = ars.length
    if record_num > 0
       ids = ars.collect{|ar| ar.id}
       emsg << EMJ0005
       emsg << "指定の納品先・得意先・在庫主・製品群・製品型番の組み合わせは既に登録されています。"
       emsg << "ID:"+ids.inspect
       raise UserOperationError, emsg
    end
  end
end
