module CommLogistics::Base::Controller
  #各種リストの親
  class PortletController < ApplicationController
    def noDataToDisplay(message="表示するデータがありません")
      render :json => {:success=>true, :empty=> true, :message=>message }.to_json 
    end
    
    def noTreeToDisplay(table_name)
      render :json => [].ext_hashfy().to_ext_json(table_name, 0)
    end
    
    def setQuantityCondition(quant_flag, conditions)
      if quant_flag
        conditions[0] += " AND sale_type_code NOT IN (?) "
        conditions << Comm::Const::MasterCode::MCODE_SALE_TYPE_ADJUST
      end
      return conditions
    end
    
    def setSalesConditions
      require "config/site_config.rb"
      sale_date_conditions = []
      if params[:start_target_date] && params[:end_target_date]
        sale_date_conditions = ["target_date between ? AND ? AND state_code = ? AND invalid_flag_code = ?", params[:start_target_date], params[:end_target_date], Comm::Const::MasterCode::MCODE_STATUS2_COMP, Comm::Const::MasterCode::MCODE_FLAG_OFF]
      end
      
      invalid_flag=false
      filter_flag=false
      if $ENABLE_SUPPLIER_FILTER==true
        if !User.own_user_flag(session[:user_id])
          ids = SuppliersUser.vsuppliers(session[:user_id])
          if ids.blank? 
            #なにもないので、無理矢理あり得ないwhereを追加する。
            #sale_date_conditions[0] += " AND invalid_flag_code!=invalid_flag_code "
            invalid_flag=true
          else
            sale_date_conditions[0] += " AND supplier_id IN (#{ids.join(',')}) "
            filter_flag=true
          end
        end
      end
      
      if $ENABLE_CUSTOMER_FILTER==true
        if !User.own_user_flag(session[:user_id])
          ids = CustomersUser.vcustomers(session[:user_id])
          if ids.blank?
            #なにもないので、無理矢理あり得ないwhereを追加する。
            #sale_date_conditions[0] += " AND invalid_flag_code!=invalid_flag_code "
            invalid_flag=true
          else
            sale_date_conditions[0] += " AND customer_id IN (#{ids.join(',')}) "
            filter_flag=true
          end
        end
      end
      
      if filter_flag==false && invalid_flag==true
        sale_date_conditions[0] += " AND invalid_flag_code!=invalid_flag_code "
      end
      
      return sale_date_conditions
    end
  end
end

