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 :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