2021-07-23 13:52:28 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class LabelPrinter < ApplicationRecord
|
2021-08-02 11:11:11 +02:00
|
|
|
FLUICS_STATUS_MAP = Hash.new(:error).merge(
|
|
|
|
{
|
|
|
|
'00' => :ready,
|
|
|
|
'50' => :busy,
|
|
|
|
'60' => :busy,
|
|
|
|
'01' => :out_of_labels,
|
|
|
|
'02' => :out_of_labels
|
|
|
|
}
|
|
|
|
).freeze
|
|
|
|
|
2022-09-23 12:34:43 +02:00
|
|
|
enum type_of: { fluics: 0 }
|
2021-07-23 13:52:28 +02:00
|
|
|
enum language_type: { zpl: 0 }
|
2021-08-02 11:11:11 +02:00
|
|
|
enum status: { ready: 0, busy: 1, out_of_labels: 2, unreachable: 3, error: 4 }
|
2021-07-23 13:52:28 +02:00
|
|
|
|
|
|
|
validates :name, presence: true
|
|
|
|
validates :type_of, presence: true
|
|
|
|
validates :language_type, presence: true
|
|
|
|
|
2022-10-25 13:07:45 +02:00
|
|
|
def self.zebra_print_enabled?
|
2022-11-14 10:43:09 +01:00
|
|
|
RepositoryBase.stock_management_enabled?.present?
|
2022-10-25 13:07:45 +02:00
|
|
|
end
|
|
|
|
|
2021-08-02 15:33:51 +02:00
|
|
|
def done?
|
|
|
|
current_print_job_ids.blank? && ready?
|
|
|
|
end
|
|
|
|
|
|
|
|
def printing?
|
|
|
|
current_print_job_ids.any? && ready?
|
|
|
|
end
|
|
|
|
|
|
|
|
def printing_status
|
|
|
|
return 'printing' if printing?
|
|
|
|
|
|
|
|
return 'done' if done?
|
|
|
|
|
|
|
|
status
|
|
|
|
end
|
2021-07-23 13:52:28 +02:00
|
|
|
end
|