Sha256: b19ad275d553289794560ad382984e17a6c3ecfa432414bda279d96fdd8d5d95

Contents?: true

Size: 1.54 KB

Versions: 2

Compression:

Stored size: 1.54 KB

Contents

module EducodeSales
  class Business < ApplicationRecord

    validates_uniqueness_of :number ,allow_nil: true

    belongs_to :clazz, class_name: 'Common'
    belongs_to :staff
    belongs_to :department
    belongs_to :last_follow_up, class_name: 'FollowUp', optional: true # 允许last_follow_up_id字段中的数为nil

    has_many :sale_plans
    has_many :follow_ups
    has_many :business_clazz_changes
    has_many :business_levels, dependent: :destroy
    has_many :business_watches, dependent: :destroy

    #关联关注
    has_many :users,:class_name => 'EducodeSales::BusinessRelationShip',foreign_key: 'business_id',:dependent => :destroy

    #每次查询时 默认的查询条件
    default_scope  -> {where(deleted_at: nil)}


    def soft_destroy(user_id)
      self.update(deleted_at: Time.now, state_id: 2)
      self.sale_plans.each do |d|
        d.soft_destroy(user_id)
      end
      self.follow_ups.update_all(deleted_at: Time.now)
      EducodeSales::Recycle.create(source: self, deleter_id: user_id)
    end


    def self.include_types(type)
      {
        '1' => %w[a_class b_class c_class d_class e_class],
        'a' => ['a_class'],
        'b' => ['b_class'],
      }[type]
    end

    def self.include_steps(type)
      {
        '已中标' => ['已中标','已签单','已验收','回款中', '服务中','已结束'],
        '已签单' => ['已签单','已验收','回款中', '服务中','已结束'],
        '应收款' => ['已中标','已签单','已验收','回款中', '服务中','已结束']
      }[type]
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
educode_sales-0.9.68 app/models/educode_sales/business.rb
educode_sales-0.9.67 app/models/educode_sales/business.rb