extface 0.4.6a → 0.4.6b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 559dd9a69d057d63eec58689df5acdeac89dc0b3
|
4
|
+
data.tar.gz: 42ab44a0dc85ab3c5c8bb730f3d5fd1ca8fedb9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 22c93ea7ddc98b9c7b860b0bc071672bd4175de73a9bc1e915a455369c05aa38ba691923b7bcb61cb4b5c27aa11be64667bdad52b153466b9e1f575ac109142e
|
7
|
+
data.tar.gz: 1e173f3c7e95fb9993d5514590acc3f4c0b4cfe0181a737ca0abd6b331e7a39eb5d719c0d3dfb92c135a22476e4786f4dbfc084bb9b678f619ba8f56ab4c45b1
|
@@ -119,17 +119,24 @@ module Extface
|
|
119
119
|
s.notify "Fiscal Doc Start"
|
120
120
|
s.open_fiscal_doc(operator_mapping.try(:mapping), operator_mapping.try(:pwd))
|
121
121
|
s.notify "Register Sale"
|
122
|
+
total_modifier = nil
|
123
|
+
if global_modifier_value = bill.global_modifier_value
|
124
|
+
s.notify "Register Global Modifier"
|
125
|
+
total_modifier = global_modifier_value.to_f
|
126
|
+
end
|
122
127
|
s.add_sale(
|
123
128
|
SaleItem.new(
|
124
129
|
price: bill.payments_sum.to_f,
|
125
|
-
text1: bill.name,
|
130
|
+
#text1: bill.name,
|
131
|
+
text1: '',
|
126
132
|
tax_group: bill.charges.first.find_tax_group_mapping_for(self), #find tax group mapping by ratio , not nice
|
133
|
+
neto: total_modifier
|
127
134
|
)
|
128
135
|
)
|
129
|
-
if global_modifier_value = bill.global_modifier_value
|
130
|
-
s.notify "Register Global Modifier"
|
131
|
-
s.add_total_modifier global_modifier_value.to_f
|
132
|
-
end
|
136
|
+
# if global_modifier_value = bill.global_modifier_value
|
137
|
+
# s.notify "Register Global Modifier"
|
138
|
+
# s.add_total_modifier global_modifier_value.to_f
|
139
|
+
# end
|
133
140
|
s.notify "Register Payment"
|
134
141
|
bill.payments.each do |payment|
|
135
142
|
s.add_payment payment.value.to_f, payment.find_payment_type_mapping_for(self)
|
@@ -224,7 +224,7 @@ module Extface
|
|
224
224
|
end
|
225
225
|
elsif !resp.ack?
|
226
226
|
invalid_frames += 1
|
227
|
-
if
|
227
|
+
if invalid_frames > INVALID_FRAME_RETRIES
|
228
228
|
errors.add :base, "#{INVALID_FRAME_RETRIES} Broken Packets Received. Abort!"
|
229
229
|
break
|
230
230
|
end
|
@@ -256,7 +256,7 @@ module Extface
|
|
256
256
|
data << ("%.2f" % item.price)
|
257
257
|
data << "*#{item.qty.to_s}" unless item.qty.blank?
|
258
258
|
data << ",#{item.percent}" unless item.percent.blank?
|
259
|
-
data << "$#{neto}" unless item.neto.blank?
|
259
|
+
data << "$#{'%.2f' % item.neto}" unless item.neto.blank?
|
260
260
|
end
|
261
261
|
end
|
262
262
|
|
@@ -283,7 +283,7 @@ module Extface
|
|
283
283
|
errors.add :base, "Fiscal Device General Error" unless (status[0].ord & 0x20).zero?
|
284
284
|
errors.add :base, "Invalid Command" unless (status[0].ord & 0x02).zero?
|
285
285
|
errors.add :base, "Date & Time Not Set" unless (status[0].ord & 0x04).zero?
|
286
|
-
errors.add :base, "Syntax Error" unless (status[0].ord &
|
286
|
+
errors.add :base, "Syntax Error" unless (status[0].ord & 0x01).zero?
|
287
287
|
|
288
288
|
errors.add :base, "Wrong Password" unless (status[1].ord & 0x40).zero?
|
289
289
|
errors.add :base, "Cutter Error" unless (status[1].ord & 0x20).zero?
|
@@ -10,7 +10,8 @@ module Extface
|
|
10
10
|
include Extface::Driver::Datecs::CommandsV1
|
11
11
|
|
12
12
|
def handle(buffer)
|
13
|
-
if i = buffer.index(/[\x03\x16\x15]/) # find position of frame possible delimiter
|
13
|
+
#if i = buffer.index(/[\x03\x16\x15]/) # find position of frame possible delimiter
|
14
|
+
if i = buffer.index("\x03") || buffer.index("\x16") || buffer.index("\x15")
|
14
15
|
rpush buffer[0..i] # this will make data available for #pull(timeout) method
|
15
16
|
return i+1 # return number of bytes processed
|
16
17
|
end
|
@@ -165,7 +166,7 @@ module Extface
|
|
165
166
|
end
|
166
167
|
elsif !resp.ack?
|
167
168
|
invalid_frames += 1
|
168
|
-
if
|
169
|
+
if invalid_frames > INVALID_FRAME_RETRIES
|
169
170
|
errors.add :base, "#{INVALID_FRAME_RETRIES} Broken Packets Received. Abort!"
|
170
171
|
break
|
171
172
|
end
|
@@ -211,7 +212,7 @@ module Extface
|
|
211
212
|
errors.add :base, "Fiscal Device General Error" unless (status_0 & 0x20).zero?
|
212
213
|
errors.add :base, "Invalid Command" unless (status_0 & 0x02).zero?
|
213
214
|
errors.add :base, "Date & Time Not Set" unless (status_0 & 0x04).zero?
|
214
|
-
errors.add :base, "Syntax Error" unless (status_0 &
|
215
|
+
errors.add :base, "Syntax Error" unless (status_0 & 0x01).zero?
|
215
216
|
status_1 = status[1].ord
|
216
217
|
errors.add :base, "Unpermitted Command In This Mode" unless (status_1 & 0x02).zero?
|
217
218
|
errors.add :base, "Field Overflow" unless (status_1 & 0x01).zero?
|
@@ -230,7 +231,7 @@ module Extface
|
|
230
231
|
include ActiveModel::Validations
|
231
232
|
attr_reader :frame, :len, :seq, :cmd, :data, :status, :bcc
|
232
233
|
|
233
|
-
validates_presence_of :frame
|
234
|
+
validates_presence_of :frame#, unless: :unpacked?
|
234
235
|
validate :bcc_validation
|
235
236
|
validate :len_validation
|
236
237
|
|
@@ -252,6 +253,19 @@ module Extface
|
|
252
253
|
def nak?; !!@nak; end #should retry command with same seq
|
253
254
|
|
254
255
|
private
|
256
|
+
def build_sale_data(item)
|
257
|
+
"".tap() do |data|
|
258
|
+
data << item.text1 unless item.text1.blank?
|
259
|
+
data << "\x0a#{text2}" unless item.text2.blank?
|
260
|
+
data << "\t"
|
261
|
+
data << TAX_GROUPS_MAP[item.tax_group || 2]
|
262
|
+
data << ("%.2f" % item.price)
|
263
|
+
data << "*#{item.qty.to_s}" unless item.qty.blank?
|
264
|
+
data << ",#{item.percent}" unless item.percent.blank?
|
265
|
+
data << "$#{'%.2f' % item.neto}" unless item.neto.blank?
|
266
|
+
end
|
267
|
+
end
|
268
|
+
|
255
269
|
def unpacked? # is it packed or unpacked message?
|
256
270
|
@ack || @nak
|
257
271
|
end
|
data/lib/extface/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extface
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6b
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Vangelov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|