unipump 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/unipump +1 -1
- data/lib/unipump/version.rb +1 -1
- data/lib/unipump.rb +15 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70ddfc228cd9746dacb4d8d00a4f7cc66a3e2c6880e62a5dc2a4ed9b8aef4b26
|
4
|
+
data.tar.gz: 52e3a1838db7e54a52fb62b27439ef210943fce3d7a18b3615e48a405fb5a9fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35a18fdafddafdeb0ca76c5dedd89162c7934a9df88e62dfc0d0e655179184291bce1d326e9d79267d7f249c279dc117811bb11d436b7c2b0f1686f0ace1064d
|
7
|
+
data.tar.gz: '0907dbe7141953a1f694f035965d76d4a7509f40cccb6204ca4fa18aea5438b85b5f1a6b7014b07ff301caacd37931494a3e15dfc76d54010b6dd46b34d0e0a3'
|
data/exe/unipump
CHANGED
@@ -16,7 +16,7 @@ SPEC = %(
|
|
16
16
|
absent
|
17
17
|
|
18
18
|
-e,environment=ENV
|
19
|
-
Set the run-time environment to '
|
19
|
+
Set the run-time environment to 'prod' or 'test'. In the test
|
20
20
|
environment, data will be uploaded to the Uniconta test system and
|
21
21
|
TIMEREG_TEST is updated in the database instead of the TIMEREG table. The
|
22
22
|
default is 'test'
|
data/lib/unipump/version.rb
CHANGED
data/lib/unipump.rb
CHANGED
@@ -37,7 +37,7 @@ class Pump
|
|
37
37
|
|
38
38
|
# Environment-dependent constants
|
39
39
|
TEST_SYSTEM = "81470" # Uniconta test system ID
|
40
|
-
PROD_SYSTEM =
|
40
|
+
PROD_SYSTEM = "86837"
|
41
41
|
TEST_TIMEREG_TABLE = "tidsreg_test"
|
42
42
|
PROD_TIMEREG_TABLE = "tidsreg"
|
43
43
|
TEST_FAKTURALINIE_VIEW = "v_fakturalinie_test"
|
@@ -66,9 +66,9 @@ class Pump
|
|
66
66
|
def tidsreg_table = (environment == "prod" ? PROD_TIMEREG_TABLE : TEST_TIMEREG_TABLE)
|
67
67
|
def fakturalinie_view = (environment == "prod" ? PROD_FAKTURALINIE_VIEW : TEST_FAKTURALINIE_VIEW)
|
68
68
|
def root_url = "https://odata.uniconta.com/api/Entities/#{system}"
|
69
|
-
def order_list_url = "#{root_url}/
|
70
|
-
def insert_order_list_url = "#{root_url}/InsertList/
|
71
|
-
def insert_order_line_list_url = "#{root_url}/InsertList/
|
69
|
+
def order_list_url = "#{root_url}/DebtorOrderClientUser"
|
70
|
+
def insert_order_list_url = "#{root_url}/InsertList/DebtorOrderClientUser"
|
71
|
+
def insert_order_line_list_url = "#{root_url}/InsertList/DebtorOrderLineClientUser"
|
72
72
|
|
73
73
|
def initialize(
|
74
74
|
username, password, environment,
|
@@ -177,14 +177,13 @@ class Pump
|
|
177
177
|
# that we may recover from a database failure after the order lines
|
178
178
|
# have been uploaded
|
179
179
|
tidsreg_keys = conn.records %(
|
180
|
-
select
|
180
|
+
select distinct
|
181
181
|
meid,
|
182
182
|
said,
|
183
183
|
acid,
|
184
184
|
dato
|
185
185
|
from #{fakturalinie_view}
|
186
186
|
where #{line_constraint}
|
187
|
-
order by sagsnummer
|
188
187
|
)
|
189
188
|
|
190
189
|
# Save tidsreg keys to disk
|
@@ -213,7 +212,7 @@ class Pump
|
|
213
212
|
emit " #{order.ordrenummer} (#{order.sagsnummer}) #{order_lines.size} items"
|
214
213
|
|
215
214
|
# Create json object for HTTP
|
216
|
-
json = format_order_line(order, order_lines)
|
215
|
+
json = format_order_line(order, order_lines, end_date)
|
217
216
|
|
218
217
|
# Transfer JSON document. Note that HTTP redirects are not supported
|
219
218
|
# (yet)
|
@@ -264,7 +263,6 @@ private
|
|
264
263
|
end
|
265
264
|
|
266
265
|
def upload_json(url, json) # ChatGPT
|
267
|
-
return
|
268
266
|
# Write to json log
|
269
267
|
File.open(jlog, "a") { |f| f.puts json } if jlog
|
270
268
|
|
@@ -374,10 +372,11 @@ private
|
|
374
372
|
" }" + curr_comma
|
375
373
|
end
|
376
374
|
|
377
|
-
def format_blank_line(out, ordrenummer)
|
375
|
+
def format_blank_line(out, ordrenummer, end_date)
|
378
376
|
format_fields(
|
379
377
|
out,
|
380
378
|
"OrderNumber" => ordrenummer,
|
379
|
+
"PumpDate" => "#{end_date}T12:00:00",
|
381
380
|
"Text" => ""
|
382
381
|
)
|
383
382
|
end
|
@@ -397,7 +396,7 @@ private
|
|
397
396
|
out.string
|
398
397
|
end
|
399
398
|
|
400
|
-
def format_order_line(order, order_lines)
|
399
|
+
def format_order_line(order, order_lines, end_date)
|
401
400
|
@curr_comma = ","
|
402
401
|
out = StringIO.new
|
403
402
|
out.puts "["
|
@@ -405,31 +404,30 @@ private
|
|
405
404
|
prev_rolle = nil
|
406
405
|
prev_maaned = nil
|
407
406
|
for order_line in order_lines
|
407
|
+
# header
|
408
408
|
if prev_rolle != order_line.rolle || prev_maaned != order_line.maaned
|
409
|
-
format_blank_line(out, order_line.ordrenummer.to_i) if !prev_rolle.nil? && !prev_maaned.nil?
|
409
|
+
format_blank_line(out, order_line.ordrenummer.to_i, end_date) if !prev_rolle.nil? && !prev_maaned.nil?
|
410
410
|
format_fields(out,
|
411
411
|
"OrderNumber" => order_line.ordrenummer.to_i,
|
412
|
+
"PumpDate" => "#{end_date}T12:00:00",
|
412
413
|
"Text" => order_line.rolle)
|
413
414
|
prev_rolle = order_line.rolle
|
414
415
|
prev_maaned = order_line.maaned
|
415
416
|
end
|
417
|
+
# body
|
416
418
|
format_fields(out,
|
417
419
|
"OrderNumber" => order_line.ordrenummer.to_i,
|
420
|
+
"PumpDate" => "#{end_date}T12:00:00",
|
418
421
|
"Text" => " #{order_line.tekst}",
|
419
422
|
"Item" => order_line.ydelse,
|
420
423
|
"Qty" => order_line.antal,
|
421
424
|
"Price" => order_line.pris)
|
422
425
|
end
|
423
426
|
@curr_comma = ""
|
424
|
-
format_blank_line(out, order_line.ordrenummer.to_i)
|
427
|
+
format_blank_line(out, order_line.ordrenummer.to_i, end_date)
|
425
428
|
}
|
426
429
|
out.puts "]"
|
427
430
|
out.string
|
428
431
|
end
|
429
432
|
end
|
430
433
|
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unipump
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claus Rasmussen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-04-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tiny_tds
|